Source file lexer.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
# 29 "src/languages/tptp/v6.3.0/lexer.mll"
 
  exception Error

  open Tokens

  module T = Dolmen_std.Tok

  let reserved s =
    T.descr s
      ~kind:"reserved word"
      ~hint:"reserved words cannot be used as identifiers"

  let descr t : T.descr =
    match (t: token) with
    | EOF -> T.descr ~kind:"end of file token" ""
    | DOT -> reserved "."
    | COMMA -> reserved ","
    | COLON -> reserved ":"
    | LEFT_PAREN -> reserved "("
    | RIGHT_PAREN -> reserved ")"
    | LEFT_BRACKET -> reserved "["
    | RIGHT_BRACKET -> reserved "]"
    | CNF -> reserved "cnf"
    | FOF -> reserved "fof"
    | TFF -> reserved "tff"
    | THF -> reserved "thf"
    | TPI -> reserved "tpi"
    | INCLUDE -> reserved "include"
    | LAMBDA -> reserved "^"
    | APPLY -> reserved "@"
    | DEFINITE_DESCRIPTION -> reserved "@-"
    | INDEFINITE_DESCRIPTION -> reserved "@+"
    | FORALL_TY -> reserved "!>"
    | FORALL -> reserved "!"
    | EXISTS_TY -> reserved "?*"
    | EXISTS -> reserved "?"

    | PI -> reserved "!!"
    | SIGMA -> reserved "??"

    | LESS -> reserved "<"
    | ARROW -> reserved ">"

    | STAR -> reserved "*"
    | PLUS -> reserved "+"

    | XOR -> reserved "<~>"
    | EQUIV -> reserved "<=>"
    | IMPLY -> reserved "=>"
    | LEFT_IMPLY -> reserved "<="

    | NOT -> reserved "~"
    | AND -> reserved "&"
    | VLINE -> reserved "|"
    | NOTAND -> reserved "~&"
    | NOTVLINE -> reserved "~|"

    | EQUAL -> reserved "="
    | NOT_EQUAL -> reserved "!="
    | GENTZEN_ARROW -> reserved "-->"

    | ITE_F -> reserved "$ite_f"
    | ITE_T -> reserved "$ite_t"
    | LET_TF -> reserved "$let_tf"
    | LET_FF -> reserved "$let_ff"
    | LET_FT -> reserved "$let_ft"
    | LET_TT -> reserved "$let_tt"

    | DOLLAR_THF -> reserved "$thf"
    | DOLLAR_TFF -> reserved "$tff"
    | DOLLAR_FOF -> reserved "$fof"
    | DOLLAR_CNF -> reserved "$cnf"
    | DOLLAR_FOT -> reserved "$fot"

    | LOWER_WORD s -> T.descr ~kind:"lower word" s
    | UPPER_WORD s -> T.descr ~kind:"upper_word" s
    | SINGLE_QUOTED s -> T.descr ~kind:"single-quoted word" s
    | DISTINCT_OBJECT s -> T.descr ~kind:"distinct object" s
    | DOLLAR_WORD s -> T.descr ~kind:"dollar word" s
    | DOLLAR_DOLLAR_WORD s -> T.descr ~kind:"double dollar word" s
    | REAL s -> T.descr ~kind:"real literal" s
    | RATIONAL s -> T.descr ~kind:"rational literal" s
    | INTEGER s -> T.descr ~kind:"integer literal" s


