add translator & XML2modelica
[scilab.git] / scilab / modules / scicos / src / xml2modelica / xMLParser.ml
1 type token =
2   | IDENT of (string)
3   | UNSIGNED_INTEGER of (string)
4   | UNSIGNED_NUMBER of (string)
5   | STRING of (string)
6   | MODEL_TAG
7   | MODEL_END_TAG
8   | NAME_TAG
9   | NAME_END_TAG
10   | ELEMENTS_TAG
11   | ELEMENT_STRUCT_TAG
12   | ELEMENT_STRUCT_SUBNODES_TAG
13   | ELEMENT_STRUCT_SUBNODES_END_TAG
14   | ELEMENT_STRUCT_END_TAG
15   | ELEMENT_TERMINAL_TAG
16   | ELEMENT_TERMINAL_KIND_TAG
17   | ELEMENT_TERMINAL_KIND_END_TAG
18   | ELEMENT_TERMINAL_ID_TAG
19   | ELEMENT_TERMINAL_ID_END_TAG
20   | ELEMENT_TERMINAL_END_TAG
21   | ELEMENTS_END_TAG
22   | EQUATIONS_TAG
23   | EQUATIONS_END_TAG
24   | WHEN_CLAUSES_TAG
25   | WHEN_CLAUSES_END_TAG
26   | ELEMENT_TERMINAL_OUTPUT_TAG
27   | ELEMENT_TERMINAL_SELECT_TAG
28   | ELEMENT_TERMINAL_COMMENT_VALUE_TAG of (string)
29   | ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG of (string)
30   | ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG of (string)
31   | ELEMENT_TERMINAL_FIXED_VALUE_TAG of (string)
32   | EQUATION_VALUE_TAG of (string)
33   | WHEN_CLAUSE_VALUE_TAG of (string)
34   | ERROR
35   | EOF
36
37 open Parsing;;
38 # 28 "xMLParser.mly"
39 \r
40 \r
41   open XMLTree\r
42 \r
43 # 44 "xMLParser.ml"
44 let yytransl_const = [|
45   261 (* MODEL_TAG *);
46   262 (* MODEL_END_TAG *);
47   263 (* NAME_TAG *);
48   264 (* NAME_END_TAG *);
49   265 (* ELEMENTS_TAG *);
50   266 (* ELEMENT_STRUCT_TAG *);
51   267 (* ELEMENT_STRUCT_SUBNODES_TAG *);
52   268 (* ELEMENT_STRUCT_SUBNODES_END_TAG *);
53   269 (* ELEMENT_STRUCT_END_TAG *);
54   270 (* ELEMENT_TERMINAL_TAG *);
55   271 (* ELEMENT_TERMINAL_KIND_TAG *);
56   272 (* ELEMENT_TERMINAL_KIND_END_TAG *);
57   273 (* ELEMENT_TERMINAL_ID_TAG *);
58   274 (* ELEMENT_TERMINAL_ID_END_TAG *);
59   275 (* ELEMENT_TERMINAL_END_TAG *);
60   276 (* ELEMENTS_END_TAG *);
61   277 (* EQUATIONS_TAG *);
62   278 (* EQUATIONS_END_TAG *);
63   279 (* WHEN_CLAUSES_TAG *);
64   280 (* WHEN_CLAUSES_END_TAG *);
65   281 (* ELEMENT_TERMINAL_OUTPUT_TAG *);
66   282 (* ELEMENT_TERMINAL_SELECT_TAG *);
67   289 (* ERROR *);
68     0 (* EOF *);
69     0|]
70
71 let yytransl_block = [|
72   257 (* IDENT *);
73   258 (* UNSIGNED_INTEGER *);
74   259 (* UNSIGNED_NUMBER *);
75   260 (* STRING *);
76   283 (* ELEMENT_TERMINAL_COMMENT_VALUE_TAG *);
77   284 (* ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG *);
78   285 (* ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG *);
79   286 (* ELEMENT_TERMINAL_FIXED_VALUE_TAG *);
80   287 (* EQUATION_VALUE_TAG *);
81   288 (* WHEN_CLAUSE_VALUE_TAG *);
82     0|]
83
84 let yylhs = "\255\255\
85 \001\000\002\000\003\000\005\000\008\000\008\000\009\000\009\000\
86 \010\000\004\000\012\000\011\000\013\000\014\000\018\000\018\000\
87 \016\000\016\000\015\000\015\000\017\000\017\000\019\000\019\000\
88 \020\000\020\000\006\000\021\000\021\000\022\000\007\000\007\000\
89 \023\000\023\000\024\000\000\000"
90
91 let yylen = "\002\000\
92 \002\000\003\000\004\000\003\000\000\000\002\000\003\000\003\000\
93 \002\000\003\000\003\000\009\000\003\000\003\000\000\000\001\000\
94 \000\000\001\000\000\000\001\000\000\000\001\000\000\000\001\000\
95 \000\000\001\000\003\000\000\000\002\000\001\000\000\000\003\000\
96 \000\000\002\000\001\000\002\000"
97
98 let yydefred = "\000\000\
99 \000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\
100 \001\000\000\000\002\000\005\000\000\000\010\000\000\000\028\000\
101 \000\000\000\000\000\000\004\000\006\000\000\000\033\000\003\000\
102 \000\000\000\000\000\000\000\000\027\000\030\000\029\000\000\000\
103 \005\000\009\000\007\000\000\000\000\000\008\000\032\000\035\000\
104 \034\000\000\000\000\000\000\000\000\000\011\000\013\000\000\000\
105 \020\000\000\000\014\000\018\000\000\000\022\000\000\000\016\000\
106 \000\000\024\000\000\000\026\000\012\000"
107
108 let yydgoto = "\002\000\
109 \004\000\005\000\007\000\008\000\013\000\017\000\024\000\015\000\
110 \021\000\026\000\028\000\034\000\037\000\045\000\050\000\053\000\
111 \055\000\057\000\059\000\061\000\022\000\031\000\032\000\041\000"
112
113 let yysindex = "\002\000\
114 \255\254\000\000\010\255\000\000\019\000\021\255\017\255\023\255\
115 \000\000\025\255\000\000\000\000\013\255\000\000\004\255\000\000\
116 \019\255\010\255\010\255\000\000\000\000\250\254\000\000\000\000\
117 \024\255\027\255\030\255\028\255\000\000\000\000\000\000\253\254\
118 \000\000\000\000\000\000\043\255\031\255\000\000\000\000\000\000\
119 \000\000\029\255\033\255\045\255\020\255\000\000\000\000\034\255\
120 \000\000\026\255\000\000\000\000\022\255\000\000\032\255\000\000\
121 \035\255\000\000\036\255\000\000\000\000"
122
123 let yyrindex = "\000\000\
124 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
125 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
126 \047\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
127 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
129 \000\000\000\000\000\000\000\000\237\254\000\000\000\000\000\000\
130 \000\000\242\254\000\000\000\000\001\255\000\000\011\255\000\000\
131 \012\255\000\000\037\255\000\000\000\000"
132
133 let yygindex = "\000\000\
134 \000\000\000\000\000\000\239\255\000\000\000\000\000\000\022\000\
135 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
136 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
137
138 let yytablesize = 62
139 let yytable = "\019\000\
140 \025\000\027\000\001\000\003\000\017\000\019\000\019\000\019\000\
141 \019\000\019\000\017\000\017\000\017\000\018\000\017\000\029\000\
142 \006\000\019\000\009\000\021\000\039\000\010\000\011\000\020\000\
143 \030\000\021\000\021\000\021\000\040\000\015\000\023\000\012\000\
144 \014\000\016\000\033\000\015\000\015\000\023\000\018\000\035\000\
145 \046\000\023\000\019\000\043\000\036\000\048\000\038\000\044\000\
146 \047\000\049\000\054\000\051\000\031\000\052\000\042\000\025\000\
147 \000\000\000\000\056\000\058\000\000\000\060\000"
148
149 let yycheck = "\019\001\
150 \018\000\019\000\001\000\005\001\019\001\025\001\026\001\027\001\
151 \028\001\029\001\025\001\026\001\027\001\010\001\029\001\022\001\
152 \007\001\014\001\000\000\019\001\024\001\001\001\006\001\020\001\
153 \031\001\025\001\026\001\027\001\032\001\019\001\019\001\009\001\
154 \008\001\021\001\011\001\025\001\026\001\026\001\010\001\013\001\
155 \012\001\023\001\014\001\001\001\015\001\001\001\019\001\017\001\
156 \016\001\030\001\029\001\018\001\006\001\028\001\033\000\019\001\
157 \255\255\255\255\027\001\025\001\255\255\026\001"
158
159 let yynames_const = "\
160   MODEL_TAG\000\
161   MODEL_END_TAG\000\
162   NAME_TAG\000\
163   NAME_END_TAG\000\
164   ELEMENTS_TAG\000\
165   ELEMENT_STRUCT_TAG\000\
166   ELEMENT_STRUCT_SUBNODES_TAG\000\
167   ELEMENT_STRUCT_SUBNODES_END_TAG\000\
168   ELEMENT_STRUCT_END_TAG\000\
169   ELEMENT_TERMINAL_TAG\000\
170   ELEMENT_TERMINAL_KIND_TAG\000\
171   ELEMENT_TERMINAL_KIND_END_TAG\000\
172   ELEMENT_TERMINAL_ID_TAG\000\
173   ELEMENT_TERMINAL_ID_END_TAG\000\
174   ELEMENT_TERMINAL_END_TAG\000\
175   ELEMENTS_END_TAG\000\
176   EQUATIONS_TAG\000\
177   EQUATIONS_END_TAG\000\
178   WHEN_CLAUSES_TAG\000\
179   WHEN_CLAUSES_END_TAG\000\
180   ELEMENT_TERMINAL_OUTPUT_TAG\000\
181   ELEMENT_TERMINAL_SELECT_TAG\000\
182   ERROR\000\
183   EOF\000\
184   "
185
186 let yynames_block = "\
187   IDENT\000\
188   UNSIGNED_INTEGER\000\
189   UNSIGNED_NUMBER\000\
190   STRING\000\
191   ELEMENT_TERMINAL_COMMENT_VALUE_TAG\000\
192   ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG\000\
193   ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG\000\
194   ELEMENT_TERMINAL_FIXED_VALUE_TAG\000\
195   EQUATION_VALUE_TAG\000\
196   WHEN_CLAUSE_VALUE_TAG\000\
197   "
198
199 let yyact = [|
200   (fun _ -> failwith "parser")
201 ; (fun __caml_parser_env ->
202     let _1 = (Parsing.peek_val __caml_parser_env 1 : 'definition) in
203     Obj.repr(
204 # 65 "xMLParser.mly"
205                                                                 ( _1 )
206 # 207 "xMLParser.ml"
207                : XMLTree.t))
208 ; (fun __caml_parser_env ->
209     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'model_definition) in
210     Obj.repr(
211 # 69 "xMLParser.mly"
212                                                                 ( _2 )
213 # 214 "xMLParser.ml"
214                : 'definition))
215 ; (fun __caml_parser_env ->
216     let _1 = (Parsing.peek_val __caml_parser_env 3 : 'name) in
217     let _2 = (Parsing.peek_val __caml_parser_env 2 : 'elements_definition) in
218     let _3 = (Parsing.peek_val __caml_parser_env 1 : 'equations_definition) in
219     let _4 = (Parsing.peek_val __caml_parser_env 0 : 'when_clauses_definition) in
220     Obj.repr(
221 # 74 "xMLParser.mly"
222                                                                 ( { name = _1; elements = _2; equations = _3; when_clauses = _4 } )
223 # 224 "xMLParser.ml"
224                : 'model_definition))
225 ; (fun __caml_parser_env ->
226     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in
227     Obj.repr(
228 # 78 "xMLParser.mly"
229                                                                 ( List.rev _2 )
230 # 231 "xMLParser.ml"
231                : 'elements_definition))
232 ; (fun __caml_parser_env ->
233     Obj.repr(
234 # 82 "xMLParser.mly"
235                                                                 ( [] )
236 # 237 "xMLParser.ml"
237                : 'element_list))
238 ; (fun __caml_parser_env ->
239     let _1 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in
240     let _2 = (Parsing.peek_val __caml_parser_env 0 : 'element_definition) in
241     Obj.repr(
242 # 83 "xMLParser.mly"
243                                                                 ( _2 :: _1 )
244 # 245 "xMLParser.ml"
245                : 'element_list))
246 ; (fun __caml_parser_env ->
247     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'struct_contents) in
248     Obj.repr(
249 # 87 "xMLParser.mly"
250                                                                 ( Struct _2 )
251 # 252 "xMLParser.ml"
252                : 'element_definition))
253 ; (fun __caml_parser_env ->
254     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'terminal_contents) in
255     Obj.repr(
256 # 89 "xMLParser.mly"
257                                                                 ( Terminal _2 )
258 # 259 "xMLParser.ml"
259                : 'element_definition))
260 ; (fun __caml_parser_env ->
261     let _1 = (Parsing.peek_val __caml_parser_env 1 : 'name) in
262     let _2 = (Parsing.peek_val __caml_parser_env 0 : 'subnodes_definition) in
263     Obj.repr(
264 # 93 "xMLParser.mly"
265                                                                 ( { struct_name = _1; subnodes = _2 } )
266 # 267 "xMLParser.ml"
267                : 'struct_contents))
268 ; (fun __caml_parser_env ->
269     let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in
270     Obj.repr(
271 # 97 "xMLParser.mly"
272                                                                     ( _2 )
273 # 274 "xMLParser.ml"
274                : 'name))
275 ; (fun __caml_parser_env ->
276     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in
277     Obj.repr(
278 # 102 "xMLParser.mly"
279                                                                 ( List.rev _2 )
280 # 281 "xMLParser.ml"
281                : 'subnodes_definition))
282 ; (fun __caml_parser_env ->
283     let _1 = (Parsing.peek_val __caml_parser_env 8 : 'name) in
284     let _2 = (Parsing.peek_val __caml_parser_env 7 : 'kind) in
285     let _3 = (Parsing.peek_val __caml_parser_env 6 : 'id) in
286     let _4 = (Parsing.peek_val __caml_parser_env 5 : 'fixed_value) in
287     let _5 = (Parsing.peek_val __caml_parser_env 4 : 'initial_value_value) in
288     let _6 = (Parsing.peek_val __caml_parser_env 3 : 'nominal_value_value) in
289     let _7 = (Parsing.peek_val __caml_parser_env 2 : 'comment_value) in
290     let _8 = (Parsing.peek_val __caml_parser_env 1 : 'output) in
291     let _9 = (Parsing.peek_val __caml_parser_env 0 : 'select) in
292     Obj.repr(
293 # 108 "xMLParser.mly"
294                                           ( { terminal_name = _1;\r
295                                               kind = _2;\r
296                                               id = _3; \r
297                                               comment = _7;\r
298                                               initial_value = _5;\r
299                                               nominal = _6;\r
300                                               output = _8;\r
301                                               select = _9;\r
302                                               fixed = _4 } )
303 # 304 "xMLParser.ml"
304                : 'terminal_contents))
305 ; (fun __caml_parser_env ->
306     let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in
307     Obj.repr(
308 # 121 "xMLParser.mly"
309                                                                 ( match _2 with\r
310                                                                     | "input" -> Input\r
311                                                                     | "fixed_parameter" -> FixedParameter\r
312                                                                     | "parameter" -> Parameter\r
313                                                                     | "variable" -> Variable\r
314                                                                     | "discrete_variable" -> DiscreteVariable\r
315                                                                     | _ -> raise Parsing.Parse_error )
316 # 317 "xMLParser.ml"
317                : 'kind))
318 ; (fun __caml_parser_env ->
319     let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in
320     Obj.repr(
321 # 132 "xMLParser.mly"
322                                                                 ( _2 )
323 # 324 "xMLParser.ml"
324                : 'id))
325 ; (fun __caml_parser_env ->
326     Obj.repr(
327 # 136 "xMLParser.mly"
328                                                                 ( "" )
329 # 330 "xMLParser.ml"
330                : 'comment_value))
331 ; (fun __caml_parser_env ->
332     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
333     Obj.repr(
334 # 137 "xMLParser.mly"
335                                                                 ( _1 )
336 # 337 "xMLParser.ml"
337                : 'comment_value))
338 ; (fun __caml_parser_env ->
339     Obj.repr(
340 # 141 "xMLParser.mly"
341                                                                 ( "" )
342 # 343 "xMLParser.ml"
343                : 'initial_value_value))
344 ; (fun __caml_parser_env ->
345     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
346     Obj.repr(
347 # 142 "xMLParser.mly"
348                                                                 ( _1 )
349 # 350 "xMLParser.ml"
350                : 'initial_value_value))
351 ; (fun __caml_parser_env ->
352     Obj.repr(
353 # 146 "xMLParser.mly"
354                                                                 ( "" )
355 # 356 "xMLParser.ml"
356                : 'fixed_value))
357 ; (fun __caml_parser_env ->
358     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
359     Obj.repr(
360 # 147 "xMLParser.mly"
361                                                                 ( _1 )
362 # 363 "xMLParser.ml"
363                : 'fixed_value))
364 ; (fun __caml_parser_env ->
365     Obj.repr(
366 # 151 "xMLParser.mly"
367                                                                 ( "" )
368 # 369 "xMLParser.ml"
369                : 'nominal_value_value))
370 ; (fun __caml_parser_env ->
371     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
372     Obj.repr(
373 # 152 "xMLParser.mly"
374                                                                 ( _1 )
375 # 376 "xMLParser.ml"
376                : 'nominal_value_value))
377 ; (fun __caml_parser_env ->
378     Obj.repr(
379 # 156 "xMLParser.mly"
380                                                                 ( false )
381 # 382 "xMLParser.ml"
382                : 'output))
383 ; (fun __caml_parser_env ->
384     Obj.repr(
385 # 157 "xMLParser.mly"
386                                                                 ( true )
387 # 388 "xMLParser.ml"
388                : 'output))
389 ; (fun __caml_parser_env ->
390     Obj.repr(
391 # 161 "xMLParser.mly"
392                                                                 ( false )
393 # 394 "xMLParser.ml"
394                : 'select))
395 ; (fun __caml_parser_env ->
396     Obj.repr(
397 # 162 "xMLParser.mly"
398                                                                 ( true )
399 # 400 "xMLParser.ml"
400                : 'select))
401 ; (fun __caml_parser_env ->
402     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'equation_list) in
403     Obj.repr(
404 # 166 "xMLParser.mly"
405                                                                 ( List.rev _2 )
406 # 407 "xMLParser.ml"
407                : 'equations_definition))
408 ; (fun __caml_parser_env ->
409     Obj.repr(
410 # 170 "xMLParser.mly"
411                                                                 ( [] )
412 # 413 "xMLParser.ml"
413                : 'equation_list))
414 ; (fun __caml_parser_env ->
415     let _1 = (Parsing.peek_val __caml_parser_env 1 : 'equation_list) in
416     let _2 = (Parsing.peek_val __caml_parser_env 0 : 'equation_definition) in
417     Obj.repr(
418 # 171 "xMLParser.mly"
419                                                                 ( _2 :: _1 )
420 # 421 "xMLParser.ml"
421                : 'equation_list))
422 ; (fun __caml_parser_env ->
423     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
424     Obj.repr(
425 # 175 "xMLParser.mly"
426                                                                 ( _1 )
427 # 428 "xMLParser.ml"
428                : 'equation_definition))
429 ; (fun __caml_parser_env ->
430     Obj.repr(
431 # 179 "xMLParser.mly"
432                                                                 ( [] )
433 # 434 "xMLParser.ml"
434                : 'when_clauses_definition))
435 ; (fun __caml_parser_env ->
436     let _2 = (Parsing.peek_val __caml_parser_env 1 : 'when_clause_list) in
437     Obj.repr(
438 # 180 "xMLParser.mly"
439                                                                 ( List.rev _2 )
440 # 441 "xMLParser.ml"
441                : 'when_clauses_definition))
442 ; (fun __caml_parser_env ->
443     Obj.repr(
444 # 184 "xMLParser.mly"
445                                                                 ( [] )
446 # 447 "xMLParser.ml"
447                : 'when_clause_list))
448 ; (fun __caml_parser_env ->
449     let _1 = (Parsing.peek_val __caml_parser_env 1 : 'when_clause_list) in
450     let _2 = (Parsing.peek_val __caml_parser_env 0 : 'when_clause_definition) in
451     Obj.repr(
452 # 185 "xMLParser.mly"
453                                                                 ( _2 :: _1 )
454 # 455 "xMLParser.ml"
455                : 'when_clause_list))
456 ; (fun __caml_parser_env ->
457     let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
458     Obj.repr(
459 # 189 "xMLParser.mly"
460                                                                 ( _1 )
461 # 462 "xMLParser.ml"
462                : 'when_clause_definition))
463 (* Entry xML_definition_eof *)
464 ; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
465 |]
466 let yytables =
467   { Parsing.actions=yyact;
468     Parsing.transl_const=yytransl_const;
469     Parsing.transl_block=yytransl_block;
470     Parsing.lhs=yylhs;
471     Parsing.len=yylen;
472     Parsing.defred=yydefred;
473     Parsing.dgoto=yydgoto;
474     Parsing.sindex=yysindex;
475     Parsing.rindex=yyrindex;
476     Parsing.gindex=yygindex;
477     Parsing.tablesize=yytablesize;
478     Parsing.table=yytable;
479     Parsing.check=yycheck;
480     Parsing.error_function=parse_error;
481     Parsing.names_const=yynames_const;
482     Parsing.names_block=yynames_block }
483 let xML_definition_eof (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
484    (Parsing.yyparse yytables 1 lexfun lexbuf : XMLTree.t)
485 ;;
486 # 192 "xMLParser.mly"
487 \r
488 \r
489 let parse filename token_fun lexbuf =\r
490   try\r
491     xML_definition_eof token_fun lexbuf\r
492   with\r
493     | Parsing.Parse_error ->\r
494         let linenum, linebeg =\r
495           Linenum.for_position filename (Lexing.lexeme_start lexbuf)\r
496         and linenum', linebeg' =\r
497           Linenum.for_position filename (Lexing.lexeme_end lexbuf)\r
498         in\r
499         let first_char = Lexing.lexeme_start lexbuf - linebeg\r
500         and first_char' = Lexing.lexeme_end lexbuf - linebeg'\r
501         in\r
502         Printf.printf\r
503           "Syntax error.\n\\r
504           Start: %d and %d\n\\r
505           Characters %d and %d\n\\r
506           Line %d, character %d.\n\\r
507           Line %d, character %d.\n"\r
508           linebeg\r
509           linebeg'\r
510           (Lexing.lexeme_start lexbuf) (Lexing.lexeme_end lexbuf)\r
511           linenum first_char\r
512           linenum' first_char';\r
513         raise Exit\r
514 # 515 "xMLParser.ml"