|
|
1.1 root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.