~ubuntu-branches/ubuntu/jaunty/pxp/jaunty

« back to all changes in this revision

Viewing changes to src/pxp-wlex/pxp_wlex.ml

  • Committer: Bazaar Package Importer
  • Author(s): Stefano Zacchiroli
  • Date: 2002-03-27 20:47:53 UTC
  • Revision ID: james.westby@ubuntu.com-20020327204753-1lmazhm839pz62pq
Tags: upstream-1.1.4
ImportĀ upstreamĀ versionĀ 1.1.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
let eof = 0
 
2
let invalid = 1
 
3
let unicode_baseChar = 2
 
4
let ideographic = 3
 
5
let extender = 4
 
6
let ascii_digit = 5
 
7
let unicode_digit = 6
 
8
let combiningChar = 7
 
9
let otherChar = 8
 
10
let char_41 = 9
 
11
let char_42 = 10
 
12
let char_43 = 11
 
13
let char_44 = 12
 
14
let char_45 = 13
 
15
let char_46 = 14
 
16
let char_47 = 15
 
17
let char_48 = 16
 
18
let char_49 = 17
 
19
let char_4a = 18
 
20
let char_4b = 19
 
21
let char_4c = 20
 
22
let char_4d = 21
 
23
let char_4e = 22
 
24
let char_4f = 23
 
25
let char_50 = 24
 
26
let char_51 = 25
 
27
let char_52 = 26
 
28
let char_53 = 27
 
29
let char_54 = 28
 
30
let char_55 = 29
 
31
let char_56 = 30
 
32
let char_57 = 31
 
33
let char_58 = 32
 
34
let char_59 = 33
 
35
let char_5a = 34
 
36
let char_61 = 35
 
37
let char_62 = 36
 
38
let char_63 = 37
 
39
let char_64 = 38
 
40
let char_65 = 39
 
41
let char_66 = 40
 
42
let char_67 = 41
 
43
let char_68 = 42
 
44
let char_69 = 43
 
45
let char_6a = 44
 
46
let char_6b = 45
 
47
let char_6c = 46
 
48
let char_6d = 47
 
49
let char_6e = 48
 
50
let char_6f = 49
 
51
let char_70 = 50
 
52
let char_71 = 51
 
53
let char_72 = 52
 
54
let char_73 = 53
 
55
let char_74 = 54
 
56
let char_75 = 55
 
57
let char_76 = 56
 
58
let char_77 = 57
 
59
let char_78 = 58
 
60
let char_79 = 59
 
61
let char_7a = 60
 
62
let char_3c = 61
 
63
let char_3e = 62
 
64
let char_3f = 63
 
65
let char_21 = 64
 
66
let char_2d = 65
 
67
let char_2f = 66
 
68
let char_5b = 67
 
69
let char_5d = 68
 
70
let char_26 = 69
 
71
let char_23 = 70
 
72
let char_3b = 71
 
73
let char_25 = 72
 
74
let char_2b = 73
 
75
let char_2a = 74
 
76
let char_7c = 75
 
77
let char_2c = 76
 
78
let char_28 = 77
 
79
let char_29 = 78
 
80
let char_27 = 79
 
81
let char_3d = 80
 
82
let char_2e = 81
 
83
let char_3a = 82
 
84
let char_5f = 83
 
85
let char_22 = 84
 
86
let char_0a = 85
 
87
let char_0d = 86
 
88
let char_09 = 87
 
89
let char_20 = 88
 
90
 
 
91
let one_char_classes = [
 
92
  (0x41, 09);
 
93
  (0x42, 10);
 
94
  (0x43, 11);
 
95
  (0x44, 12);
 
96
  (0x45, 13);
 
97
  (0x46, 14);
 
98
  (0x47, 15);
 
99
  (0x48, 16);
 
100
  (0x49, 17);
 
101
  (0x4a, 18);
 
102
  (0x4b, 19);
 
103
  (0x4c, 20);
 
104
  (0x4d, 21);
 
105
  (0x4e, 22);
 
106
  (0x4f, 23);
 
107
  (0x50, 24);
 
108
  (0x51, 25);
 
109
  (0x52, 26);
 
110
  (0x53, 27);
 
111
  (0x54, 28);
 
112
  (0x55, 29);
 
113
  (0x56, 30);
 
114
  (0x57, 31);
 
115
  (0x58, 32);
 
116
  (0x59, 33);
 
117
  (0x5a, 34);
 
118
  (0x61, 35);
 
119
  (0x62, 36);
 
120
  (0x63, 37);
 
121
  (0x64, 38);
 
122
  (0x65, 39);
 
123
  (0x66, 40);
 
124
  (0x67, 41);
 
125
  (0x68, 42);
 
126
  (0x69, 43);
 
127
  (0x6a, 44);
 
128
  (0x6b, 45);
 
129
  (0x6c, 46);
 
130
  (0x6d, 47);
 
131
  (0x6e, 48);
 
132
  (0x6f, 49);
 
133
  (0x70, 50);
 
134
  (0x71, 51);
 
135
  (0x72, 52);
 
136
  (0x73, 53);
 
137
  (0x74, 54);
 
138
  (0x75, 55);
 
139
  (0x76, 56);
 
140
  (0x77, 57);
 
141
  (0x78, 58);
 
142
  (0x79, 59);
 
143
  (0x7a, 60);
 
144
  (0x3c, 61);
 
145
  (0x3e, 62);
 
146
  (0x3f, 63);
 
147
  (0x21, 64);
 
148
  (0x2d, 65);
 
149
  (0x2f, 66);
 
150
  (0x5b, 67);
 
151
  (0x5d, 68);
 
152
  (0x26, 69);
 
153
  (0x23, 70);
 
154
  (0x3b, 71);
 
155
  (0x25, 72);
 
156
  (0x2b, 73);
 
157
  (0x2a, 74);
 
158
  (0x7c, 75);
 
159
  (0x2c, 76);
 
160
  (0x28, 77);
 
161
  (0x29, 78);
 
162
  (0x27, 79);
 
163
  (0x3d, 80);
 
164
  (0x2e, 81);
 
165
  (0x3a, 82);
 
166
  (0x5f, 83);
 
167
  (0x22, 84);
 
168
  (0x0a, 85);
 
169
  (0x0d, 86);
 
170
  (0x09, 87);
 
171
  (0x20, 88);
 
172
 ]
 
173
 
 
174
let nb_classes = 89
 
175
 
 
176
# 23 "pxp_wlex.mll"
 
177
 
 
178
  open Pxp_types
 
179
  open Pxp_lexer_types
 
180
 
 
181
  class dummy_entity = object end
 
182
 
 
183
  let dummy_entity = ( new dummy_entity : entity_id )
 
184
 
 
185
  (* The following tokens are pre-allocated to reduce the load on the
 
186
   * GC.
 
187
   *)
 
188
 
 
189
  let tok_Doctype__Document_type = Doctype dummy_entity, Document_type
 
190
  let tok_Ignore__Document       = Ignore, Document
 
191
  let tok_Ignore__Within_tag     = Ignore, Within_tag
 
192
  let tok_IgnoreLineEnd__Within_tag = IgnoreLineEnd, Within_tag
 
193
  let tok_Ignore__Document_type  = Ignore, Document_type
 
194
  let tok_Ignore__Declaration    = Ignore, Declaration
 
195
  let tok_Ignore__Ignored        = Ignore, Ignored_section
 
196
  let tok_Eof__Document          = Eof, Document
 
197
  let tok_Eof__Content           = Eof, Content
 
198
  let tok_Eof__Within_tag        = Eof, Within_tag
 
199
  let tok_Eof__Document_type     = Eof, Document_type
 
200
  let tok_Eof__Declaration       = Eof, Declaration
 
201
  let tok_Eof__Ignored           = Eof, Ignored_section
 
202
  let tok_LineEndCRLF__Content   = LineEnd "\r\n", Content
 
203
  let tok_LineEndCR__Content     = LineEnd "\r", Content
 
204
  let tok_LineEndLF__Content     = LineEnd "\n", Content
 
205
  let tok_CharDataRBRACKET__Content = CharData "]", Content
 
206
  let tok_Eq__Within_tag         = Eq, Within_tag
 
207
  let tok_Rangle__Content        = Rangle, Content
 
208
  let tok_Rangle_empty__Content  = Rangle_empty, Content
 
209
  let tok_Dtd_begin__Declaration = Dtd_begin dummy_entity, Declaration
 
210
  let tok_Doctype_rangle__Document = Doctype_rangle dummy_entity, Document
 
211
  let tok_Percent__Declaration   = Percent, Declaration
 
212
  let tok_Plus__Declaration      = Plus, Declaration
 
213
  let tok_Star__Declaration      = Star, Declaration
 
214
  let tok_Bar__Declaration       = Bar, Declaration
 
215
  let tok_Comma__Declaration     = Comma, Declaration
 
216
  let tok_Qmark__Declaration     = Qmark, Declaration
 
217
  let tok_Lparen__Declaration    = Lparen dummy_entity, Declaration
 
218
  let tok_RparenPlus__Declaration   = RparenPlus dummy_entity, Declaration
 
219
  let tok_RparenStar__Declaration   = RparenStar dummy_entity, Declaration
 
220
  let tok_RparenQmark__Declaration  = RparenQmark dummy_entity, Declaration
 
221
  let tok_Rparen__Declaration    = Rparen dummy_entity, Declaration
 
222
  let tok_Required__Declaration  = Required, Declaration
 
223
  let tok_Implied__Declaration   = Implied, Declaration
 
224
  let tok_Fixed__Declaration     = Fixed, Declaration
 
225
  let tok_Pcdata__Declaration    = Pcdata, Declaration
 
226
  let tok_Decl_element__Declaration  = Decl_element dummy_entity, Declaration
 
227
  let tok_Decl_attlist__Declaration  = Decl_attlist dummy_entity, Declaration
 
228
  let tok_Decl_entity__Declaration   = Decl_entity dummy_entity, Declaration
 
229
  let tok_Decl_notation__Declaration = Decl_notation dummy_entity, Declaration
 
230
  let tok_Conditional_begin__Declaration = Conditional_begin dummy_entity, 
 
231
                                           Declaration 
 
232
  let tok_Conditional_begin__Ignored     = Conditional_begin dummy_entity, 
 
233
                                           Ignored_section
 
234
  let tok_Conditional_end__Declaration   = Conditional_end dummy_entity, 
 
235
                                           Declaration
 
236
  let tok_Conditional_end__Ignored       = Conditional_end dummy_entity, 
 
237
                                           Ignored_section
 
238
  let tok_Conditional_body__Declaration  = Conditional_body dummy_entity, 
 
239
                                           Declaration
 
240
  let tok_Decl_rangle__Declaration   = Decl_rangle dummy_entity, Declaration
 