# 88 "src/languages/tptp/v6.3.0/lexer.ml"
let __ocaml_lex_tables = {
  Lexing.lex_base =
   "\000\000\209\255\081\000\093\000\061\000\053\000\160\000\186\000\
    \014\001\115\000\224\255\225\255\186\000\034\000\135\000\232\255\
    \233\255\080\000\081\000\113\000\104\000\244\255\245\255\246\255\
    \247\255\248\255\249\255\250\255\251\255\252\255\253\255\254\255\
    \017\000\138\000\110\000\151\000\255\255\153\000\241\255\242\255\
    \220\255\236\255\240\255\235\255\238\255\063\000\080\000\230\255\
    \229\255\093\001\150\000\115\001\125\001\134\001\147\001\157\001\
    \167\001\210\255\179\001\189\001\228\255\222\255\223\255\081\000\
    \219\255\162\001\237\001\056\002\112\000\208\001\214\255\213\255\
    \219\000\113\002\136\002\200\001\145\002\161\002\171\002\181\002\
    \193\002\203\002";
  Lexing.lex_backtrk =
   "\255\255\255\255\043\000\043\000\046\000\046\000\039\000\046\000\
    \037\000\046\000\255\255\255\255\029\000\034\000\024\000\255\255\
    \255\255\021\000\018\000\016\000\012\000\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \046\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\028\000\255\255\255\255\
    \255\255\043\000\043\000\255\255\255\255\255\255\044\000\045\000\
    \045\000\255\255\255\255\045\000\255\255\255\255\255\255\255\255\
    \255\255\255\255\038\000\040\000\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\044\000\045\000\045\000\
    \255\255\045\000";
  Lexing.lex_default =
   "\001\000\000\000\255\255\255\255\073\000\069\000\255\255\255\255\
    \255\255\255\255\000\000\000\000\255\255\255\255\255\255\000\000\
    \000\000\255\255\255\255\255\255\255\255\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \255\255\033\000\034\000\034\000\000\000\034\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\255\255\255\255\000\000\
    \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\000\000\255\255\255\255\000\000\000\000\000\000\255\255\
    \000\000\255\255\255\255\255\255\255\255\069\000\000\000\000\000\
    \255\255\073\000\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255";
  Lexing.lex_trans =
   "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\030\000\031\000\000\000\000\000\030\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \030\000\019\000\004\000\033\000\007\000\033\000\011\000\005\000\
    \025\000\024\000\015\000\014\000\027\000\009\000\028\000\032\000\
    \003\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\
    \002\000\002\000\026\000\034\000\017\000\013\000\016\000\018\000\
    \020\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\023\000\255\255\022\000\021\000\071\000\
    \060\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\044\000\010\000\048\000\012\000\075\000\
    \076\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\
    \002\000\002\000\002\000\075\000\076\000\045\000\047\000\064\000\
    \043\000\068\000\041\000\039\000\255\255\038\000\074\000\069\000\
    \035\000\072\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \063\000\000\000\074\000\050\000\049\000\049\000\049\000\049\000\
    \049\000\049\000\049\000\049\000\049\000\000\000\040\000\042\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\074\000\050\000\
    \049\000\049\000\049\000\049\000\049\000\049\000\049\000\049\000\
    \049\000\037\000\074\000\037\000\052\000\053\000\036\000\000\000\
    \255\255\000\000\000\000\000\000\069\000\000\000\046\000\000\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\000\000\051\000\000\000\000\000\065\000\000\000\
    \062\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\051\000\000\000\073\000\000\000\006\000\
    \029\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\255\255\061\000\073\000\
    \000\000\000\000\000\000\000\000\000\000\255\255\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\000\000\000\000\000\000\000\000\008\000\255\255\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\000\000\255\255\052\000\053\000\049\000\049\000\049\000\
    \049\000\049\000\049\000\049\000\049\000\049\000\049\000\255\255\
    \000\000\255\255\000\000\000\000\000\000\000\000\058\000\000\000\
    \058\000\000\000\051\000\057\000\056\000\056\000\056\000\056\000\
    \056\000\056\000\056\000\056\000\056\000\055\000\055\000\055\000\
    \055\000\055\000\055\000\055\000\055\000\055\000\055\000\054\000\
    \054\000\054\000\054\000\054\000\054\000\054\000\054\000\054\000\
    \000\000\000\000\051\000\054\000\054\000\054\000\054\000\054\000\
    \054\000\054\000\054\000\054\000\054\000\055\000\055\000\055\000\
    \055\000\055\000\055\000\055\000\055\000\055\000\055\000\056\000\
    \056\000\056\000\056\000\056\000\056\000\056\000\056\000\056\000\
    \056\000\000\000\051\000\057\000\059\000\059\000\059\000\059\000\
    \059\000\059\000\059\000\059\000\059\000\059\000\059\000\059\000\
    \059\000\059\000\059\000\059\000\059\000\059\000\059\000\070\000\
    \078\000\078\000\078\000\078\000\078\000\078\000\078\000\078\000\
    \078\000\078\000\051\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\000\000\
    \000\000\000\000\000\000\000\000\068\000\000\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \000\000\000\000\000\000\000\000\066\000\000\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\071\000\000\000\000\000\000\000\067\000\
    \000\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\080\000\000\000\080\000\000\000\000\000\
    \057\000\079\000\079\000\079\000\079\000\079\000\079\000\079\000\
    \079\000\079\000\077\000\077\000\077\000\077\000\077\000\077\000\
    \077\000\077\000\077\000\000\000\000\000\072\000\000\000\000\000\
    \255\255\077\000\077\000\077\000\077\000\077\000\077\000\077\000\
    \077\000\077\000\077\000\078\000\078\000\078\000\078\000\078\000\
    \078\000\078\000\078\000\078\000\078\000\079\000\079\000\079\000\
    \079\000\079\000\079\000\079\000\079\000\079\000\079\000\000\000\
    \074\000\057\000\081\000\081\000\081\000\081\000\081\000\081\000\
    \081\000\081\000\081\000\081\000\081\000\081\000\081\000\081\000\
    \081\000\081\000\081\000\081\000\081\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \074\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\255\255\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000";
  Lexing.lex_check =
   "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\000\000\000\000\255\255\255\255\000\000\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\032\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\005\000\000\000\000\000\004\000\
    \013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
    \000\000\000\000\000\000\018\000\000\000\045\000\000\000\002\000\
    \002\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\
    \002\000\002\000\002\000\003\000\003\000\017\000\046\000\063\000\
    \018\000\005\000\019\000\020\000\033\000\020\000\002\000\068\000\
    \034\000\004\000\255\255\255\255\255\255\255\255\255\255\255\255\
    \009\000\255\255\003\000\009\000\009\000\009\000\009\000\009\000\
    \009\000\009\000\009\000\009\000\009\000\255\255\019\000\019\000\
    \255\255\255\255\255\255\255\255\255\255\255\255\002\000\014\000\
    \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
    \014\000\035\000\003\000\037\000\050\000\050\000\035\000\255\255\
    \037\000\255\255\255\255\255\255\068\000\255\255\017\000\255\255\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\255\255\050\000\255\255\255\255\007\000\255\255\
    \012\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\050\000\255\255\072\000\255\255\006\000\
    \000\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
    \006\000\006\000\006\000\007\000\007\000\007\000\007\000\007\000\
    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\
    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\
    \007\000\007\000\007\000\007\000\007\000\005\000\012\000\072\000\
    \255\255\255\255\255\255\255\255\255\255\004\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\255\255\255\255\255\255\255\255\008\000\034\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
    \008\000\255\255\033\000\049\000\049\000\049\000\049\000\049\000\
    \049\000\049\000\049\000\049\000\049\000\049\000\049\000\035\000\
    \255\255\037\000\255\255\255\255\255\255\255\255\051\000\255\255\
    \051\000\255\255\049\000\051\000\051\000\051\000\051\000\051\000\
    \051\000\051\000\051\000\051\000\051\000\052\000\052\000\052\000\
    \052\000\052\000\052\000\052\000\052\000\052\000\052\000\053\000\
    \053\000\053\000\053\000\053\000\053\000\053\000\053\000\053\000\
    \255\255\255\255\049\000\054\000\054\000\054\000\054\000\054\000\
    \054\000\054\000\054\000\054\000\054\000\055\000\055\000\055\000\
    \055\000\055\000\055\000\055\000\055\000\055\000\055\000\056\000\
    \056\000\056\000\056\000\056\000\056\000\056\000\056\000\056\000\
    \056\000\255\255\055\000\058\000\058\000\058\000\058\000\058\000\
    \058\000\058\000\058\000\058\000\058\000\059\000\059\000\059\000\
    \059\000\059\000\059\000\059\000\059\000\059\000\059\000\069\000\
    \075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\
    \075\000\075\000\055\000\065\000\065\000\065\000\065\000\065\000\
    \065\000\065\000\065\000\065\000\065\000\065\000\065\000\065\000\
    \065\000\065\000\065\000\065\000\065\000\065\000\065\000\065\000\
    \065\000\065\000\065\000\065\000\065\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\255\255\
    \255\255\255\255\255\255\255\255\069\000\255\255\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \255\255\255\255\255\255\255\255\066\000\255\255\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \066\000\066\000\066\000\066\000\066\000\066\000\066\000\066\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\073\000\255\255\255\255\255\255\067\000\
    \255\255\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\067\000\067\000\067\000\067\000\067\000\
    \067\000\067\000\067\000\074\000\255\255\074\000\255\255\255\255\
    \074\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\
    \074\000\074\000\076\000\076\000\076\000\076\000\076\000\076\000\
    \076\000\076\000\076\000\255\255\255\255\073\000\255\255\255\255\
    \069\000\077\000\077\000\077\000\077\000\077\000\077\000\077\000\
    \077\000\077\000\077\000\078\000\078\000\078\000\078\000\078\000\
    \078\000\078\000\078\000\078\000\078\000\079\000\079\000\079\000\
    \079\000\079\000\079\000\079\000\079\000\079\000\079\000\255\255\
    \078\000\080\000\080\000\080\000\080\000\080\000\080\000\080\000\
    \080\000\080\000\080\000\081\000\081\000\081\000\081\000\081\000\
    \081\000\081\000\081\000\081\000\081\000\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \078\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\073\000\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
    \255\255\255\255\255\255\255\255";
  Lexing.lex_base_code =
   "";
  Lexing.lex_backtrk_code =
   "";
  Lexing.lex_default_code =
   "";
  Lexing.lex_trans_code =
   "";
  Lexing.lex_check_code =
   "";
  Lexing.lex_code =
   "";
}

