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