241
  let tok_Dtd_end__Document_type     = Dtd_end dummy_entity, Document_type
 
242
 
 
243
  open Pxp_wlex_aux
 
244
 
 
245
let lex_tables = {
 
246
  Lexing.lex_base = 
 
247
   "\000\000\026\000\047\000\054\000\117\000\145\000\075\000\002\000\
 
248
    \234\000\001\000\041\000\005\000\007\000\009\000\006\001\175\000\
 
249
    \250\255\244\255\027\001\000\000\003\000\049\000\035\000\045\000\
 
250
    \252\255\051\000\251\255\001\000\254\255\000\000\001\000\255\255\
 
251
    \012\000\014\000\016\000\011\000\253\255\035\001\252\255\250\255\
 
252
    \097\001\125\001\251\255\050\000\069\000\154\001\206\001\018\000\
 
253
    \013\000\018\000\163\000\172\000\017\000\022\000\199\000\251\000\
 
254
    \044\000\058\000\024\001\159\000\046\000\080\000\000\000\006\000\
 
255
    \010\000\080\000\235\001\037\001\116\001\127\001\243\001\145\001\
 
256
    \249\255\247\255\007\002\248\255\169\000\170\000\015\001\017\001\
 
257
    \190\000\200\000\022\001\033\001\035\001\044\001\039\002\049\001\
 
258
    \254\255\020\000\022\000\244\255\243\255\059\002\129\002\157\002\
 
259
    \247\255\063\000\246\255\249\255\239\002\011\003\169\000\148\001\
 
260
    \138\002\249\002\097\002\219\255\216\255\040\003\092\003\217\255\
 
261
    \183\000\221\255\245\255\228\255\090\000\252\255\124\001\129\003\
 
262
    \249\255\248\255\247\255\246\255\244\255\187\000\249\001\004\002\
 
263
    \160\001\166\001\054\002\225\255\043\002\223\255\241\255\242\255\
 
264
    \173\003\007\000\004\000\000\000\015\000\004\000\008\000\021\000\
 
265
    \013\000\027\000\030\000\239\255\031\000\035\000\029\000\050\000\
 
266
    \236\255\036\000\151\000\160\000\236\000\241\000\238\255\233\000\
 
267
    \010\001\014\001\237\255\255\000\229\255\255\001\209\003\074\001\
 
268
    \093\001\081\001\053\001\230\255\231\255\096\001\130\001\112\001\
 
269
    \125\001\120\001\122\001\232\255\134\001\121\001\134\001\124\001\
 
270
    \123\001\233\255\136\001\167\001\215\001\229\001\235\255\230\001\
 
271
    \239\001\245\001\238\001\238\001\234\255\057\002\186\002\188\002\
 
272
    \227\255\211\002\013\003\219\003\254\003\044\004\248\255\249\255\
 
273
    \246\255\245\255\089\002\171\002\054\002\068\002\180\002\015\003\
 
274
    \079\004\247\255\245\255\246\255\168\004\191\002\195\002\125\004\
 
275
    \042\003\034\002\008\002\223\001\022\002\013\002\012\002\024\002\
 
276
    \038\002\121\003\149\003\097\004\099\004\206\004\245\255\214\004\
 
277
    \246\255\001\005\247\255\223\001\218\004\127\002\099\002\085\005\
 
278
    \095\005\057\005\243\255\111\005\242\255\245\255\247\001\065\003\
 
279
    \250\255\139\003\253\255\227\001\072\002\165\002\141\003\145\003\
 
280
    \139\005\241\255\160\005\230\005\249\001\002\006\242\255\234\001\
 
281
    \084\006\127\003\118\003\238\005\094\006\248\255\246\255\034\002\
 
282
    \240\255\112\006\020\005\225\002\201\006\056\002\156\002\167\002\
 
283
    \237\002\222\002\247\002\190\002\013\004\021\004\102\004\091\005\
 
284
    \182\004\051\005\053\005\101\005\170\005\157\005\032\006";
 
285
  Lexing.lex_backtrk = 
 
286
   "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
287
    \255\255\001\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
288
    \255\255\255\255\006\000\007\000\008\000\009\000\010\000\255\255\
 
289
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
290
    \255\255\255\255\255\255\255\255\255\255\006\000\255\255\255\255\
 
291
    \000\000\002\000\255\255\001\000\001\000\002\000\000\000\003\000\
 
292
    \002\000\001\000\003\000\003\000\002\000\001\000\003\000\003\000\
 
293
    \002\000\001\000\003\000\003\000\001\000\255\255\255\255\255\255\
 
294
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
295
    \255\255\255\255\000\000\255\255\003\000\001\000\005\000\255\255\
 
296
    \255\255\004\000\001\000\255\255\255\255\002\000\000\000\000\000\
 
297
    \255\255\000\000\000\000\255\255\255\255\010\000\005\000\001\000\
 
298
    \255\255\007\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
299
    \255\255\255\255\010\000\255\255\255\255\004\000\005\000\255\255\
 
300
    \038\000\255\255\255\255\255\255\035\000\255\255\038\000\002\000\
 
301
    \255\255\255\255\255\255\255\255\255\255\015\000\033\000\031\000\
 
302
    \000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
303
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
304
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
305
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
306
    \255\255\255\255\255\255\255\255\255\255\029\000\037\000\255\255\
 
307
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
308
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
309
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
310
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
311
    \255\255\255\255\028\000\005\000\004\000\000\000\255\255\255\255\
 
312
    \255\255\255\255\005\000\003\000\001\000\001\000\255\255\255\255\
 
313
    \000\000\255\255\255\255\255\255\006\000\007\000\007\000\005\000\
 
314
    \001\000\004\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
315
    \255\255\255\255\255\255\255\255\255\255\000\000\255\255\004\000\
 
316
    \255\255\003\000\255\255\007\000\255\255\255\255\255\255\255\255\
 
317
    \255\255\004\000\255\255\004\000\255\255\255\255\013\000\009\000\
 
318
    \255\255\007\000\255\255\001\000\003\000\003\000\255\255\255\255\
 
319
    \004\000\255\255\017\000\006\000\016\000\010\000\255\255\012\000\
 
320
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
321
    \255\255\003\000\001\000\005\000\255\255\255\255\255\255\255\255\
 
322
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
323
    \255\255\255\255\255\255\255\255\255\255\000\000\017\000";
 
324
  Lexing.lex_default = 
 
325
   "\010\001\251\000\239\000\219\000\205\000\109\000\093\000\089\000\
 
326
    \074\000\255\255\059\000\055\000\051\000\047\000\040\000\018\000\
 
327
    \000\000\000\000\037\000\255\255\255\255\025\000\023\000\023\000\
 
328
    \000\000\025\000\000\000\255\255\000\000\255\255\255\255\000\000\
 
329
    \032\000\034\000\034\000\255\255\000\000\037\000\000\000\000\000\
 
330
    \046\000\045\000\000\000\255\255\255\255\045\000\046\000\050\000\
 
331
    \255\255\255\255\050\000\054\000\255\255\255\255\054\000\058\000\
 
332
    \255\255\255\255\058\000\059\000\255\255\255\255\255\255\255\255\
 
333
    \255\255\255\255\067\000\067\000\069\000\069\000\069\000\069\000\
 
334
    \000\000\000\000\086\000\000\000\083\000\255\255\079\000\079\000\
 
335
    \255\255\255\255\255\255\083\000\255\255\255\255\086\000\255\255\
 
336
    \000\000\090\000\090\000\000\000\000\000\106\000\101\000\100\000\
 
337
    \000\000\255\255\000\000\000\000\100\000\101\000\255\255\255\255\
 
338
    \255\255\255\255\106\000\000\000\000\000\204\000\203\000\000\000\
 
339
    \255\255\000\000\000\000\000\000\255\255\000\000\255\255\136\000\
 
340
    \000\000\000\000\000\000\000\000\000\000\255\255\132\000\130\000\
 
341
    \255\255\255\255\130\000\000\000\132\000\000\000\000\000\000\000\
 
342
    \136\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
343
    \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\
 
344
    \000\000\255\255\255\255\255\255\255\255\255\255\000\000\255\255\
 
345
    \255\255\255\255\000\000\255\255\000\000\197\000\255\255\255\255\
 
346
    \255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
 
347
    \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\
 
348
    \255\255\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
 
349
    \255\255\255\255\255\255\255\255\000\000\197\000\199\000\199\000\
 
350
    \000\000\199\000\199\000\203\000\204\000\216\000\000\000\000\000\
 
351
    \000\000\000\000\215\000\214\000\255\255\255\255\214\000\215\000\
 
352
    \216\000\000\000\000\000\000\000\223\000\255\255\255\255\223\000\
 
353
    \233\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
354
    \255\255\233\000\235\000\235\000\235\000\235\000\000\000\249\000\
 
355
    \000\000\244\000\000\000\255\255\244\000\255\255\255\255\255\255\
 
356
    \255\255\249\000\000\000\008\001\000\000\000\000\255\255\007\001\
 
357
    \000\000\006\001\000\000\255\255\255\255\255\255\006\001\007\001\
 
358
    \008\001\000\000\046\001\025\001\255\255\016\001\000\000\255\255\
 
359
    \016\001\255\255\255\255\255\255\255\255\000\000\000\000\255\255\
 
360
    \000\000\025\001\041\001\255\255\025\001\255\255\255\255\255\255\
 
361
    \255\255\255\255\255\255\255\255\036\001\038\001\038\001\040\001\
 
362
    \040\001\041\001\043\001\043\001\043\001\043\001\046\001";
 
363
  Lexing.lex_trans = 
 
364
   "\009\001\162\000\088\000\036\000\000\000\042\000\039\000\042\000\
 
365
    \039\000\042\000\039\000\148\000\255\255\255\255\255\255\255\255\
 
366
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
367
    \159\000\153\000\250\000\134\000\141\000\142\000\252\000\252\000\
 
368
    \252\000\252\000\252\000\255\255\255\255\143\000\144\000\145\000\
 
369
    \146\000\026\000\147\000\149\000\150\000\255\255\255\255\238\000\
 
370
    \017\000\255\255\255\255\255\255\255\255\064\000\217\000\218\000\
 
371
    \065\000\151\000\063\000\152\000\154\000\011\001\061\000\028\000\
 
372
    \029\000\030\000\032\000\031\000\012\001\013\001\056\000\027\000\
 
373
    \052\000\036\000\048\000\091\000\092\000\033\000\049\000\035\000\
 
374
    \031\000\033\000\053\000\255\255\031\000\014\001\015\001\252\000\
 
375
    \253\000\252\000\252\000\252\000\254\000\252\000\252\000\252\000\
 
376
    \252\000\252\000\252\000\252\000\252\000\252\000\252\000\252\000\
 
377
    \252\000\255\000\000\001\252\000\240\000\057\000\001\001\002\001\
 
378
    \003\001\004\001\004\001\220\000\241\000\096\000\092\000\024\000\
 
379
    \031\000\091\000\091\000\091\000\091\000\091\000\036\000\060\000\
 
380
    \026\000\024\000\026\000\031\000\242\000\243\000\016\000\044\000\
 
381
    \044\000\044\000\044\000\221\000\221\000\221\000\221\000\062\000\
 
382
    \094\000\107\000\108\000\095\000\099\000\110\000\110\000\110\000\
 
383
    \110\000\111\000\044\000\044\000\044\000\044\000\163\000\255\255\
 
384
    \096\000\097\000\098\000\255\255\255\255\066\000\066\000\066\000\
 
385
    \066\000\255\255\255\255\155\000\255\255\255\255\103\000\016\000\
 
386
    \017\000\156\000\091\000\206\000\091\000\091\000\091\000\091\000\
 
387
    \207\000\091\000\208\000\091\000\091\000\209\000\091\000\091\000\
 
388
    \091\000\091\000\091\000\091\000\210\000\091\000\091\000\255\255\
 
389
    \255\255\211\000\212\000\212\000\212\000\212\000\112\000\113\000\
 
390
    \114\000\111\000\110\000\111\000\115\000\116\000\117\000\118\000\
 
391
    \111\000\119\000\120\000\121\000\122\000\123\000\124\000\125\000\
 
392
    \126\000\111\000\110\000\104\000\255\255\127\000\128\000\128\000\
 
393
    \128\000\128\000\072\000\073\000\019\000\255\255\075\000\075\000\
 
394
    \075\000\075\000\075\000\020\000\255\255\255\255\165\000\166\000\
 
395
    \084\000\157\000\134\000\255\255\255\255\158\000\021\000\082\000\
 
396
    \082\000\082\000\082\000\022\000\092\000\135\000\038\000\039\000\
 
397
    \255\255\160\000\041\000\041\000\041\000\041\000\042\000\255\255\
 
398
    \255\255\255\255\255\255\081\000\081\000\081\000\081\000\161\000\
 
399
    \255\255\255\255\162\000\255\255\255\255\081\000\081\000\081\000\
 
400
    \081\000\255\255\255\255\255\255\255\255\255\255\255\255\075\000\
 
401
    \075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\
 
402
    \075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\
 
403
    \075\000\076\000\077\000\075\000\255\255\164\000\078\000\075\000\
 
404
    \075\000\075\000\075\000\042\000\042\000\042\000\042\000\041\000\
 
405
    \042\000\042\000\042\000\042\000\042\000\042\000\042\000\042\000\
 
406
    \042\000\042\000\042\000\042\000\042\000\042\000\042\000\041\000\
 
407
    \255\255\255\255\042\000\043\000\043\000\043\000\043\000\255\255\
 
408
    \255\255\255\255\255\255\080\000\068\000\080\000\191\000\255\255\
 
409
    \173\000\255\255\255\255\082\000\082\000\082\000\082\000\255\255\
 
410
    \084\000\180\000\255\255\181\000\255\255\255\255\172\000\255\255\
 
411
    \085\000\085\000\085\000\085\000\174\000\255\255\255\255\255\255\
 
412
    \255\255\085\000\085\000\085\000\085\000\255\255\087\000\087\000\
 
413
    \087\000\087\000\137\000\175\000\176\000\138\000\177\000\178\000\
 
414
    \179\000\255\255\255\255\186\000\139\000\182\000\140\000\183\000\
 
415
    \184\000\103\000\255\255\255\255\185\000\187\000\255\255\255\255\
 
416
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
417
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
418
    \255\255\255\255\031\000\070\000\188\000\255\255\255\255\255\255\
 
419
    \255\255\255\255\255\255\255\255\255\255\255\255\068\000\255\255\
 
420
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
421
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
422
    \068\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
423
    \255\255\255\255\255\255\024\000\255\255\255\255\255\255\255\255\
 
424
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
425
    \255\255\255\255\255\255\255\255\255\255\189\000\255\255\255\255\
 
426
    \255\255\255\255\255\255\255\255\255\255\129\000\129\000\129\000\
 
427
    \129\000\255\255\255\255\129\000\129\000\129\000\129\000\255\255\
 
428
    \255\255\190\000\192\000\193\000\255\255\255\255\194\000\255\255\
 
429
    \255\255\195\000\196\000\255\255\255\255\255\255\255\255\255\255\
 
430
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
431
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\228\000\
 
432
    \024\000\229\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
433
    \255\255\230\000\068\000\255\255\255\255\231\000\226\000\255\255\
 
434
    \232\000\071\000\068\000\036\000\099\000\017\000\255\255\255\255\
 
435
    \031\000\255\255\255\255\255\255\255\255\023\001\198\000\017\000\
 
436
    \066\000\066\000\066\000\066\000\255\255\255\255\255\255\255\255\
 
437
    \133\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
438
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
439
    \131\000\255\255\255\255\255\255\087\000\087\000\087\000\087\000\
 
440
    \024\001\255\255\255\255\227\000\255\255\255\255\255\255\255\255\
 
441
    \246\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
442
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
443
    \198\000\036\000\133\000\255\255\087\000\087\000\087\000\087\000\
 
444
    \255\255\255\255\255\255\255\255\246\000\255\255\255\255\255\255\
 
445
    \255\255\255\255\131\000\213\000\213\000\213\000\213\000\105\000\
 
446
    \255\255\255\255\255\255\105\000\105\000\105\000\105\000\105\000\
 
447
    \105\000\213\000\213\000\213\000\213\000\255\255\255\255\005\001\
 
448
    \005\001\255\255\255\255\255\255\255\255\255\255\255\255\031\001\
 
449
    \026\000\255\255\028\000\255\255\255\255\105\000\105\000\105\000\
 
450
    \105\000\105\000\105\000\032\001\255\255\255\255\255\255\255\255\
 
451
    \255\255\247\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
452
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\102\000\
 
453
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
454
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
455
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
456
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
457
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
458
    \255\255\255\255\255\255\255\255\255\255\255\255\033\001\255\255\
 
459
    \200\000\201\000\034\001\198\000\005\001\005\001\105\000\036\000\
 
460
    \035\001\036\001\105\000\105\000\105\000\105\000\105\000\105\000\
 
461
    \036\000\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
 
462
    \255\255\202\000\198\000\255\255\222\000\222\000\222\000\222\000\
 
463
    \222\000\222\000\222\000\222\000\105\000\105\000\105\000\105\000\
 
464
    \105\000\105\000\029\001\000\000\030\001\000\000\000\000\000\000\
 
465
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
466
    \255\255\255\255\255\255\255\255\255\255\255\255\031\000\255\255\
 
467
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
468
    \026\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
469
    \255\255\255\255\255\255\255\255\198\000\255\255\255\255\255\255\
 
470
    \255\255\255\255\036\000\255\255\255\255\255\255\255\255\255\255\
 
471
    \255\255\255\255\255\255\255\255\255\255\255\255\026\000\255\255\
 
472
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
473
    \255\255\234\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
474
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
475
    \255\255\255\255\255\255\018\001\255\255\255\255\255\255\255\255\
 
476
    \255\255\255\255\255\255\000\000\018\001\255\255\255\255\255\255\
 
477
    \255\255\255\255\000\000\255\255\255\255\255\255\255\255\000\000\
 
478
    \073\000\255\255\255\255\000\000\000\000\255\255\255\255\000\000\
 
479
    \000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
 
480
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
481
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
482
    \255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\
 
483
    \234\000\019\001\000\000\000\000\000\000\021\001\255\255\255\255\
 
484
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
485
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
486
    \255\255\255\255\255\255\031\000\236\000\255\255\255\255\255\255\
 
487
    \255\255\255\255\167\000\255\255\255\255\000\000\168\000\099\000\
 
488
    \073\000\099\000\000\000\255\255\000\000\000\000\000\000\169\000\
 
489
    \000\000\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
 
490
    \255\255\255\255\255\255\255\255\028\000\255\255\255\255\255\255\
 
491
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
492
    \000\000\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
493
    \000\000\000\000\000\000\000\000\000\000\255\255\255\255\000\000\
 
494
    \000\000\000\000\170\000\000\000\171\000\255\255\255\255\000\000\
 
495
    \255\255\255\255\255\255\255\255\000\000\255\255\255\255\255\255\
 
496
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
497
    \255\255\255\255\255\255\255\255\255\255\255\255\000\000\255\255\
 
498
    \255\255\255\255\255\255\255\255\255\255\000\000\000\000\000\000\
 
499
    \000\000\000\000\000\000\255\255\255\255\255\255\255\255\000\000\
 
500
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
501
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
502
    \255\255\037\001\255\255\255\255\255\255\255\255\255\255\255\255\
 
503
    \000\000\039\001\000\000\000\000\000\000\000\000\000\000\000\000\
 
504
    \000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
 
505
    \000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
 
506
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
507
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
508
    \255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\
 
509
    \000\000\000\000\000\000\000\000\255\255\255\255\255\255\255\255\
 
510
    \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
511
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
512
    \234\000\237\000\234\000\255\255\255\255\255\255\255\255\255\255\
 
513
    \255\255\255\255\037\001\000\000\255\255\255\255\255\255\255\255\
 
514
    \255\255\000\000\000\000\000\000\000\000\000\000\255\255\255\255\
 
515
    \000\000\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
 
516
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
517
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
518
    \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
519
    \000\000\000\000\255\255\255\255\000\000\000\000\000\000\000\000\
 
520
    \000\000\000\000\255\255\000\000\000\000\255\255\255\255\224\000\
 
521
    \225\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
522
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
523
    \255\255\255\255\037\001\000\000\255\255\255\255\255\255\255\255\
 
524
    \255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
 
525
    \255\255\255\255\000\000\000\000\000\000\234\000\000\000\000\000\
 
526
    \000\000\000\000\000\000\255\255\255\255\255\255\000\000\255\255\
 
527
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
528
    \255\255\031\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
529
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
530
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
 
531
    \000\000\255\255\255\255\000\000\000\000\000\000\255\255\255\255\
 
532
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\245\000\
 
533
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
534
    \255\255\255\255\255\255\042\001\000\000\255\255\255\255\255\255\
 
535
    \255\255\255\255\248\000\255\255\255\255\000\000\248\000\248\000\
 
536
    \248\000\248\000\248\000\248\000\248\000\255\255\255\255\000\000\
 
537
    \248\000\248\000\248\000\248\000\248\000\248\000\000\000\255\255\
 
538
    \255\255\000\000\042\001\031\000\044\001\000\000\255\255\255\255\
 
539
    \248\000\248\000\248\000\248\000\248\000\248\000\255\255\000\000\
 
540
    \000\000\000\000\248\000\248\000\248\000\248\000\248\000\248\000\
 
541
    \000\000\000\000\000\000\255\255\255\255\000\000\255\255\255\255\
 
542
    \255\255\000\000\000\000\255\255\000\000\000\000\000\000\000\000\
 
543
    \000\000\026\000\000\000\000\000\000\000\255\255\255\255\039\001\
 
544
    \255\255\255\255\000\000\000\000\042\001\000\000\036\000\000\000\
 
545
    \000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
546
    \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
547
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
548
    \000\000\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
 
549
    \255\255\255\255\255\255\255\255\000\000\255\255\255\255\255\255\
 
550
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
551
    \255\255\255\255\255\255\255\255\042\001\255\255\000\000\255\255\
 
552
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
553
    \045\001\042\001\255\255\255\255\255\255\255\255\255\255\000\000\
 
554
    \000\000\000\000\000\000\020\001\000\000\255\255\255\255\020\001\
 
555
    \020\001\020\001\020\001\020\001\020\001\000\000\000\000\000\000\
 
556
    \000\000\000\000\255\255\255\255\000\000\000\000\255\255\255\255\
 
557
    \255\255\255\255\255\255\000\000\000\000\000\000\000\000\000\000\
 
558
    \000\000\020\001\020\001\020\001\020\001\020\001\020\001\000\000\
 
559
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
560
    \255\255\255\255\000\000\255\255\255\255\026\001\027\001\255\255\
 
561
    \028\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
562
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
563
    \000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
564
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
565
    \017\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
566
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
567
    \255\255\255\255\255\255\000\000\255\255\255\255\000\000\000\000\
 
568
    \000\000\000\000\000\000\020\001\255\255\255\255\000\000\020\001\
 
569
    \020\001\020\001\020\001\020\001\020\001\000\000\000\000\000\000\
 
570
    \255\255\255\255\000\000\000\000\000\000\255\255\255\255\000\000\
 
571
    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
572
    \000\000\020\001\020\001\020\001\020\001\020\001\020\001\000\000\
 
573
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
574
    \000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
 
575
    \255\255\255\255\255\255\022\001\255\255\255\255\255\255\255\255\
 
576
    \255\255\255\255\255\255\255\255\255\255\073\000\000\000\000\000\
 
577
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
578
    \255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
 
579
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
580
    \255\255\000\000\000\000\000\000\255\255\255\255\255\255\255\255\
 
581
    \255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
 
582
    \255\255\255\255\000\000\000\000\000\000\000\000\000\000\000\000\
 
583
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
584
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
585
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
586
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
587
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
 
588
    \000\000\000\000\000\000\000\000\000\000\000\000\255\255\255\255\
 
589
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
590
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
591
    \255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
 
592
    \255\255\255\255";
 
593
  Lexing.lex_check = 
 
594
   "\000\000\000\000\007\000\007\000\255\255\011\000\011\000\012\000\
 
595
    \012\000\013\000\013\000\139\000\032\000\032\000\033\000\033\000\
 
596
    \034\000\034\000\047\000\047\000\089\000\089\000\090\000\090\000\
 
597
    \137\000\138\000\001\000\001\000\140\000\141\000\001\000\001\000\
 
598
    \001\000\001\000\001\000\022\000\022\000\142\000\143\000\144\000\
 
599
    \145\000\010\000\146\000\148\000\149\000\023\000\023\000\002\000\
 
600
    \002\000\021\000\021\000\025\000\025\000\063\000\003\000\003\000\
 
601
    \064\000\150\000\062\000\151\000\153\000\000\000\009\000\027\000\
 
602
    \019\000\029\000\030\000\029\000\000\000\000\000\011\000\020\000\
 
603
    \012\000\035\000\013\000\006\000\006\000\032\000\048\000\033\000\
 
604
    \049\000\034\000\052\000\047\000\053\000\000\000\000\000\001\000\
 
605
    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\
 
606
    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\
 
607
    \001\000\001\000\001\000\001\000\002\000\056\000\001\000\001\000\
 
608
    \001\000\001\000\001\000\003\000\002\000\004\000\004\000\022\000\
 
609
    \057\000\004\000\004\000\004\000\004\000\004\000\010\000\010\000\
 
610
    \021\000\023\000\025\000\060\000\002\000\002\000\002\000\043\000\
 
611
    \043\000\043\000\043\000\003\000\003\000\003\000\003\000\061\000\
 
612
    \006\000\005\000\005\000\006\000\097\000\005\000\005\000\005\000\
 
613
    \005\000\005\000\044\000\044\000\044\000\044\000\116\000\059\000\
 
614
    \006\000\006\000\006\000\050\000\050\000\065\000\065\000\065\000\
 
615
    \065\000\076\000\076\000\154\000\051\000\051\000\102\000\015\000\
 
616
    \015\000\155\000\004\000\004\000\004\000\004\000\004\000\004\000\
 
617
    \004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\
 
618
    \004\000\004\000\004\000\004\000\004\000\004\000\004\000\054\000\
 
619
    \054\000\004\000\004\000\004\000\004\000\004\000\005\000\005\000\
 
620
    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
 
621
    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
 
622
    \005\000\005\000\005\000\102\000\050\000\005\000\005\000\005\000\
 
623
    \005\000\005\000\008\000\008\000\015\000\051\000\008\000\008\000\
 
624
    \008\000\008\000\008\000\015\000\059\000\059\000\112\000\112\000\
 
625
    \076\000\156\000\125\000\055\000\055\000\157\000\015\000\077\000\
 
626
    \077\000\077\000\077\000\015\000\125\000\125\000\014\000\014\000\
 
627
    \054\000\159\000\014\000\014\000\014\000\014\000\014\000\078\000\
 
628
    \078\000\079\000\079\000\080\000\080\000\080\000\080\000\160\000\
 
629
    \058\000\058\000\161\000\018\000\018\000\081\000\081\000\081\000\
 
630
    \081\000\083\000\083\000\037\000\037\000\067\000\067\000\008\000\
 
631
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
 
632
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
 
633
    \008\000\008\000\008\000\008\000\055\000\163\000\008\000\008\000\
 
634
    \008\000\008\000\008\000\014\000\014\000\014\000\014\000\014\000\
 
635
    \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
 
636
    \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
 
637
    \018\000\058\000\014\000\014\000\014\000\014\000\014\000\018\000\
 
638
    \037\000\040\000\040\000\078\000\067\000\079\000\167\000\037\000\
 
639
    \169\000\040\000\018\000\082\000\082\000\082\000\082\000\018\000\
 
640
    \083\000\168\000\037\000\168\000\068\000\068\000\170\000\037\000\
 
641
    \084\000\084\000\084\000\084\000\173\000\041\000\041\000\069\000\
 
642
    \069\000\085\000\085\000\085\000\085\000\041\000\087\000\087\000\
 
643
    \087\000\087\000\118\000\174\000\175\000\118\000\176\000\177\000\
 
644
    \178\000\071\000\071\000\180\000\118\000\181\000\118\000\182\000\
 
645
    \183\000\103\000\045\000\045\000\184\000\186\000\040\000\040\000\
 
646
    \040\000\040\000\045\000\040\000\040\000\040\000\040\000\040\000\
 
647
    \040\000\040\000\040\000\040\000\040\000\040\000\040\000\040\000\
 
648
    \040\000\040\000\068\000\068\000\187\000\040\000\040\000\040\000\
 
649
    \040\000\040\000\041\000\041\000\041\000\041\000\069\000\041\000\
 
650
    \041\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\
 
651
    \041\000\041\000\041\000\041\000\041\000\041\000\046\000\046\000\
 
652
    \071\000\041\000\041\000\041\000\041\000\041\000\046\000\045\000\
 
653
    \045\000\045\000\045\000\103\000\045\000\045\000\045\000\045\000\
 
654
    \045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\
 
655
    \045\000\045\000\045\000\066\000\066\000\188\000\045\000\045\000\
 
656
    \045\000\045\000\045\000\070\000\070\000\128\000\128\000\128\000\
 
657
    \128\000\126\000\126\000\129\000\129\000\129\000\129\000\165\000\
 
658
    \165\000\189\000\191\000\192\000\127\000\127\000\193\000\074\000\
 
659
    \074\000\194\000\195\000\046\000\046\000\046\000\046\000\074\000\
 
660
    \046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\
 
661
    \046\000\046\000\046\000\046\000\046\000\046\000\046\000\226\000\
 
662
    \227\000\228\000\046\000\046\000\046\000\046\000\046\000\086\000\
 
663
    \086\000\229\000\066\000\132\000\132\000\230\000\225\000\086\000\
 
664
    \231\000\070\000\070\000\232\000\243\000\254\000\130\000\130\000\
 
665
    \003\001\197\000\197\000\093\000\093\000\012\001\165\000\015\001\
 
666
    \066\000\066\000\066\000\066\000\074\000\074\000\074\000\074\000\
 
667
    \126\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\
 
668
    \074\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\
 
669
    \127\000\210\000\210\000\074\000\074\000\074\000\074\000\074\000\
 
670
    \023\001\106\000\106\000\225\000\086\000\086\000\086\000\086\000\
 
671
    \246\000\086\000\086\000\086\000\086\000\086\000\086\000\086\000\
 
672
    \086\000\086\000\086\000\086\000\086\000\086\000\086\000\086\000\
 
673
    \197\000\029\001\132\000\086\000\086\000\086\000\086\000\086\000\
 
674
    \093\000\094\000\094\000\093\000\245\000\094\000\094\000\094\000\
 
675
    \094\000\094\000\130\000\212\000\212\000\212\000\212\000\104\000\
 
676
    \093\000\093\000\093\000\104\000\104\000\104\000\104\000\104\000\
 
677
    \104\000\213\000\213\000\213\000\213\000\095\000\095\000\004\001\
 
678
    \004\001\095\000\095\000\095\000\095\000\095\000\106\000\030\001\
 
679
    \210\000\106\000\246\000\211\000\211\000\104\000\104\000\104\000\
 
680
    \104\000\104\000\104\000\031\001\214\000\214\000\106\000\106\000\
 
681
    \106\000\245\000\198\000\198\000\199\000\199\000\094\000\094\000\
 
682
    \094\000\094\000\094\000\094\000\094\000\094\000\094\000\094\000\
 
683
    \094\000\094\000\094\000\094\000\094\000\094\000\094\000\094\000\
 
684
    \094\000\094\000\094\000\201\000\201\000\094\000\094\000\094\000\
 
685
    \094\000\094\000\095\000\095\000\095\000\095\000\095\000\095\000\
 
686
    \095\000\095\000\095\000\095\000\095\000\095\000\095\000\095\000\
 
687
    \095\000\095\000\095\000\095\000\095\000\095\000\095\000\100\000\
 
688
    \100\000\095\000\095\000\095\000\095\000\095\000\032\001\100\000\
 
689
    \198\000\198\000\033\001\199\000\005\001\005\001\105\000\211\000\
 
690
    \034\001\035\001\105\000\105\000\105\000\105\000\105\000\105\000\
 
691
    \214\000\255\255\255\255\101\000\101\000\202\000\202\000\215\000\
 
692
    \215\000\201\000\201\000\101\000\221\000\221\000\221\000\221\000\
 
693
    \222\000\222\000\222\000\222\000\105\000\105\000\105\000\105\000\
 
694
    \105\000\105\000\027\001\255\255\027\001\255\255\255\255\255\255\
 
695
    \109\000\109\000\224\000\224\000\100\000\100\000\100\000\100\000\
 
696
    \109\000\100\000\100\000\100\000\100\000\100\000\100\000\100\000\
 
697
    \100\000\100\000\100\000\100\000\100\000\100\000\100\000\100\000\
 
698
    \105\000\255\000\255\000\100\000\100\000\100\000\100\000\100\000\
 
699
    \101\000\101\000\101\000\101\000\202\000\101\000\101\000\101\000\
 
700
    \101\000\101\000\101\000\101\000\101\000\101\000\101\000\101\000\
 
701
    \101\000\101\000\101\000\101\000\110\000\110\000\215\000\101\000\
 
702
    \101\000\101\000\101\000\101\000\110\000\109\000\109\000\109\000\
 
703
    \109\000\224\000\109\000\109\000\109\000\109\000\109\000\109\000\
 
704
    \109\000\109\000\109\000\109\000\109\000\109\000\109\000\109\000\
 
705
    \109\000\233\000\233\000\018\001\109\000\109\000\109\000\109\000\
 
706
    \109\000\119\000\119\000\255\255\017\001\119\000\119\000\119\000\
 
707
    \119\000\119\000\255\255\001\001\001\001\006\001\006\001\255\255\
 
708
    \255\000\007\001\007\001\255\255\255\255\234\000\234\000\255\255\
 
709
    \255\255\110\000\110\000\110\000\110\000\255\255\110\000\110\000\
 
710
    \110\000\110\000\110\000\110\000\110\000\110\000\110\000\110\000\
 
711
    \110\000\110\000\110\000\110\000\110\000\136\000\136\000\255\255\
 
712
    \110\000\110\000\110\000\110\000\110\000\136\000\255\255\255\255\
 
713
    \233\000\017\001\255\255\255\255\255\255\018\001\119\000\119\000\
 
714
    \119\000\119\000\119\000\119\000\119\000\119\000\119\000\119\000\
 
715
    \119\000\119\000\119\000\119\000\119\000\119\000\119\000\119\000\
 
716
    \119\000\119\000\119\000\234\000\234\000\119\000\119\000\119\000\
 
717
    \119\000\119\000\166\000\203\000\203\000\255\255\166\000\001\001\
 
718
    \007\001\006\001\255\255\203\000\255\255\255\255\255\255\166\000\
 
719
    \255\255\255\255\136\000\136\000\136\000\136\000\255\255\136\000\
 
720
    \136\000\136\000\136\000\136\000\136\000\136\000\136\000\136\000\
 
721
    \136\000\136\000\136\000\136\000\136\000\136\000\204\000\204\000\
 
722
    \255\255\136\000\136\000\136\000\136\000\136\000\204\000\255\255\
 
723
    \255\255\255\255\255\255\255\255\255\255\036\001\036\001\255\255\
 
724
    \255\255\255\255\166\000\255\255\166\000\037\001\037\001\255\255\
 
725
    \203\000\203\000\203\000\203\000\255\255\203\000\203\000\203\000\
 
726
    \203\000\203\000\203\000\203\000\203\000\203\000\203\000\203\000\
 
727
    \203\000\203\000\203\000\203\000\205\000\205\000\255\255\203\000\
 
728
    \203\000\203\000\203\000\203\000\205\000\255\255\255\255\255\255\
 
729
    \255\255\255\255\255\255\204\000\204\000\204\000\204\000\255\255\
 
730
    \204\000\204\000\204\000\204\000\204\000\204\000\204\000\204\000\
 
731
    \204\000\204\000\204\000\204\000\204\000\204\000\204\000\216\000\
 
732
    \216\000\036\001\204\000\204\000\204\000\204\000\204\000\216\000\
 
733
    \255\255\037\001\255\255\255\255\255\255\255\255\255\255\255\255\
 
734
    \255\255\235\000\235\000\236\000\236\000\255\255\038\001\038\001\
 
735
    \255\255\205\000\205\000\205\000\205\000\255\255\205\000\205\000\
 
736
    \205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
 
737
    \205\000\205\000\205\000\205\000\205\000\223\000\223\000\255\255\
 
738
    \205\000\205\000\205\000\205\000\205\000\223\000\255\255\255\255\
 
739
    \255\255\255\255\255\255\255\255\216\000\216\000\216\000\216\000\
 
740
    \255\255\216\000\216\000\216\000\216\000\216\000\216\000\216\000\
 
741
    \216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\
 
742
    \235\000\236\000\236\000\216\000\216\000\216\000\216\000\216\000\
 
743
    \220\000\220\000\038\001\255\255\220\000\220\000\220\000\220\000\
 
744
    \220\000\255\255\255\255\255\255\255\255\255\255\040\001\040\001\
 
745
    \255\255\255\255\223\000\223\000\223\000\223\000\255\255\223\000\
 
746
    \223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\
 
747
    \223\000\223\000\223\000\223\000\223\000\223\000\237\000\237\000\
 
748
    \255\255\223\000\223\000\223\000\223\000\223\000\239\000\239\000\
 
749
    \255\255\255\255\244\000\244\000\255\255\255\255\255\255\255\255\
 
750
    \255\255\255\255\244\000\255\255\255\255\220\000\220\000\220\000\
 
751
    \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
 
752
    \220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
 
753
    \220\000\220\000\040\001\255\255\220\000\220\000\220\000\220\000\
 
754
    \220\000\241\000\241\000\255\255\255\255\241\000\241\000\241\000\
 
755
    \241\000\241\000\255\255\255\255\255\255\237\000\255\255\255\255\
 
756
    \255\255\255\255\255\255\239\000\026\001\026\001\255\255\244\000\
 
757
    \244\000\244\000\244\000\239\000\244\000\244\000\244\000\244\000\
 
758
    \244\000\244\000\244\000\244\000\244\000\244\000\244\000\244\000\
 
759
    \244\000\244\000\244\000\239\000\239\000\239\000\244\000\244\000\
 
760
    \244\000\244\000\244\000\041\001\041\001\042\001\042\001\255\255\
 
761
    \255\255\249\000\249\000\255\255\255\255\255\255\241\000\241\000\
 
762
    \241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\
 
763
    \241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\
 
764
    \241\000\241\000\241\000\026\001\255\255\241\000\241\000\241\000\
 
765
    \241\000\241\000\247\000\039\001\039\001\255\255\247\000\247\000\
 
766
    \247\000\247\000\247\000\247\000\248\000\043\001\043\001\255\255\
 
767
    \248\000\248\000\248\000\248\000\248\000\248\000\255\255\251\000\
 
768
    \251\000\255\255\041\001\042\001\042\001\255\255\249\000\251\000\
 
769
    \247\000\247\000\247\000\247\000\247\000\247\000\249\000\255\255\
 
770
    \255\255\255\255\248\000\248\000\248\000\248\000\248\000\248\000\
 
771
    \255\255\255\255\255\255\008\001\008\001\255\255\249\000\249\000\
 
772
    \249\000\255\255\255\255\008\001\255\255\255\255\255\255\255\255\
 
773
    \255\255\039\001\255\255\255\255\255\255\045\001\045\001\039\001\
 
774
    \010\001\010\001\255\255\255\255\043\001\255\255\248\000\255\255\
 
775
    \255\255\255\255\044\001\044\001\251\000\251\000\251\000\251\000\
 
776
    \255\255\251\000\251\000\251\000\251\000\251\000\251\000\251\000\
 
777
    \251\000\251\000\251\000\251\000\251\000\251\000\251\000\251\000\
 
778
    \255\255\255\255\255\255\251\000\251\000\251\000\251\000\251\000\
 
779
    \008\001\008\001\008\001\008\001\255\255\008\001\008\001\008\001\
 
780
    \008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\
 
781
    \008\001\008\001\008\001\008\001\045\001\010\001\255\255\008\001\
 
782
    \008\001\008\001\008\001\008\001\010\001\010\001\011\001\011\001\
 
783
    \044\001\044\001\011\001\011\001\011\001\011\001\011\001\255\255\
 
784
    \255\255\255\255\255\255\019\001\255\255\010\001\010\001\019\001\
 
785
    \019\001\019\001\019\001\019\001\019\001\255\255\255\255\255\255\
 
786
    \255\255\255\255\013\001\013\001\255\255\255\255\013\001\013\001\
 
787
    \013\001\013\001\013\001\255\255\255\255\255\255\255\255\255\255\
 
788
    \255\255\019\001\019\001\019\001\019\001\019\001\019\001\255\255\
 
789
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
790
    \046\001\046\001\255\255\011\001\011\001\011\001\011\001\011\001\
 
791
    \011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\
 
792
    \011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\
 
793
    \255\255\255\255\011\001\011\001\011\001\011\001\011\001\013\001\
 
794
    \013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\
 
795
    \013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\
 
796
    \013\001\013\001\013\001\013\001\016\001\016\001\013\001\013\001\
 
797
    \013\001\013\001\013\001\255\255\016\001\046\001\255\255\255\255\
 
798
    \255\255\255\255\255\255\020\001\046\001\046\001\255\255\020\001\
 
799
    \020\001\020\001\020\001\020\001\020\001\255\255\255\255\255\255\
 
800
    \025\001\025\001\255\255\255\255\255\255\046\001\046\001\255\255\
 
801
    \025\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
802
    \255\255\020\001\020\001\020\001\020\001\020\001\020\001\255\255\
 
803
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
804
    \255\255\016\001\016\001\016\001\016\001\255\255\016\001\016\001\
 
805
    \016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\
 
806
    \016\001\016\001\016\001\016\001\016\001\020\001\255\255\255\255\
 
807
    \016\001\016\001\016\001\016\001\016\001\025\001\025\001\025\001\
 
808
    \025\001\255\255\025\001\025\001\025\001\025\001\025\001\025\001\
 
809
    \025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\
 
810
    \025\001\255\255\255\255\255\255\025\001\025\001\025\001\025\001\
 
811
    \025\001\028\001\028\001\255\255\255\255\028\001\028\001\028\001\
 
812
    \028\001\028\001\255\255\255\255\255\255\255\255\255\255\255\255\
 
813
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
814
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
815
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
816
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
817
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
 
818
    \255\255\255\255\255\255\255\255\255\255\255\255\028\001\028\001\
 
819
    \028\001\028\001\028\001\028\001\028\001\028\001\028\001\028\001\
 
820
    \028\001\028\001\028\001\028\001\028\001\028\001\028\001\028\001\
 
821
    \028\001\028\001\028\001\255\255\255\255\028\001\028\001\028\001\
 
822
    \028\001\028\001"
 
823
}
 
