xref: /original-bsd/old/htable/scan.l (revision 264c46cb)
1 %{
2 #ifndef lint
3 static char sccsid[] = "@(#)scan.l	4.1 (Berkeley) 10/20/82";
4 #endif
5 
6 #include "y.tab.h"
7 #include "htable.h"
8 %}
9 
10 BLANK	[ \t]
11 DIGIT	[0-9]
12 ALPHA	[A-Z]
13 ANUM	[0-9A-Z]
14 NAMECHR	[0-9A-Z./-]
15 
16 %%
17 "NET"		{
18 			yylval.number = KW_NET;
19 			return (KEYWORD);
20 		}
21 
22 "GATEWAY"	{
23 			yylval.number = KW_GATEWAY;
24 			return (KEYWORD);
25 		}
26 
27 "HOST"		{
28 			yylval.number = KW_HOST;
29 			return (KEYWORD);
30 		}
31 
32 {ALPHA}{NAMECHR}*{ANUM}	{
33 			yylval.namelist = newname(yytext);
34 			return (NAME);
35 		}
36 
37 {ALPHA}		return (NAME);
38 
39 {DIGIT}+	{
40 			yylval.number = atoi(yytext);
41 			return (NUMBER);
42 		}
43 
44 "."		return ('.');
45 ":"		return (':');
46 ","		return (',');
47 "/"		return ('/');
48 ";".*		;
49 "\n"{BLANK}+	;
50 {BLANK}+	;
51 "\n"		return (END);
52 .		fprintf(stderr, "Illegal char: '%s'\n", yytext);
53 
54 %%
55 
56 yywrap()
57 {
58 	return (1);
59 }
60