18735Ssam %{ 2*48346Sbostic /*- 3*48346Sbostic * Copyright (c) 1983 The Regents of the University of California. 433538Sbostic * All rights reserved. 533538Sbostic * 6*48346Sbostic * %sccs.include.redist.c% 721132Sdist */ 821132Sdist 98735Ssam #ifndef lint 10*48346Sbostic static char sccsid[] = "@(#)scan.l 5.8 (Berkeley) 04/19/91"; 1133538Sbostic #endif /* not lint */ 128735Ssam 1343883Sbostic extern int yylineno; 1443883Sbostic int yylineno = 1; 1543883Sbostic 168735Ssam #include "y.tab.h" 178735Ssam #include "htable.h" 188735Ssam %} 198735Ssam 208735Ssam BLANK [ \t] 218735Ssam DIGIT [0-9] 2227090Skarels ALPHA [A-Za-z] 2327090Skarels ANUM [0-9A-Za-z] 2427090Skarels NAMECHR [0-9A-Za-z./-] 258735Ssam 268735Ssam %% 278735Ssam "NET" { 288735Ssam yylval.number = KW_NET; 298735Ssam return (KEYWORD); 308735Ssam } 318735Ssam 328735Ssam "GATEWAY" { 338735Ssam yylval.number = KW_GATEWAY; 348735Ssam return (KEYWORD); 358735Ssam } 368735Ssam 378735Ssam "HOST" { 388735Ssam yylval.number = KW_HOST; 398735Ssam return (KEYWORD); 408735Ssam } 418735Ssam 428735Ssam {ALPHA}{NAMECHR}*{ANUM} { 438735Ssam yylval.namelist = newname(yytext); 448735Ssam return (NAME); 458735Ssam } 468735Ssam 4718111Sralph {ALPHA} { 4818111Sralph yylval.namelist = newname(yytext); 4918111Sralph return (NAME); 5018111Sralph } 518735Ssam 5227189Skarels {DIGIT}+{ALPHA}{NAMECHR}* { 5327189Skarels fprintf(stderr, "Warning: nonstandard name \"%s\"\n", 5427189Skarels yytext); 5527189Skarels yylval.namelist = newname(yytext); 5627189Skarels return (NAME); 5727189Skarels } 5827189Skarels 598735Ssam {DIGIT}+ { 608735Ssam yylval.number = atoi(yytext); 618735Ssam return (NUMBER); 628735Ssam } 638735Ssam 648735Ssam "." return ('.'); 658735Ssam ":" return (':'); 668735Ssam "," return (','); 678735Ssam "/" return ('/'); 688735Ssam ";".* ; 6943883Sbostic "\n"{BLANK}+ ++yylineno; 708735Ssam {BLANK}+ ; 7143883Sbostic "\n" ++yylineno; return (END); 728735Ssam . fprintf(stderr, "Illegal char: '%s'\n", yytext); 738735Ssam 748735Ssam %% 75