824
 
 
825
let rec scan_content engine lexbuf = 
 
826
  match engine lex_tables 0 lexbuf with
 
827
    0 -> (
 
828
# 174 "pxp_wlex.mll"
 
829
        scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Content )
 
830
  | 1 -> (
 
831
# 176 "pxp_wlex.mll"
 
832
        raise (WF_error ("Illegal processing instruction")) )
 
833
  | 2 -> (
 
834
# 178 "pxp_wlex.mll"
 
835
        Comment_begin dummy_entity, Content_comment )
 
836
  | 3 -> (
 
837
# 181 "pxp_wlex.mll"
 
838
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
839
        if Lexing.lexeme_char lexbuf 1 = '/' then
 
840
          Tag_end (sub_lexeme lexbuf 2 (l-2), dummy_entity), 
 
841
          Within_tag 
 
842
        else
 
843
          Tag_beg (sub_lexeme lexbuf 1 (l-1), dummy_entity), 
 
844
          Within_tag 
 
845
      )
 
846
  | 4 -> (
 
847
# 190 "pxp_wlex.mll"
 
848
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
849
        Cdata (sub_lexeme lexbuf 9 (l-12)), Content )
 
850
  | 5 -> (
 
851
# 193 "pxp_wlex.mll"
 
852
        raise (WF_error "Declaration either malformed or not allowed in this context") 
 
853
      )
 
