xref: /csrg-svn/old/htable/scan.l (revision 18111)
18735Ssam %{
28735Ssam #ifndef lint
3*18111Sralph static char sccsid[] = "@(#)scan.l	4.2 (Berkeley) 02/25/85";
48735Ssam #endif
58735Ssam 
68735Ssam #include "y.tab.h"
78735Ssam #include "htable.h"
88735Ssam %}
98735Ssam 
108735Ssam BLANK	[ \t]
118735Ssam DIGIT	[0-9]
128735Ssam ALPHA	[A-Z]
138735Ssam ANUM	[0-9A-Z]
148735Ssam NAMECHR	[0-9A-Z./-]
158735Ssam 
168735Ssam %%
178735Ssam "NET"		{
188735Ssam 			yylval.number = KW_NET;
198735Ssam 			return (KEYWORD);
208735Ssam 		}
218735Ssam 
228735Ssam "GATEWAY"	{
238735Ssam 			yylval.number = KW_GATEWAY;
248735Ssam 			return (KEYWORD);
258735Ssam 		}
268735Ssam 
278735Ssam "HOST"		{
288735Ssam 			yylval.number = KW_HOST;
298735Ssam 			return (KEYWORD);
308735Ssam 		}
318735Ssam 
328735Ssam {ALPHA}{NAMECHR}*{ANUM}	{
338735Ssam 			yylval.namelist = newname(yytext);
348735Ssam 			return (NAME);
358735Ssam 		}
368735Ssam 
37*18111Sralph {ALPHA}		{
38*18111Sralph 			yylval.namelist = newname(yytext);
39*18111Sralph 			return (NAME);
40*18111Sralph 		}
418735Ssam 
428735Ssam {DIGIT}+	{
438735Ssam 			yylval.number = atoi(yytext);
448735Ssam 			return (NUMBER);
458735Ssam 		}
468735Ssam 
478735Ssam "."		return ('.');
488735Ssam ":"		return (':');
498735Ssam ","		return (',');
508735Ssam "/"		return ('/');
518735Ssam ";".*		;
528735Ssam "\n"{BLANK}+	;
538735Ssam {BLANK}+	;
548735Ssam "\n"		return (END);
558735Ssam .		fprintf(stderr, "Illegal char: '%s'\n", yytext);
568735Ssam 
578735Ssam %%
588735Ssam 
598735Ssam yywrap()
608735Ssam {
618735Ssam 	return (1);
628735Ssam }
63