let rec token newline lexbuf =
   __ocaml_lex_token_rec newline lexbuf 0
and __ocaml_lex_token_rec newline lexbuf __ocaml_lex_state =
  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
      | 0 ->
# 157 "src/languages/tptp/v6.3.0/lexer.mll"
    ( String.iter (function
        | '\n' -> newline lexbuf
        | _ -> ()
      ) (Lexing.lexeme lexbuf);
      token newline lexbuf )
# 397 "src/languages/tptp/v6.3.0/lexer.ml"

  | 1 ->
# 163 "src/languages/tptp/v6.3.0/lexer.mll"
         ( newline lexbuf; token newline lexbuf )
# 402 "src/languages/tptp/v6.3.0/lexer.ml"

  | 2 ->
# 164 "src/languages/tptp/v6.3.0/lexer.mll"
                    ( token newline lexbuf )
# 407 "src/languages/tptp/v6.3.0/lexer.ml"

  | 3 ->
# 165 "src/languages/tptp/v6.3.0/lexer.mll"
        ( EOF )
# 412 "src/languages/tptp/v6.3.0/lexer.ml"

  | 4 ->
# 167 "src/languages/tptp/v6.3.0/lexer.mll"
          ( DOT )
# 417 "src/languages/tptp/v6.3.0/lexer.ml"

  | 5 ->