854
  | 6 -> (
 
855
# 196 "pxp_wlex.mll"
 
856
        raise (WF_error ("The left angle bracket '<' must be written as '&lt;'"))
 
857
      )
 
858
  | 7 -> (
 
859
# 199 "pxp_wlex.mll"
 
860
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
861
        CRef (int_of_string (sub_lexeme lexbuf 2 (l-3))), Content )
 
862
  | 8 -> (
 
863
# 202 "pxp_wlex.mll"
 
864
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
865
        CRef (int_of_string ("0x" ^ sub_lexeme lexbuf 3 (l-4))), Content )
 
866
  | 9 -> (
 
867
# 205 "pxp_wlex.mll"
 
868
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
869
        ERef (sub_lexeme lexbuf 1 (l-2)), Content )
 
870
  | 10 -> (
 
871
# 208 "pxp_wlex.mll"
 
872
        raise (WF_error ("The ampersand '&' must be written as '&amp;'"))
 
873
      )
 
874
  | 11 -> (
 
875
# 219 "pxp_wlex.mll"
 
876
        tok_LineEndCRLF__Content )
 
877
  | 12 -> (
 
878
# 221 "pxp_wlex.mll"
 
879
        tok_LineEndCR__Content )
 
880
  | 13 -> (
 
881
# 223 "pxp_wlex.mll"
 
882
        tok_LineEndLF__Content )
 
