Mercurial > vba-clojure
comparison src/sdl/expr.l @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 %{ | |
2 #include "expr.cpp.h" | |
3 | |
4 #ifndef __GNUC__ | |
5 #include <io.h> | |
6 #define isatty _isatty | |
7 #endif | |
8 | |
9 char *exprString; | |
10 int exprCol; | |
11 | |
12 #define YY_INPUT(buf,result,max_size) \ | |
13 { \ | |
14 int c = *exprString++; \ | |
15 exprCol++;\ | |
16 result = (c == 0) ? YY_NULL : (buf[0] = c, 1); \ | |
17 } | |
18 %} | |
19 | |
20 %option nomain | |
21 %option noyywrap | |
22 | |
23 SIZEOF "sizeof" | |
24 ID [a-zA-Z_][a-zA-Z0-9_]* | |
25 NUM [0-9]+ | |
26 DOT "." | |
27 ARROW "->" | |
28 STAR "*" | |
29 ADDR "&" | |
30 | |
31 %% | |
32 | |
33 {SIZEOF} { | |
34 return TOKEN_SIZEOF; | |
35 } | |
36 | |
37 {ID} { | |
38 return TOKEN_IDENTIFIER; | |
39 } | |
40 | |
41 {NUM} { | |
42 return TOKEN_NUMBER; | |
43 } | |
44 | |
45 {DOT} { | |
46 return TOKEN_DOT; | |
47 } | |
48 | |
49 {ARROW} { | |
50 return TOKEN_ARROW; | |
51 } | |
52 | |
53 {ADDR} { | |
54 return TOKEN_ADDR; | |
55 } | |
56 | |
57 {STAR} { | |
58 return TOKEN_STAR; | |
59 } | |
60 | |
61 [ \t\n]+ | |
62 | |
63 . return *yytext; | |
64 | |
65 %% | |
66 | |
67 void exprCleanBuffer() | |
68 { | |
69 yy_delete_buffer(yy_current_buffer); | |
70 yy_init = 1; | |
71 } |