18735Ssam %{ 28735Ssam #ifndef lint 3*18111Sralph static char sccsid[] = "@(#)scan.l 4.2 (Berkeley) 02/25/85"; 48735Ssam #endif 58735Ssam 68735Ssam #include "y.tab.h" 78735Ssam #include "htable.h" 88735Ssam %} 98735Ssam 108735Ssam BLANK [ \t] 118735Ssam DIGIT [0-9] 128735Ssam ALPHA [A-Z] 138735Ssam ANUM [0-9A-Z] 148735Ssam NAMECHR [0-9A-Z./-] 158735Ssam 168735Ssam %% 178735Ssam "NET" { 188735Ssam yylval.number = KW_NET; 198735Ssam return (KEYWORD); 208735Ssam } 218735Ssam 228735Ssam "GATEWAY" { 238735Ssam yylval.number = KW_GATEWAY; 248735Ssam return (KEYWORD); 258735Ssam } 268735Ssam 278735Ssam "HOST" { 288735Ssam yylval.number = KW_HOST; 298735Ssam return (KEYWORD); 308735Ssam } 318735Ssam 328735Ssam {ALPHA}{NAMECHR}*{ANUM} { 338735Ssam yylval.namelist = newname(yytext); 348735Ssam return (NAME); 358735Ssam } 368735Ssam 37*18111Sralph {ALPHA} { 38*18111Sralph yylval.namelist = newname(yytext); 39*18111Sralph return (NAME); 40*18111Sralph } 418735Ssam 428735Ssam {DIGIT}+ { 438735Ssam yylval.number = atoi(yytext); 448735Ssam return (NUMBER); 458735Ssam } 468735Ssam 478735Ssam "." return ('.'); 488735Ssam ":" return (':'); 498735Ssam "," return (','); 508735Ssam "/" return ('/'); 518735Ssam ";".* ; 528735Ssam "\n"{BLANK}+ ; 538735Ssam {BLANK}+ ; 548735Ssam "\n" return (END); 558735Ssam . fprintf(stderr, "Illegal char: '%s'\n", yytext); 568735Ssam 578735Ssam %% 588735Ssam 598735Ssam yywrap() 608735Ssam { 618735Ssam return (1); 628735Ssam } 63