883
  | 14 -> (
 
884
# 225 "pxp_wlex.mll"
 
885
        tok_Eof__Content )
 
886
  | 15 -> (
 
887
# 227 "pxp_wlex.mll"
 
888
        raise (WF_error ("The sequence ']]>' must be written as ']]&gt;'"))
 
889
      )
 
890
  | 16 -> (
 
891
# 230 "pxp_wlex.mll"
 
892
        tok_CharDataRBRACKET__Content )
 
893
  | 17 -> (
 
894
# 232 "pxp_wlex.mll"
 
895
        let s = Lexing.lexeme lexbuf in
 
896
        CharData s, Content 
 
897
      )
 
898
  | 18 -> (
 
899
# 236 "pxp_wlex.mll"
 
900
        raise Netconversion.Malformed_code )
 
901
  | _ -> failwith "lexing: empty token [scan_content]"
 
902
 
 
903
and scan_within_tag engine lexbuf = 
 
904
  match engine lex_tables 1 lexbuf with
 
905
    0 -> (
 
906
# 241 "pxp_wlex.mll"
 
907
        tok_IgnoreLineEnd__Within_tag )
 
908
  | 1 -> (
 
909
# 243 "pxp_wlex.mll"
 
910
        tok_IgnoreLineEnd__Within_tag )
 
