|
|
1.1 root 1: %{
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
9: static char sccsid[] = "@(#)scan.l 5.4 (Berkeley) 4/19/86";
10: #endif not lint
11:
12: #include "y.tab.h"
13: #include "htable.h"
14: %}
15:
16: BLANK [ \t]
17: DIGIT [0-9]
18: ALPHA [A-Za-z]
19: ANUM [0-9A-Za-z]
20: NAMECHR [0-9A-Za-z./-]
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:
43: {ALPHA} {
44: yylval.namelist = newname(yytext);
45: return (NAME);
46: }
47:
48: {DIGIT}+{ALPHA}{NAMECHR}* {
49: fprintf(stderr, "Warning: nonstandard name \"%s\"\n",
50: yytext);
51: yylval.namelist = newname(yytext);
52: return (NAME);
53: }
54:
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.