# 168 "src/languages/tptp/v6.3.0/lexer.mll"
          ( COMMA )
# 422 "src/languages/tptp/v6.3.0/lexer.ml"

  | 6 ->
# 169 "src/languages/tptp/v6.3.0/lexer.mll"
          ( COLON )
# 427 "src/languages/tptp/v6.3.0/lexer.ml"

  | 7 ->
# 171 "src/languages/tptp/v6.3.0/lexer.mll"
          ( LEFT_PAREN )
# 432 "src/languages/tptp/v6.3.0/lexer.ml"

  | 8 ->
# 172 "src/languages/tptp/v6.3.0/lexer.mll"
          ( RIGHT_PAREN )
# 437 "src/languages/tptp/v6.3.0/lexer.ml"

  | 9 ->
# 173 "src/languages/tptp/v6.3.0/lexer.mll"
          ( LEFT_BRACKET )
# 442 "src/languages/tptp/v6.3.0/lexer.ml"

  | 10 ->
# 174 "src/languages/tptp/v6.3.0/lexer.mll"
          ( RIGHT_BRACKET )
# 447 "src/languages/tptp/v6.3.0/lexer.ml"

  | 11 ->
# 176 "src/languages/tptp/v6.3.0/lexer.mll"
          ( LAMBDA )
