xref: /csrg-svn/old/htable/scan.l (revision 27090)
18735Ssam %{
221132Sdist /*
321132Sdist  * Copyright (c) 1983 Regents of the University of California.
421132Sdist  * All rights reserved.  The Berkeley software License Agreement
521132Sdist  * specifies the terms and conditions for redistribution.
621132Sdist  */
721132Sdist 
88735Ssam #ifndef lint
9*27090Skarels static char sccsid[] = "@(#)scan.l	5.3 (Berkeley) 04/16/86";
1021132Sdist #endif not lint
118735Ssam 
128735Ssam #include "y.tab.h"
138735Ssam #include "htable.h"
148735Ssam %}
158735Ssam 
168735Ssam BLANK	[ \t]
178735Ssam DIGIT	[0-9]
18*27090Skarels ALPHA	[A-Za-z]
19*27090Skarels ANUM	[0-9A-Za-z]
20*27090Skarels NAMECHR	[0-9A-Za-z./-]
218735Ssam 
228735Ssam %%
238735Ssam "NET"		{
248735Ssam 			yylval.number = KW_NET;
258735Ssam 			return (KEYWORD);
268735Ssam 		}
278735Ssam 
288735Ssam "GATEWAY"	{
298735Ssam 			yylval.number = KW_GATEWAY;
308735Ssam 			return (KEYWORD);
318735Ssam 		}
328735Ssam 
338735Ssam "HOST"		{
348735Ssam 			yylval.number = KW_HOST;
358735Ssam 			return (KEYWORD);
368735Ssam 		}
378735Ssam 
388735Ssam {ALPHA}{NAMECHR}*{ANUM}	{
398735Ssam 			yylval.namelist = newname(yytext);
408735Ssam 			return (NAME);
418735Ssam 		}
428735Ssam 
4318111Sralph {ALPHA}		{
4418111Sralph 			yylval.namelist = newname(yytext);
4518111Sralph 			return (NAME);
4618111Sralph 		}
478735Ssam 
488735Ssam {DIGIT}+	{
498735Ssam 			yylval.number = atoi(yytext);
508735Ssam 			return (NUMBER);
518735Ssam 		}
528735Ssam 
538735Ssam "."		return ('.');
548735Ssam ":"		return (':');
558735Ssam ","		return (',');
568735Ssam "/"		return ('/');
578735Ssam ";".*		;
588735Ssam "\n"{BLANK}+	;
598735Ssam {BLANK}+	;
608735Ssam "\n"		return (END);
618735Ssam .		fprintf(stderr, "Illegal char: '%s'\n", yytext);
628735Ssam 
638735Ssam %%
648735Ssam 
658735Ssam yywrap()
668735Ssam {
678735Ssam 	return (1);
688735Ssam }
69