diff options
Diffstat (limited to '12/main.l')
-rw-r--r-- | 12/main.l | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/12/main.l b/12/main.l new file mode 100644 index 0000000..2fa1b44 --- /dev/null +++ b/12/main.l | |||
@@ -0,0 +1,44 @@ | |||
1 | %{ | ||
2 | extern int yylval; | ||
3 | %} | ||
4 | |||
5 | %% | ||
6 | "void" return VOID; | ||
7 | "int" return INT; | ||
8 | "float" return FLOAT; | ||
9 | "double" return DOUBLE; | ||
10 | "char" return CHAR; | ||
11 | "unsigned" return UNSIGNED; | ||
12 | "long" return LONG; | ||
13 | "return" return RET; | ||
14 | "for" return FOR; | ||
15 | "if" return IF; | ||
16 | "else" return ELSE; | ||
17 | "," return COMMA; | ||
18 | "(" return LPAREN; | ||
19 | ")" return RPAREN; | ||
20 | "{" return LBRACE; | ||
21 | "}" return RBRACE; | ||
22 | ";" return ENDL; | ||
23 | "++" return INC; | ||
24 | "--" return DEC; | ||
25 | "+" return ADD; | ||
26 | "-" return SUB; | ||
27 | "*" return MUL; | ||
28 | "/" return DIV; | ||
29 | "=" return ASSIGN; | ||
30 | "==" return EQ; | ||
31 | "!=" return NEQ; | ||
32 | "<" return LT; | ||
33 | ">" return GT; | ||
34 | "<=" return LTE; | ||
35 | ">=" return GTE; | ||
36 | [a-zA-Z_][a-zA-Z_0-9]* return ID; | ||
37 | . ; | ||
38 | \n ; | ||
39 | <<EOF>> return 0; | ||
40 | %% | ||
41 | |||
42 | int yywrap() { | ||
43 | return 1; | ||
44 | } | ||