911
  | 2 -> (
 
912
# 245 "pxp_wlex.mll"
 
913
        tok_IgnoreLineEnd__Within_tag )
 
914
  | 3 -> (
 
915
# 247 "pxp_wlex.mll"
 
916
        tok_Ignore__Within_tag )
 
917
  | 4 -> (
 
918
# 249 "pxp_wlex.mll"
 
919
        Name (Lexing.lexeme lexbuf ), Within_tag )
 
920
  | 5 -> (
 
921
# 251 "pxp_wlex.mll"
 
922
        tok_Eq__Within_tag )
 
923
  | 6 -> (
 
924
# 253 "pxp_wlex.mll"
 
925
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
926
        let v = sub_lexeme lexbuf 1 (l-2) in
 
927
        Attval v, Within_tag )
 
928
  | 7 -> (
 
929
# 257 "pxp_wlex.mll"
 
930
        raise (WF_error ("Cannot find the second quotation mark"))
 
931
      )
 
932
  | 8 -> (
 
933
# 260 "pxp_wlex.mll"
 
934
        let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
 
935
        let v = sub_lexeme lexbuf 1 (l-2) in
 
936
        Attval v, Within_tag )
 
937
  | 9 -> (
 
938
# 264 "pxp_wlex.mll"
 
939
        raise (WF_error ("Cannot find the second quotation mark"))
 
940
      )
 
941
  | 10 -> (
 
942
# 267 "pxp_wlex.mll"
 
943
        tok_Rangle__Content )
 
944
  | 11 -> (
 
945
# 269 "pxp_wlex.mll"
 
946
        tok_Rangle_empty__Content )
 
947
  | 12 -> (
 
948
# 271 "pxp_wlex.mll"
 
949
        tok_Eof__Within_tag )
 
950
  | 13 -> (
 
951
# 273 "pxp_wlex.mll"
 
952
        raise (WF_error ("Illegal inside tags")) )
 
953
  | 14 -> (
 
954
# 275 "pxp_wlex.mll"
 
955
        raise Netconversion.Malformed_code )
 
956
  | _ -> failwith "lexing: empty token [scan_within_tag]"
 
957
 
 
958
and scan_content_string engine lexbuf = 
 
959
  match engine lex_tables 2 lexbuf with
 
960
    0 -> (
 
961
# 282 "pxp_wlex.mll"
 
962
        let s = Lexing.lexeme lexbuf in
 
963
        ERef (String.sub s 1 (String.length s - 2)) )
 
964
  | 1 -> (
 
965
# 285 "pxp_wlex.mll"
 
966
        let s = Lexing.lexeme lexbuf in
 
967
        CRef (int_of_string (String.sub s 2 (String.length s - 3))) )
 
968
  | 2 -> (
 
969
# 288 "pxp_wlex.mll"
 
970
        let s = Lexing.lexeme lexbuf in
 
971
        CRef (int_of_string ("0x" ^ String.sub s 3 (String.length s - 4))) )
 
972
  | 3 -> (
 
973
# 291 "pxp_wlex.mll"
 
974
        raise(WF_error("The character '&' must be written as '&amp;'")) )
 
975
  | 4 -> (
 
976
# 293 "pxp_wlex.mll"
 
977
        CharData "" (* (Lexing.lexeme lexbuf) *) )
 
978
  | 5 -> (
 
979
# 295 "pxp_wlex.mll"
 
980
        CRef 32 )
 
981
  | 6 -> (
 
982
# 297 "pxp_wlex.mll"
 
983
        CRef(-1)   (* A special case *)
 
984
      )
 
985
  | 7 -> (
 
986
# 300 "pxp_wlex.mll"
 
987
        CRef 32 )
 
988
  | 8 -> (
 
989
# 302 "pxp_wlex.mll"
 
990
        CRef 32 )
 
991
  | 9 -> (
 
992
# 304 "pxp_wlex.mll"
 
993
        
 
994
        (* Depending on the situation, '<' may be legal or not: *)
 
995
        CharData "<" 
 
996
      )
 
997
  | 10 -> (
 
998
# 309 "pxp_wlex.mll"
 
999
        Eof )
 
1000
  | 11 -> (
 
1001
# 311 "pxp_wlex.mll"
 
1002
        raise Netconversion.Malformed_code )
 
1003
  | _ -> failwith "lexing: empty token [scan_content_string]"
 
1004
 
 
1005
and scan_document engine lexbuf = 
 
1006
  match engine lex_tables 3 lexbuf with
 
1007
    0 -> (
 
1008
# 318 "pxp_wlex.mll"
 
1009
        scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Document )
 
1010
  | 1 -> (
 
1011
# 320 "pxp_wlex.mll"
 
1012
        raise (WF_error ("Illegal processing instruction")) )
 
1013
  | 2 -> (
 
1014
# 322 "pxp_wlex.mll"
 
1015
        tok_Doctype__Document_type )
 
1016
  | 3 -> (
 
1017
# 324 "pxp_wlex.mll"
 
1018
        Comment_begin dummy_entity, Document_comment )
 
1019
  | 4 -> (
 
1020
# 326 "pxp_wlex.mll"
 
1021
        raise (WF_error "Declaration either malformed or not allowed in this context") 
 
1022
      )
 
1023
  | 5 -> (
 
1024
# 329 "pxp_wlex.mll"
 
1025
        let s = Lexing.lexeme lexbuf in
 
1026
        Tag_beg (String.sub s 1 (String.length s - 1), dummy_entity), Within_tag
 
1027
      )
 
1028
  | 6 -> (
 
1029
# 333 "pxp_wlex.mll"
 
1030
        raise (WF_error ("Illegal token")) )
 
1031
  | 7 -> (
 
1032
# 335 "pxp_wlex.mll"
 
1033
        tok_Ignore__Document )
 
1034
  | 8 -> (
 
1035
# 337 "pxp_wlex.mll"
 
1036
        tok_Eof__Document )
 
1037
  | 9 -> (
 
1038
# 339 "pxp_wlex.mll"
 
1039
        raise (WF_error ("Content not allowed here")) )
 
1040
  | 10 -> (
 
1041
# 341 "pxp_wlex.mll"
 
1042
        raise Netconversion.Malformed_code )
 
