]> git.kianting.info Git - uann/blob - ocaml_yacc/lexer.ml
6f9f5bb9b1bfd322ea0e25c65f7bcae7f8752a8c
[uann] / ocaml_yacc / lexer.ml
1 # 2 "lexer.mll"
2
3 open Parser(* The type token is defined in parser.mli *)
4 exception Eof
5
6 # 7 "lexer.ml"
7 let __ocaml_lex_tables = {
8 Lexing.lex_base =
9 "\000\000\240\255\000\000\244\255\245\255\246\255\247\255\001\000\
10 \249\255\075\000\085\000\160\000\254\255\255\255\235\000\054\001\
11 \243\255\242\255";
12 Lexing.lex_backtrk =
13 "\255\255\255\255\014\000\255\255\255\255\255\255\255\255\007\000\
14 \255\255\005\000\003\000\003\000\255\255\255\255\004\000\002\000\
15 \255\255\255\255";
16 Lexing.lex_default =
17 "\255\255\000\000\255\255\000\000\000\000\000\000\000\000\255\255\
18 \000\000\255\255\255\255\255\255\000\000\000\000\255\255\255\255\
19 \000\000\000\000";
20 Lexing.lex_trans =
21 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
22 \000\000\013\000\012\000\000\000\000\000\000\000\000\000\000\000\
23 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
24 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
25 \013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
26 \004\000\003\000\006\000\008\000\000\000\007\000\000\000\005\000\
27 \009\000\009\000\009\000\009\000\009\000\009\000\009\000\009\000\
28 \009\000\009\000\000\000\000\000\000\000\002\000\017\000\016\000\
29 \000\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
30 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
31 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
32 \010\000\010\000\010\000\000\000\000\000\000\000\000\000\010\000\
33 \000\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
34 \010\000\011\000\010\000\010\000\010\000\010\000\010\000\010\000\
35 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
36 \010\000\010\000\010\000\009\000\009\000\009\000\009\000\009\000\
37 \009\000\009\000\009\000\009\000\009\000\014\000\014\000\014\000\
38 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\000\000\
39 \000\000\000\000\000\000\000\000\000\000\000\000\014\000\014\000\
40 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
41 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
42 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
43 \000\000\000\000\000\000\000\000\014\000\000\000\014\000\014\000\
44 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
45 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
46 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
47 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
48 \014\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\
49 \000\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
50 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
51 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
52 \014\000\014\000\014\000\000\000\000\000\000\000\000\000\014\000\
53 \001\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
54 \014\000\014\000\014\000\014\000\014\000\014\000\015\000\014\000\
55 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
56 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
57 \014\000\014\000\014\000\014\000\014\000\000\000\000\000\000\000\
58 \000\000\000\000\000\000\000\000\014\000\014\000\014\000\014\000\
59 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
60 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
61 \014\000\014\000\014\000\014\000\014\000\014\000\000\000\000\000\
62 \000\000\000\000\014\000\000\000\014\000\014\000\014\000\014\000\
63 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
64 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
65 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
66 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
67 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\000\
68 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
69 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
70 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
71 \014\000\000\000\000\000\000\000\000\000\014\000\000\000\014\000\
72 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
73 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
74 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
75 \014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
76 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
77 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
78 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
79 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
80 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
81 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
82 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
83 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
84 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
85 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
86 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
87 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
88 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
89 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
90 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
91 \000\000\000\000\000\000\000\000\000\000\000\000\000\000";
92 Lexing.lex_check =
93 "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
94 \255\255\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
95 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
96 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
97 \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
98 \000\000\000\000\000\000\000\000\255\255\000\000\255\255\000\000\
99 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
100 \000\000\000\000\255\255\255\255\255\255\000\000\002\000\007\000\
101 \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
102 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
103 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
104 \000\000\000\000\000\000\255\255\255\255\255\255\255\255\000\000\
105 \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
106 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
107 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
108 \000\000\000\000\000\000\009\000\009\000\009\000\009\000\009\000\
109 \009\000\009\000\009\000\009\000\009\000\010\000\010\000\010\000\
110 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\255\255\
111 \255\255\255\255\255\255\255\255\255\255\255\255\010\000\010\000\
112 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
113 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
114 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
115 \255\255\255\255\255\255\255\255\010\000\255\255\010\000\010\000\
116 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
117 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
118 \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
119 \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
120 \011\000\011\000\255\255\255\255\255\255\255\255\255\255\255\255\
121 \255\255\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
122 \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
123 \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
124 \011\000\011\000\011\000\255\255\255\255\255\255\255\255\011\000\
125 \000\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
126 \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
127 \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
128 \011\000\011\000\011\000\014\000\014\000\014\000\014\000\014\000\
129 \014\000\014\000\014\000\014\000\014\000\255\255\255\255\255\255\
130 \255\255\255\255\255\255\255\255\014\000\014\000\014\000\014\000\
131 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
132 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
133 \014\000\014\000\014\000\014\000\014\000\014\000\255\255\255\255\
134 \255\255\255\255\014\000\255\255\014\000\014\000\014\000\014\000\
135 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
136 \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
137 \014\000\014\000\014\000\014\000\014\000\014\000\015\000\015\000\
138 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
139 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\015\000\
140 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
141 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
142 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
143 \015\000\255\255\255\255\255\255\255\255\015\000\255\255\015\000\
144 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
145 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
146 \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
147 \015\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
148 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
149 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
150 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
151 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
152 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
153 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
154 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
155 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
156 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
157 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
158 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
159 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
160 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
161 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
162 \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
163 \255\255\255\255\255\255\255\255\255\255\255\255\255\255";
164 Lexing.lex_base_code =
165 "";
166 Lexing.lex_backtrk_code =
167 "";
168 Lexing.lex_default_code =
169 "";
170 Lexing.lex_trans_code =
171 "";
172 Lexing.lex_check_code =
173 "";
174 Lexing.lex_code =
175 "";
176 }
177
178 let rec token lexbuf =
179 __ocaml_lex_token_rec lexbuf 0
180 and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =
181 match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
182 | 0 ->
183 # 7 "lexer.mll"
184 ( token lexbuf )
185 # 186 "lexer.ml"
186
187 | 1 ->
188 # 8 "lexer.mll"
189 ( EOL )
190 # 191 "lexer.ml"
191
192 | 2 ->
193 # 9 "lexer.mll"
194 ( IN )
195 # 196 "lexer.ml"
196
197 | 3 ->
198 let
199 # 10 "lexer.mll"
200 lxm
201 # 202 "lexer.ml"
202 = Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in
203 # 10 "lexer.mll"
204 ( ID((String.make 1 lxm)) )
205 # 206 "lexer.ml"
206
207 | 4 ->
208 let
209 # 11 "lexer.mll"
210 lxm
211 # 212 "lexer.ml"
212 = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
213 # 11 "lexer.mll"
214 ( ID(lxm) )
215 # 216 "lexer.ml"
216
217 | 5 ->
218 let
219 # 12 "lexer.mll"
220 lxm
221 # 222 "lexer.ml"
222 = Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
223 # 12 "lexer.mll"
224 ( INT(lxm) )
225 # 226 "lexer.ml"
226
227 | 6 ->
228 # 13 "lexer.mll"
229 ( PLUS )
230 # 231 "lexer.ml"
231
232 | 7 ->
233 # 14 "lexer.mll"
234 ( MINUS )
235 # 236 "lexer.ml"
236
237 | 8 ->
238 # 15 "lexer.mll"
239 ( TIMES )
240 # 241 "lexer.ml"
241
242 | 9 ->
243 # 16 "lexer.mll"
244 ( DIV )
245 # 246 "lexer.ml"
246
247 | 10 ->
248 # 17 "lexer.mll"
249 ( LPAREN )
250 # 251 "lexer.ml"
251
252 | 11 ->
253 # 18 "lexer.mll"
254 ( RPAREN )
255 # 256 "lexer.ml"
256
257 | 12 ->
258 # 19 "lexer.mll"
259 ( IMPLY )
260 # 261 "lexer.ml"
261
262 | 13 ->
263 # 20 "lexer.mll"
264 ( FUNC )
265 # 266 "lexer.ml"
266
267 | 14 ->
268 # 21 "lexer.mll"
269 ( ASSIGN )
270 # 271 "lexer.ml"
271
272 | 15 ->
273 # 22 "lexer.mll"
274 ( raise Eof )
275 # 276 "lexer.ml"
276
277 | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf;
278 __ocaml_lex_token_rec lexbuf __ocaml_lex_state
279
280 ;;
281