1 %{ 2 /* 3 * Copyright (c) 1983 Regents of the University of California. 4 * All rights reserved. The Berkeley software License Agreement 5 * specifies the terms and conditions for redistribution. 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)scan.l 5.2 (Berkeley) 06/21/85"; 10 #endif not lint 11 12 #include "y.tab.h" 13 #include "htable.h" 14 %} 15 16 BLANK [ \t] 17 DIGIT [0-9] 18 ALPHA [A-Z] 19 ANUM [0-9A-Z] 20 NAMECHR [0-9A-Z./-] 21 22 %% 23 "NET" { 24 yylval.number = KW_NET; 25 return (KEYWORD); 26 } 27 28 "GATEWAY" { 29 yylval.number = KW_GATEWAY; 30 return (KEYWORD); 31 } 32 33 "HOST" { 34 yylval.number = KW_HOST; 35 return (KEYWORD); 36 } 37 38 {ALPHA}{NAMECHR}*{ANUM} { 39 yylval.namelist = newname(yytext); 40 return (NAME); 41 } 42 43 {ALPHA} { 44 yylval.namelist = newname(yytext); 45 return (NAME); 46 } 47 48 {DIGIT}+ { 49 yylval.number = atoi(yytext); 50 return (NUMBER); 51 } 52 53 "." return ('.'); 54 ":" return (':'); 55 "," return (','); 56 "/" return ('/'); 57 ";".* ; 58 "\n"{BLANK}+ ; 59 {BLANK}+ ; 60 "\n" return (END); 61 . fprintf(stderr, "Illegal char: '%s'\n", yytext); 62 63 %% 64 65 yywrap() 66 { 67 return (1); 68 } 69