# 452 "src/languages/tptp/v6.3.0/lexer.ml"

  | 12 ->
# 177 "src/languages/tptp/v6.3.0/lexer.mll"
          ( APPLY )
# 457 "src/languages/tptp/v6.3.0/lexer.ml"

  | 13 ->
# 178 "src/languages/tptp/v6.3.0/lexer.mll"
          ( INDEFINITE_DESCRIPTION )
# 462 "src/languages/tptp/v6.3.0/lexer.ml"

  | 14 ->
# 179 "src/languages/tptp/v6.3.0/lexer.mll"
          ( DEFINITE_DESCRIPTION )
# 467 "src/languages/tptp/v6.3.0/lexer.ml"

  | 15 ->
# 180 "src/languages/tptp/v6.3.0/lexer.mll"
          ( FORALL_TY )
# 472 "src/languages/tptp/v6.3.0/lexer.ml"

  | 16 ->
# 181 "src/languages/tptp/v6.3.0/lexer.mll"
          ( FORALL )
# 477 "src/languages/tptp/v6.3.0/lexer.ml"

  | 17 ->
# 182 "src/languages/tptp/v6.3.0/lexer.mll"
          ( EXISTS_TY )
# 482 "src/languages/tptp/v6.3.0/lexer.ml"

  | 18 ->
# 183 "src/languages/tptp/v6.3.0/lexer.mll"
          ( EXISTS )
# 487 "src/languages/tptp/v6.3.0/lexer.ml"

  | 19 ->
# 185 "src/languages/tptp/v6.3.0/lexer.mll"
          ( PI )
# 492 "src/languages/tptp/v6.3.0/lexer.ml"

  | 20 ->
# 186 "src/languages/tptp/v6.3.0/lexer.mll"
          ( SIGMA )
# 497 "src/languages/tptp/v6.3.0/lexer.ml"

  | 21 ->
# 188 "src/languages/tptp/v6.3.0/lexer.mll"
          ( LESS )
# 502 "src/languages/tptp/v6.3.0/lexer.ml"

  | 22 ->
# 189 "src/languages/tptp/v6.3.0/lexer.mll"
          ( ARROW )
# 507 "src/languages/tptp/v6.3.0/lexer.ml"

  | 23 ->
# 191 "src/languages/tptp/v6.3.0/lexer.mll"
          ( STAR )
# 512 "src/languages/tptp/v6.3.0/lexer.ml"

  | 24 ->
# 192 "src/languages/tptp/v6.3.0/lexer.mll"
          ( PLUS )
# 517 "src/languages/tptp/v6.3.0/lexer.ml"

  | 25 ->
# 194 "src/languages/tptp/v6.3.0/lexer.mll"
          ( XOR )
# 522 "src/languages/tptp/v6.3.0/lexer.ml"

  | 26 ->
# 195 "src/languages/tptp/v6.3.0/lexer.mll"
          ( EQUIV )
# 527 "src/languages/tptp/v6.3.0/lexer.ml"

  | 27 ->
# 196 "src/languages/tptp/v6.3.0/lexer.mll"
          ( IMPLY )
# 532 "src/languages/tptp/v6.3.0/lexer.ml"

  | 28 ->
# 197 "src/languages/tptp/v6.3.0/lexer.mll"
          ( LEFT_IMPLY )
# 537 "src/languages/tptp/v6.3.0/lexer.ml"

  | 29 ->
# 199 "src/languages/tptp/v6.3.0/lexer.mll"
          ( NOT )
# 542 "src/languages/tptp/v6.3.0/lexer.ml"

  | 30 ->
# 200 "src/languages/tptp/v6.3.0/lexer.mll"
          ( AND )
