home *** CD-ROM | disk | FTP | other *** search
Lex Description | 1988-01-31 | 1.7 KB | 93 lines |
- %{
- /* $Header: scanner.l,v 1.3 85/04/08 09:59:35 scooter Exp $ */
-
- #include "y.tab.h"
-
- #undef input
- #undef output
- #undef unput
- #define allprint(c) (putchar(c))
- #define sprint(str) (printf("%s",str))
- #define output(c) (putchar(c))
- #define input() (yytchar=yysptr>yysbuf?U(*--yysptr):getnextchar())
- #define unput(c) (*yysptr++=(c))
- #define yywrap() 1
-
- %}
-
- star \*
- dash \-
- filesys \/[0-9a-zA-Z/]*
- slash \/
- space [ \t]
- nu [0-9][0-9]*
- arb [a-zA-Z]*
- string \"[^"]*\"
- comm \#.*
- quote \"
- comma \,
- newline [\n]
- a [aA]
- b [bB]
- c [cC]
- d [dD]
- e [eE]
- f [fF]
- g [gG]
- h [hH]
- i [iI]
- j [jJ]
- k [kK]
- l [lL]
- m [mM]
- n [nN]
- o [oO]
- p [pP]
- q [qQ]
- r [rR]
- s [sS]
- t [tT]
- u [uU]
- v [vV]
- w [wW]
- x [xX]
- y [yY]
- z [zZ]
-
- %%
-
- {comm}{arb} {return(COMMENT);}
- {string} {strcpy(string,yytext);return(STRING);}
- {star}{space} {yylval=0;return(STAR);}
-
- {nu} {sscanf(yytext,"%d",&yylval);
- return(NUM);}
- {dash} {return(DASH);}
-
- {s}{u}{n}{arb} {yylval=0;return(DAY);}
- {m}{o}{n}{arb} {yylval=1;return(DAY);}
- {t}{u}{e}{arb} {yylval=2;return(DAY);}
- {w}{e}{d}{arb} {yylval=3;return(DAY);}
- {t}{h}{u}{arb} {yylval=4;return(DAY);}
- {f}{r}{i}{arb} {yylval=5;return(DAY);}
- {s}{a}{t}{arb} {yylval=6;return(DAY);}
-
- {j}{a}{n}{arb} {yylval=0;return(MONTH);}
- {f}{e}{b}{arb} {yylval=1;return(MONTH);}
- {m}{a}{r}{arb} {yylval=2;return(MONTH);}
- {a}{p}{r}{arb} {yylval=3;return(MONTH);}
- {m}{a}{y}{arb} {yylval=4;return(MONTH);}
- {j}{u}{n}{arb} {yylval=5;return(MONTH);}
- {j}{u}{l}{arb} {yylval=6;return(MONTH);}
- {a}{u}{g}{arb} {yylval=7;return(MONTH);}
- {s}{e}{p}{arb} {yylval=8;return(MONTH);}
- {o}{c}{t}{arb} {yylval=9;return(MONTH);}
- {n}{o}{v}{arb} {yylval=10;return(MONTH);}
- {d}{e}{c}{arb} {yylval=11;return(MONTH);}
-
- {filesys} {return(FILESYS);}
- {newline} {return(NEWLINE);}
- {comma} {return(COMMA);}
-
- [ \t,] ;
-