18735Ssam %{ 2*21132Sdist /* 3*21132Sdist * Copyright (c) 1983 Regents of the University of California. 4*21132Sdist * All rights reserved. The Berkeley software License Agreement 5*21132Sdist * specifies the terms and conditions for redistribution. 6*21132Sdist */ 7*21132Sdist 88735Ssam #ifndef lint 9*21132Sdist char copyright[] = 10*21132Sdist "@(#) Copyright (c) 1983 Regents of the University of California.\n\ 11*21132Sdist All rights reserved.\n"; 12*21132Sdist #endif not lint 138735Ssam 14*21132Sdist #ifndef lint 15*21132Sdist static char sccsid[] = "@(#)scan.l 5.1 (Berkeley) 05/28/85"; 16*21132Sdist #endif not lint 17*21132Sdist 188735Ssam #include "y.tab.h" 198735Ssam #include "htable.h" 208735Ssam %} 218735Ssam 228735Ssam BLANK [ \t] 238735Ssam DIGIT [0-9] 248735Ssam ALPHA [A-Z] 258735Ssam ANUM [0-9A-Z] 268735Ssam NAMECHR [0-9A-Z./-] 278735Ssam 288735Ssam %% 298735Ssam "NET" { 308735Ssam yylval.number = KW_NET; 318735Ssam return (KEYWORD); 328735Ssam } 338735Ssam 348735Ssam "GATEWAY" { 358735Ssam yylval.number = KW_GATEWAY; 368735Ssam return (KEYWORD); 378735Ssam } 388735Ssam 398735Ssam "HOST" { 408735Ssam yylval.number = KW_HOST; 418735Ssam return (KEYWORD); 428735Ssam } 438735Ssam 448735Ssam {ALPHA}{NAMECHR}*{ANUM} { 458735Ssam yylval.namelist = newname(yytext); 468735Ssam return (NAME); 478735Ssam } 488735Ssam 4918111Sralph {ALPHA} { 5018111Sralph yylval.namelist = newname(yytext); 5118111Sralph return (NAME); 5218111Sralph } 538735Ssam 548735Ssam {DIGIT}+ { 558735Ssam yylval.number = atoi(yytext); 568735Ssam return (NUMBER); 578735Ssam } 588735Ssam 598735Ssam "." return ('.'); 608735Ssam ":" return (':'); 618735Ssam "," return (','); 628735Ssam "/" return ('/'); 638735Ssam ";".* ; 648735Ssam "\n"{BLANK}+ ; 658735Ssam {BLANK}+ ; 668735Ssam "\n" return (END); 678735Ssam . fprintf(stderr, "Illegal char: '%s'\n", yytext); 688735Ssam 698735Ssam %% 708735Ssam 718735Ssam yywrap() 728735Ssam { 738735Ssam return (1); 748735Ssam } 75