|
|
1.1 root 1: %{
2: #ifndef lint
3: static char sccsid[] = "@(#)scanner.l 4.2 (Berkeley) 7/7/83";
4: #endif
5:
6: #include "Courier.h"
7: #include "y.tab.h"
8: %}
9:
10: %%
11:
12: --.*\n ;
13: [ \t\n] ;
14: ARRAY { return (ARRAY); }
15: BEGIN { return (_BEGIN); }
16: BOOLEAN { return (BOOLEAN); }
17: CARDINAL { return (CARDINAL); }
18: CHOICE { return (CHOICE); }
19: DEPENDS { return (DEPENDS); }
20: END { return (END); }
21: ERROR { return (ERROR); }
22: INTEGER { return (INTEGER); }
23: LONG { return (LONG); }
24: OF { return (OF); }
25: PROCEDURE { return (PROCEDURE); }
26: PROGRAM { return (PROGRAM); }
27: RECORD { return (RECORD); }
28: REPORTS { return (REPORTS); }
29: RETURNS { return (RETURNS); }
30: SEQUENCE { return (SEQUENCE); }
31: STRING { return (STRING); }
32: TYPE { return (TYPE); }
33: UNSPECIFIED { return (UNSPECIFIED); }
34: UPON { return (UPON); }
35: VERSION { return (VERSION); }
36:
37: -?[0-9]+ {
38: /*
39: * Only decimal numbers are supported.
40: */
41: yylval.object = make(O_CONSTANT, atoi(yytext));
42: return (number);
43: }
44:
45: [a-zA-Z_][a-zA-Z0-9_]* {
46: yylval.object = make(O_SYMBOL, yytext);
47: return (identifier);
48: }
49:
50: . {
51: return ((int) yytext[0]);
52: }
53:
54: %%
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.