1043
  | _ -> failwith "lexing: empty token [scan_document]"
 
1044
 
 
1045
and scan_document_type engine lexbuf = 
 
1046
  match engine lex_tables 4 lexbuf with
 
1047
    0 -> (
 
1048
# 348 "pxp_wlex.mll"
 
1049
        let s = Lexing.lexeme lexbuf in
 
1050
        Name s, Document_type )
 
1051
  | 1 -> (
 
1052
# 351 "pxp_wlex.mll"
 
1053
        tok_Ignore__Document_type )
 
1054
  | 2 -> (
 
1055
# 353 "pxp_wlex.mll"
 
1056
        let s = Lexing.lexeme lexbuf in
 
1057
        (Unparsed_string (String.sub s 1 (String.length s - 2))), Document_type )
 
1058
  | 3 -> (
 
1059
# 356 "pxp_wlex.mll"
 
1060
        raise (WF_error ("Cannot find the second quotation mark"))
 
1061
      )
 
1062
  | 4 -> (
 
1063
# 359 "pxp_wlex.mll"
 
1064
        let s = Lexing.lexeme lexbuf in
 
1065
        (Unparsed_string (String.sub s 1 (String.length s - 2))), Document_type )
 
1066
  | 5 -> (
 
1067
# 362 "pxp_wlex.mll"
 
1068
        raise (WF_error ("Cannot find the second quotation mark"))
 
1069
      )
 
1070
  | 6 -> (
 
1071
# 365 "pxp_wlex.mll"
 
1072
        tok_Dtd_begin__Declaration )
 
1073
  | 7 -> (
 
1074
# 367 "pxp_wlex.mll"
 
1075
        tok_Doctype_rangle__Document )
 
1076
  | 8 -> (
 
1077
# 369 "pxp_wlex.mll"
 
1078
        tok_Eof__Document_type )
 
1079
  | 9 -> (
 
1080
# 371 "pxp_wlex.mll"
 
1081
        raise (WF_error("References to general entities not allowed here")) )
 
1082
  | 10 -> (
 
1083
# 373 "pxp_wlex.mll"
 
1084
        raise (WF_error("References to parameter entities not allowed here")) )
 
1085
  | 11 -> (
 
1086
# 375 "pxp_wlex.mll"
 
1087
        raise (WF_error("Content not allowed here")) )
 
1088
  | 12 -> (
 
1089
# 377 "pxp_wlex.mll"
 
1090
        raise Netconversion.Malformed_code )
 
1091
  | _ -> failwith "lexing: empty token [scan_document_type]"
 
1092
 
 
1093
and scan_declaration engine lexbuf = 
 
1094
  match engine lex_tables 5 lexbuf with
 
1095
    0 -> (
 
1096
# 385 "pxp_wlex.mll"
 
1097
        tok_Ignore__Declaration )
 
1098
  | 1 -> (
 
1099
# 387 "pxp_wlex.mll"
 
1100
        let s = Lexing.lexeme lexbuf in
 
1101
        (PERef (String.sub s 1 (String.length s - 2))), Declaration )
 
1102
  | 2 -> (
 
1103
# 390 "pxp_wlex.mll"
 
1104
        tok_Percent__Declaration )
 
1105
  | 3 -> (
 
1106
# 392 "pxp_wlex.mll"
 
1107
        raise(WF_error("References to general entities not allowed in DTDs")) )
 
1108
  | 4 -> (
 
1109
# 394 "pxp_wlex.mll"
 
1110
        Name (Lexing.lexeme lexbuf), Declaration )
 
1111
  | 5 -> (
 
1112
# 396 "pxp_wlex.mll"
 
1113
        Nametoken (Lexing.lexeme lexbuf), Declaration )
 
1114
  | 6 -> (
 
1115
# 398 "pxp_wlex.mll"
 
1116
        tok_Plus__Declaration )
 
1117
  | 7 -> (
 
1118
# 400 "pxp_wlex.mll"
 
1119
        tok_Star__Declaration )
 
1120
  | 8 -> (
 
1121
# 402 "pxp_wlex.mll"
 
1122
        tok_Bar__Declaration )
 
1123
  | 9 -> (
 
1124
# 404 "pxp_wlex.mll"
 
1125
        tok_Comma__Declaration )
 
1126
  | 10 -> (
 
1127
# 406 "pxp_wlex.mll"
 
1128
        tok_Qmark__Declaration )
 
1129
  | 11 -> (
 
1130
# 408 "pxp_wlex.mll"
 
1131
        tok_Lparen__Declaration )
 
1132
  | 12 -> (
 
1133
# 410 "pxp_wlex.mll"
 
1134
        tok_RparenPlus__Declaration )
 
1135
  | 13 -> (
 
1136
# 412 "pxp_wlex.mll"
 
1137
        tok_RparenStar__Declaration )
 
1138
  | 14 -> (
 
1139
# 414 "pxp_wlex.mll"
 
1140
        tok_RparenQmark__Declaration )
 
1141
  | 15 -> (
 
1142
# 416 "pxp_wlex.mll"
 
1143
        tok_Rparen__Declaration )
 
1144
  | 16 -> (
 
1145
# 418 "pxp_wlex.mll"
 
1146
        tok_Required__Declaration )
 
1147
  | 17 -> (
 
1148
# 420 "pxp_wlex.mll"
 
1149
        tok_Implied__Declaration )
 
1150
  | 18 -> (
 
1151
# 422 "pxp_wlex.mll"
 
1152
        tok_Fixed__Declaration )
 
1153
  | 19 -> (
 
1154
# 424 "pxp_wlex.mll"
 
1155
        tok_Pcdata__Declaration )
 
1156
  | 20 -> (
 
1157
# 426 "pxp_wlex.mll"
 
1158
        tok_Decl_element__Declaration )
 
1159
  | 21 -> (
 
1160
# 428 "pxp_wlex.mll"
 
1161
        tok_Decl_attlist__Declaration )
 
1162
  | 22 -> (
 
1163
# 430 "pxp_wlex.mll"
 
1164
        tok_Decl_entity__Declaration )
 
1165
  | 23 -> (
 
1166
# 432 "pxp_wlex.mll"
 
1167
        tok_Decl_notation__Declaration )
 
1168
  | 24 -> (
 
1169
# 434 "pxp_wlex.mll"
 
1170
        Comment_begin dummy_entity, Decl_comment )
 
1171
  | 25 -> (
 
1172
# 436 "pxp_wlex.mll"
 
1173
        tok_Conditional_begin__Declaration )
 
1174
  | 26 -> (
 
1175
# 438 "pxp_wlex.mll"
 
1176
        tok_Conditional_end__Declaration )
 
1177
  | 27 -> (
 
1178
# 440 "pxp_wlex.mll"
 
1179
        tok_Conditional_body__Declaration )
 
1180
  | 28 -> (
 
1181
# 445 "pxp_wlex.mll"
 
1182
        scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Declaration )
 
1183
  | 29 -> (
 
1184
# 447 "pxp_wlex.mll"
 
1185
        raise (WF_error ("Illegal processing instruction")) )
 
1186
  | 30 -> (
 
1187
# 449 "pxp_wlex.mll"
 
1188
        let s = Lexing.lexeme lexbuf in
 
1189
        (Unparsed_string (String.sub s 1 (String.length s - 2))), Declaration )
 
1190
  | 31 -> (
 
1191
# 452 "pxp_wlex.mll"
 
1192
        raise (WF_error ("Cannot find the second quotation mark"))
 
1193
      )
 
1194
  | 32 -> (
 
1195
# 455 "pxp_wlex.mll"
 
1196
        let s = Lexing.lexeme lexbuf in
 
1197
        (Unparsed_string (String.sub s 1 (String.length s - 2))), Declaration )
 
1198
  | 33 -> (
 
1199
# 458 "pxp_wlex.mll"
 
1200
        raise (WF_error ("Cannot find the second quotation mark"))
 
1201
      )
 
1202
  | 34 -> (
 
1203
# 461 "pxp_wlex.mll"
 
1204
        tok_Decl_rangle__Declaration )
 
1205
  | 35 -> (
 
1206
# 463 "pxp_wlex.mll"
 
1207
        tok_Dtd_end__Document_type )
 
1208
  | 36 -> (
 
1209
# 465 "pxp_wlex.mll"
 
1210
        tok_Eof__Declaration )
 
1211
  | 37 -> (
 
1212
# 467 "pxp_wlex.mll"
 
1213
        raise (WF_error "Declaration either malformed or not allowed in this context") 
 
1214
      )
 
1215
  | 38 -> (
 
1216
# 470 "pxp_wlex.mll"
 
1217
        raise (WF_error("Illegal token or character")) )
 
1218
  | 39 -> (
 
1219
# 472 "pxp_wlex.mll"
 
1220
        raise Netconversion.Malformed_code )
 
1221
  | _ -> failwith "lexing: empty token [scan_declaration]"
 
1222
 
 
1223
and scan_dtd_string engine lexbuf = 
 
1224
  match engine lex_tables 6 lexbuf with
 
1225
    0 -> (
 
1226
# 481 "pxp_wlex.mll"
 
1227
        let s = Lexing.lexeme lexbuf in
 
1228
        PERef (String.sub s 1 (String.length s - 2)) )
 
1229
  | 1 -> (
 
1230
# 484 "pxp_wlex.mll"
 
1231
        raise(WF_error("The character '%' must be written as '&#37;'")) )
 
1232
  | 2 -> (
 
1233
# 486 "pxp_wlex.mll"
 
1234
        let s = Lexing.lexeme lexbuf in
 
1235
        ERef (String.sub s 1 (String.length s - 2)) )
 
1236
  | 3 -> (
 
1237
# 489 "pxp_wlex.mll"
 
1238
        let s = Lexing.lexeme lexbuf in
 
1239
        CRef (int_of_string (String.sub s 2 (String.length s - 3))) )
 
1240
  | 4 -> (
 
1241
# 492 "pxp_wlex.mll"
 
1242
        let s = Lexing.lexeme lexbuf in
 
1243
        CRef (int_of_string ("0x" ^ String.sub s 3 (String.length s - 4))) )
 
1244
  | 5 -> (
 
1245
# 495 "pxp_wlex.mll"
 
1246
        raise(WF_error("The character '&' must be written as '&amp;'")) )
 
1247
  | 6 -> (
 
1248
# 497 "pxp_wlex.mll"
 
1249
        CRef(-1) )
 
1250
  | 7 -> (
 
1251
# 499 "pxp_wlex.mll"
 
1252
        CRef(-2) )
 
1253
  | 8 -> (
 
1254
# 501 "pxp_wlex.mll"
 
1255
        CRef(-3) )
 
1256
  | 9 -> (
 
1257
# 503 "pxp_wlex.mll"
 
1258
        CharData "\009" )
 