# 547 "src/languages/tptp/v6.3.0/lexer.ml"

  | 31 ->
# 201 "src/languages/tptp/v6.3.0/lexer.mll"
          ( VLINE )
# 552 "src/languages/tptp/v6.3.0/lexer.ml"

  | 32 ->
# 202 "src/languages/tptp/v6.3.0/lexer.mll"
          ( NOTAND )
# 557 "src/languages/tptp/v6.3.0/lexer.ml"

  | 33 ->
# 203 "src/languages/tptp/v6.3.0/lexer.mll"
          ( NOTVLINE )
# 562 "src/languages/tptp/v6.3.0/lexer.ml"

  | 34 ->
# 205 "src/languages/tptp/v6.3.0/lexer.mll"
          ( EQUAL )
# 567 "src/languages/tptp/v6.3.0/lexer.ml"

  | 35 ->
# 206 "src/languages/tptp/v6.3.0/lexer.mll"
          ( NOT_EQUAL )
# 572 "src/languages/tptp/v6.3.0/lexer.ml"

  | 36 ->
# 207 "src/languages/tptp/v6.3.0/lexer.mll"
          ( GENTZEN_ARROW )
# 577 "src/languages/tptp/v6.3.0/lexer.ml"

  | 37 ->
# 210 "src/languages/tptp/v6.3.0/lexer.mll"
               (
    match Lexing.lexeme lexbuf with
    | "cnf" -> CNF
    | "fof" -> FOF
    | "tff" -> TFF
    | "thf" -> THF
    | "tpi" -> TPI
    | "include" -> INCLUDE
    | s -> LOWER_WORD(s)
  )
# 591 "src/languages/tptp/v6.3.0/lexer.ml"

  | 38 ->
# 220 "src/languages/tptp/v6.3.0/lexer.mll"
                (
    match Lexing.lexeme lexbuf with
    | "$cnf" -> DOLLAR_CNF
    | "$fof" -> DOLLAR_FOF
    | "$tff" -> DOLLAR_TFF
    | "$thf" -> DOLLAR_THF
    | "$fot" -> DOLLAR_FOT
    | "$ite_f" -> ITE_F
    | "$ite_t" -> ITE_T
    | "$let_tf" -> LET_TF
    | "$let_ft" -> LET_FT
    | "$let_ff" -> LET_FF
    | "$let_tt" -> LET_TT
    | s -> DOLLAR_WORD(s)
  )
# 610 "src/languages/tptp/v6.3.0/lexer.ml"

  | 39 ->
# 235 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( UPPER_WORD(Lexing.lexeme lexbuf) )
# 615 "src/languages/tptp/v6.3.0/lexer.ml"

  | 40 ->
# 236 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( DOLLAR_DOLLAR_WORD(Lexing.lexeme lexbuf) )
# 620 "src/languages/tptp/v6.3.0/lexer.ml"

  | 41 ->
# 237 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( SINGLE_QUOTED(Lexing.lexeme lexbuf) )
# 625 "src/languages/tptp/v6.3.0/lexer.ml"

  | 42 ->
# 238 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( DISTINCT_OBJECT(Lexing.lexeme lexbuf) )
# 630 "src/languages/tptp/v6.3.0/lexer.ml"

  | 43 ->
# 239 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( INTEGER(Lexing.lexeme lexbuf) )
# 635 "src/languages/tptp/v6.3.0/lexer.ml"

  | 44 ->
# 240 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( RATIONAL(Lexing.lexeme lexbuf) )
# 640 "src/languages/tptp/v6.3.0/lexer.ml"

  | 45 ->
# 241 "src/languages/tptp/v6.3.0/lexer.mll"
                        ( REAL(Lexing.lexeme lexbuf) )
# 645 "src/languages/tptp/v6.3.0/lexer.ml"

  | 46 ->
# 243 "src/languages/tptp/v6.3.0/lexer.mll"
      ( raise Error )
# 650 "src/languages/tptp/v6.3.0/lexer.ml"

  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf;
      __ocaml_lex_token_rec newline lexbuf __ocaml_lex_state

;;