Commit | Line | Data |
---|---|---|
408c6ae3 | 1 | %{ |
528b0614 DF |
2 | /* |
3 | * Copyright (c) 1983 Regents of the University of California. | |
4 | * All rights reserved. The Berkeley software License Agreement | |
5 | * specifies the terms and conditions for redistribution. | |
6 | */ | |
7 | ||
8 | #ifndef lint | |
99973219 | 9 | static char sccsid[] = "@(#)scan.l 5.4 (Berkeley) %G%"; |
528b0614 | 10 | #endif not lint |
408c6ae3 SL |
11 | |
12 | #include "y.tab.h" | |
13 | #include "htable.h" | |
14 | %} | |
15 | ||
16 | BLANK [ \t] | |
17 | DIGIT [0-9] | |
1b346527 MK |
18 | ALPHA [A-Za-z] |
19 | ANUM [0-9A-Za-z] | |
20 | NAMECHR [0-9A-Za-z./-] | |
408c6ae3 SL |
21 | |
22 | %% | |
23 | "NET" { | |
24 | yylval.number = KW_NET; | |
25 | return (KEYWORD); | |
26 | } | |
27 | ||
28 | "GATEWAY" { | |
29 | yylval.number = KW_GATEWAY; | |
30 | return (KEYWORD); | |
31 | } | |
32 | ||
33 | "HOST" { | |
34 | yylval.number = KW_HOST; | |
35 | return (KEYWORD); | |
36 | } | |
37 | ||
38 | {ALPHA}{NAMECHR}*{ANUM} { | |
39 | yylval.namelist = newname(yytext); | |
40 | return (NAME); | |
41 | } | |
42 | ||
295f3778 RC |
43 | {ALPHA} { |
44 | yylval.namelist = newname(yytext); | |
45 | return (NAME); | |
46 | } | |
408c6ae3 | 47 | |
99973219 MK |
48 | {DIGIT}+{ALPHA}{NAMECHR}* { |
49 | fprintf(stderr, "Warning: nonstandard name \"%s\"\n", | |
50 | yytext); | |
51 | yylval.namelist = newname(yytext); | |
52 | return (NAME); | |
53 | } | |
54 | ||
408c6ae3 SL |
55 | {DIGIT}+ { |
56 | yylval.number = atoi(yytext); | |
57 | return (NUMBER); | |
58 | } | |
59 | ||
60 | "." return ('.'); | |
61 | ":" return (':'); | |
62 | "," return (','); | |
63 | "/" return ('/'); | |
64 | ";".* ; | |
65 | "\n"{BLANK}+ ; | |
66 | {BLANK}+ ; | |
67 | "\n" return (END); | |
68 | . fprintf(stderr, "Illegal char: '%s'\n", yytext); | |
69 | ||
70 | %% | |
71 | ||
72 | yywrap() | |
73 | { | |
74 | return (1); | |
75 | } |