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