1259
  | 10 -> (
 
1260
# 505 "pxp_wlex.mll"
 
1261
        CharData (Lexing.lexeme lexbuf) )
 
1262
  | 11 -> (
 
1263
# 507 "pxp_wlex.mll"
 
1264
        Eof )
 
1265
  | 12 -> (
 
1266
# 509 "pxp_wlex.mll"
 
1267
        raise Netconversion.Malformed_code )
 
1268
  | _ -> failwith "lexing: empty token [scan_dtd_string]"
 
1269
 
 
1270
and scan_characters engine lexbuf = 
 
1271
  match engine lex_tables 7 lexbuf with
 
1272
    0 -> (
 
1273
# 515 "pxp_wlex.mll"
 
1274
      () )
 
1275
  | 1 -> (
 
1276
# 517 "pxp_wlex.mll"
 
1277
      () )
 
1278
  | 2 -> (
 
1279
# 519 "pxp_wlex.mll"
 
1280
      raise Netconversion.Malformed_code )
 
1281
  | _ -> failwith "lexing: empty token [scan_characters]"
 
1282
 
 
1283
and scan_xml_pi engine lexbuf = 
 
1284
  match engine lex_tables 8 lexbuf with
 
1285
    0 -> (
 
1286
# 524 "pxp_wlex.mll"
 
1287
        let s = Lexing.lexeme lexbuf in
 
1288
        let j = get_name_end s 0 in
 
1289
        Pro_name (String.sub s 0 j)
 
1290
      )
 
1291
  | 1 -> (
 
1292
# 529 "pxp_wlex.mll"
 
1293
        Pro_eq )
 
1294
  | 2 -> (
 
1295
# 531 "pxp_wlex.mll"
 
1296
        let s = Lexing.lexeme lexbuf in
 
1297
        let j = String.index_from s 1 '\'' in
 
1298
        Pro_string (String.sub s 1 (j-1))
 
1299
      )
 
1300
  | 3 -> (
 
1301
# 536 "pxp_wlex.mll"
 
1302
        raise (WF_error ("Cannot find the second quotation mark"))
 
1303
      )
 
1304
  | 4 -> (
 
1305
# 539 "pxp_wlex.mll"
 
1306
        let s = Lexing.lexeme lexbuf in
 
1307
        let j = String.index_from s 1 '"' in
 
1308
        Pro_string (String.sub s 1 (j-1))
 
1309
      )
 
1310
  | 5 -> (
 
1311
# 544 "pxp_wlex.mll"
 
1312
        raise (WF_error ("Cannot find the second quotation mark"))
 
1313
      )
 
1314
  | 6 -> (
 
1315
# 547 "pxp_wlex.mll"
 
1316
        Pro_eof )
 
1317
  | 7 -> (
 
1318
# 549 "pxp_wlex.mll"
 
1319
        (* prerr_endline (Lexing.lexeme lexbuf); *)
 
1320
        raise (WF_error("Illegal token or character")) 
 
1321
      )
 
1322
  | 8 -> (
 
1323
# 553 "pxp_wlex.mll"
 
1324
        raise Netconversion.Malformed_code )
 
1325
  | _ -> failwith "lexing: empty token [scan_xml_pi]"
 
1326
 
 
1327
and scan_only_xml_decl engine lexbuf = 
 
1328
  match engine lex_tables 9 lexbuf with
 
1329
    0 -> (
 
1330
# 557 "pxp_wlex.mll"
 
1331
        scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine) )
 
1332
  | 1 -> (
 
1333
# 559 "pxp_wlex.mll"
 
1334
        Eof )
 
1335
  | _ -> failwith "lexing: empty token [scan_only_xml_decl]"
 
1336
 
 
1337
and scan_for_crlf engine lexbuf = 
 
1338
  match engine lex_tables 10 lexbuf with
 
1339
    0 -> (
 
1340
# 563 "pxp_wlex.mll"
 
1341
        CharData "\n" )
 
1342
  | 1 -> (
 
1343
# 565 "pxp_wlex.mll"
 
1344
        CharData "\n" )
 
1345
  | 2 -> (
 
1346
# 567 "pxp_wlex.mll"
 
1347
        CharData "\n" )
 
1348
  | 3 -> (
 
1349
# 569 "pxp_wlex.mll"
 
1350
        CharData (Lexing.lexeme lexbuf) )
 
1351
  | 4 -> (
 
1352
# 571 "pxp_wlex.mll"
 
1353
        Eof )
 
1354
  | _ -> failwith "lexing: empty token [scan_for_crlf]"
 
1355
 
 
1356
and scan_content_comment engine lexbuf = 
 
1357
  match engine lex_tables 11 lexbuf with
 
1358
    0 -> (
 
1359
# 575 "pxp_wlex.mll"
 
1360
        Comment_end dummy_entity, Content )
 
1361
  | 1 -> (
 
1362
# 577 "pxp_wlex.mll"
 
1363
        raise (WF_error "Double hyphens are illegal inside comments") )
 
1364
  | 2 -> (
 
1365
# 579 "pxp_wlex.mll"
 
1366
        Comment_material "-", Content_comment )
 
1367
  | 3 -> (
 
1368
# 581 "pxp_wlex.mll"
 
1369
        Comment_material(Lexing.lexeme lexbuf), Content_comment )
 
1370
  | 4 -> (
 
1371
# 583 "pxp_wlex.mll"
 
1372
        Eof, Content_comment )
 
1373
  | 5 -> (
 
1374
# 585 "pxp_wlex.mll"
 
1375
        raise Netconversion.Malformed_code )
 
1376
  | _ -> failwith "lexing: empty token [scan_content_comment]"
 
1377
 
 
1378
and scan_decl_comment engine lexbuf = 
 
1379
  match engine lex_tables 12 lexbuf with
 
1380
    0 -> (
 
1381
# 592 "pxp_wlex.mll"
 
1382
        Comment_end dummy_entity, Declaration )
 
1383
  | 1 -> (
 
1384
# 594 "pxp_wlex.mll"
 
1385
        raise (WF_error "Double hyphens are illegal inside comments") )
 
1386
  | 2 -> (
 
1387
# 596 "pxp_wlex.mll"
 
1388
        Comment_material "", Decl_comment )
 
1389
  | 3 -> (
 
1390
# 598 "pxp_wlex.mll"
 
1391
        Comment_material "", Decl_comment )
 
1392
  | 4 -> (
 
1393
# 600 "pxp_wlex.mll"
 
1394
        Eof, Decl_comment )
 
1395
  | 5 -> (
 
1396
# 602 "pxp_wlex.mll"
 
1397
        raise Netconversion.Malformed_code )
 
1398
  | _ -> failwith "lexing: empty token [scan_decl_comment]"
 
1399
 
 
1400
and scan_document_comment engine lexbuf = 
 
1401
  match engine lex_tables 13 lexbuf with
 
1402
    0 -> (
 
1403
# 607 "pxp_wlex.mll"
 
1404
        Comment_end dummy_entity, Document )
 
1405
  | 1 -> (
 
1406
# 609 "pxp_wlex.mll"
 
1407
        raise (WF_error "Double hyphens are illegal inside comments") )
 
1408
  | 2 -> (
 
1409
# 611 "pxp_wlex.mll"
 
1410
        Comment_material "-", Document_comment )
 
1411
  | 3 -> (
 
1412
# 613 "pxp_wlex.mll"
 
1413
        Comment_material(Lexing.lexeme lexbuf), Document_comment )
 
1414
  | 4 -> (
 
1415
# 615 "pxp_wlex.mll"
 
1416
        Eof, Document_comment )
 
1417
  | 5 -> (
 
1418
# 617 "pxp_wlex.mll"
 
1419
        raise Netconversion.Malformed_code )
 
1420
  | _ -> failwith "lexing: empty token [scan_document_comment]"
 
1421
 
 
1422
and scan_name_string engine lexbuf = 
 
1423
  match engine lex_tables 14 lexbuf with
 
1424
    0 -> (
 
1425
# 622 "pxp_wlex.mll"
 
1426
        Name (Lexing.lexeme lexbuf) )
 
1427
  | 1 -> (
 
1428
# 624 "pxp_wlex.mll"
 
1429
        Ignore )
 
1430
  | 2 -> (
 
1431
# 626 "pxp_wlex.mll"
 
1432
        Nametoken (Lexing.lexeme lexbuf) )
 
1433
  | 3 -> (
 
1434
# 628 "pxp_wlex.mll"
 
1435
        Eof )
 
1436
  | 4 -> (
 
1437
# 630 "pxp_wlex.mll"
 
1438
        CharData (Lexing.lexeme lexbuf) )
 
1439
  | 5 -> (
 
1440
# 632 "pxp_wlex.mll"
 
1441
        raise Netconversion.Malformed_code )
 
1442
  | _ -> failwith "lexing: empty token [scan_name_string]"
 
1443
 
 
1444
and scan_ignored_section engine lexbuf = 
 
1445
  match engine lex_tables 15 lexbuf with
 
1446
    0 -> (
 
1447
# 637 "pxp_wlex.mll"
 
1448
        tok_Conditional_begin__Ignored )
 
1449
  | 1 -> (
 
1450
# 639 "pxp_wlex.mll"
 
1451
        tok_Conditional_end__Ignored )
 
1452
  | 2 -> (
 
1453
# 641 "pxp_wlex.mll"
 
1454
        tok_Ignore__Ignored )
 
1455
  | 3 -> (
 
1456
# 643 "pxp_wlex.mll"
 
1457
        tok_Ignore__Ignored )
 
1458
  | 4 -> (
 
1459
# 645 "pxp_wlex.mll"
 
1460
        tok_Ignore__Ignored )
 
1461
  | 5 -> (
 
1462
# 647 "pxp_wlex.mll"
 
1463
        tok_Eof__Ignored )
 
1464
  | 6 -> (
 
1465
# 649 "pxp_wlex.mll"
 
1466
        tok_Ignore__Ignored )
 
1467
  | 7 -> (
 
1468
# 651 "pxp_wlex.mll"
 
1469
        tok_Ignore__Ignored )
 
1470
  | 8 -> (
 
1471
# 653 "pxp_wlex.mll"
 
1472
        tok_Ignore__Ignored )
 
1473
  | 9 -> (
 
1474
# 655 "pxp_wlex.mll"
 
1475
        tok_Ignore__Ignored )
 
1476
  | 10 -> (
 
1477
# 657 "pxp_wlex.mll"
 
1478
        tok_Ignore__Ignored )
 
1479
  | 11 -> (
 
1480
# 659 "pxp_wlex.mll"
 
1481
        raise Netconversion.Malformed_code )
 
1482
  | _ -> failwith "lexing: empty token [scan_ignored_section]"
 
1483
 
 
1484
;;
 
1485