-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCPar.fs
More file actions
1971 lines (1960 loc) · 128 KB
/
CPar.fs
File metadata and controls
1971 lines (1960 loc) · 128 KB
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
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Implementation file for parser generated by fsyacc
module CPar
#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
open FSharp.Text.Lexing
open FSharp.Text.Parsing.ParseHelpers
# 1 "CPar.fsy"
(* File MicroC/CPar.fsy
Parser specification for micro-C, a small imperative language
sestoft@itu.dk * 2009-09-29
No (real) shift/reduce conflicts thanks to Niels Kokholm.
*)
open Absyn
// Vardesc 返回的是一个 元组 (g,s)
// g是类型构造函数,s是变量名
// compose1 函数 取出 类型构造子 g,用类型复合机制构造类型。
let compose1 f (g, s) = ((fun x -> g(f(x))), s)
let nl = CstI 10 // \n 的 ASCII 码
let first (a, _, _) = a
let second (_, b, _) = b
let third (_, _, c) = c
# 26 "CPar.fs"
// This type is the type of tokens accepted by the parser
type token =
| EOF
| LPAR
| RPAR
| LBRACE
| RBRACE
| LBRACK
| RBRACK
| SEMI
| COMMA
| ASSIGN
| AMP
| NOT
| SEQOR
| SEQAND
| EQ
| NE
| GT
| LT
| GE
| LE
| COLON
| QUEST
| PLUS
| MINUS
| TIMES
| DIV
| MOD
| PREINC
| PREDEC
| PLUSASSIGN
| MINUSASSIGN
| TIMESASSIGN
| DIVASSIGN
| MODASSIGN
| ELSE
| IF
| NULL
| PRINT
| PRINTLN
| RETURN
| VOID
| WHILE
| FOR
| SWITCH
| CASE
| DEFAULT
| DO
| UNTIL
| IN
| RANGE
| INT
| CHAR
| FLOAT
| DOUBLE
| LONG
| STRING
| BOOLEAN
| CSTSTRING of (string)
| NAME of (string)
| CSTCHAR of (char)
| CSTLONG of (int64)
| CSTDOUBLE of (double)
| CSTFLOAT of (float32)
| CSTINT of (int)
| CSTBOOL of (int)
// This type is used to give symbolic names to token indexes, useful for error messages
type tokenId =
| TOKEN_EOF
| TOKEN_LPAR
| TOKEN_RPAR
| TOKEN_LBRACE
| TOKEN_RBRACE
| TOKEN_LBRACK
| TOKEN_RBRACK
| TOKEN_SEMI
| TOKEN_COMMA
| TOKEN_ASSIGN
| TOKEN_AMP
| TOKEN_NOT
| TOKEN_SEQOR
| TOKEN_SEQAND
| TOKEN_EQ
| TOKEN_NE
| TOKEN_GT
| TOKEN_LT
| TOKEN_GE
| TOKEN_LE
| TOKEN_COLON
| TOKEN_QUEST
| TOKEN_PLUS
| TOKEN_MINUS
| TOKEN_TIMES
| TOKEN_DIV
| TOKEN_MOD
| TOKEN_PREINC
| TOKEN_PREDEC
| TOKEN_PLUSASSIGN
| TOKEN_MINUSASSIGN
| TOKEN_TIMESASSIGN
| TOKEN_DIVASSIGN
| TOKEN_MODASSIGN
| TOKEN_ELSE
| TOKEN_IF
| TOKEN_NULL
| TOKEN_PRINT
| TOKEN_PRINTLN
| TOKEN_RETURN
| TOKEN_VOID
| TOKEN_WHILE
| TOKEN_FOR
| TOKEN_SWITCH
| TOKEN_CASE
| TOKEN_DEFAULT
| TOKEN_DO
| TOKEN_UNTIL
| TOKEN_IN
| TOKEN_RANGE
| TOKEN_INT
| TOKEN_CHAR
| TOKEN_FLOAT
| TOKEN_DOUBLE
| TOKEN_LONG
| TOKEN_STRING
| TOKEN_BOOLEAN
| TOKEN_CSTSTRING
| TOKEN_NAME
| TOKEN_CSTCHAR
| TOKEN_CSTLONG
| TOKEN_CSTDOUBLE
| TOKEN_CSTFLOAT
| TOKEN_CSTINT
| TOKEN_CSTBOOL
| TOKEN_end_of_input
| TOKEN_error
// This type is used to give symbolic names to token indexes, useful for error messages
type nonTerminalId =
| NONTERM__startMain
| NONTERM_Main
| NONTERM_Topdecs
| NONTERM_Topdec
| NONTERM_Vardec
| NONTERM_VardecAndAssign
| NONTERM_Vardesc
| NONTERM_Fundec
| NONTERM_Paramdecs
| NONTERM_Paramdecs1
| NONTERM_Block
| NONTERM_StmtOrDecSeq
| NONTERM_Stmt
| NONTERM_StmtM
| NONTERM_StmtU
| NONTERM_CaseList
| NONTERM_CaseDec
| NONTERM_Expr
| NONTERM_ExprNotAccess
| NONTERM_AtExprNotAccess
| NONTERM_Access
| NONTERM_Exprs
| NONTERM_Exprs1
| NONTERM_Const
| NONTERM_ConstDouble
| NONTERM_ConstFloat
| NONTERM_ConstLong
| NONTERM_ConstChar
| NONTERM_ConstString
| NONTERM_Type
// This function maps tokens to integer indexes
let tagOfToken (t:token) =
match t with
| EOF -> 0
| LPAR -> 1
| RPAR -> 2
| LBRACE -> 3
| RBRACE -> 4
| LBRACK -> 5
| RBRACK -> 6
| SEMI -> 7
| COMMA -> 8
| ASSIGN -> 9
| AMP -> 10
| NOT -> 11
| SEQOR -> 12
| SEQAND -> 13
| EQ -> 14
| NE -> 15
| GT -> 16
| LT -> 17
| GE -> 18
| LE -> 19
| COLON -> 20
| QUEST -> 21
| PLUS -> 22
| MINUS -> 23
| TIMES -> 24
| DIV -> 25
| MOD -> 26
| PREINC -> 27
| PREDEC -> 28
| PLUSASSIGN -> 29
| MINUSASSIGN -> 30
| TIMESASSIGN -> 31
| DIVASSIGN -> 32
| MODASSIGN -> 33
| ELSE -> 34
| IF -> 35
| NULL -> 36
| PRINT -> 37
| PRINTLN -> 38
| RETURN -> 39
| VOID -> 40
| WHILE -> 41
| FOR -> 42
| SWITCH -> 43
| CASE -> 44
| DEFAULT -> 45
| DO -> 46
| UNTIL -> 47
| IN -> 48
| RANGE -> 49
| INT -> 50
| CHAR -> 51
| FLOAT -> 52
| DOUBLE -> 53
| LONG -> 54
| STRING -> 55
| BOOLEAN -> 56
| CSTSTRING _ -> 57
| NAME _ -> 58
| CSTCHAR _ -> 59
| CSTLONG _ -> 60
| CSTDOUBLE _ -> 61
| CSTFLOAT _ -> 62
| CSTINT _ -> 63
| CSTBOOL _ -> 64
// This function maps integer indexes to symbolic token ids
let tokenTagToTokenId (tokenIdx:int) =
match tokenIdx with
| 0 -> TOKEN_EOF
| 1 -> TOKEN_LPAR
| 2 -> TOKEN_RPAR
| 3 -> TOKEN_LBRACE
| 4 -> TOKEN_RBRACE
| 5 -> TOKEN_LBRACK
| 6 -> TOKEN_RBRACK
| 7 -> TOKEN_SEMI
| 8 -> TOKEN_COMMA
| 9 -> TOKEN_ASSIGN
| 10 -> TOKEN_AMP
| 11 -> TOKEN_NOT
| 12 -> TOKEN_SEQOR
| 13 -> TOKEN_SEQAND
| 14 -> TOKEN_EQ
| 15 -> TOKEN_NE
| 16 -> TOKEN_GT
| 17 -> TOKEN_LT
| 18 -> TOKEN_GE
| 19 -> TOKEN_LE
| 20 -> TOKEN_COLON
| 21 -> TOKEN_QUEST
| 22 -> TOKEN_PLUS
| 23 -> TOKEN_MINUS
| 24 -> TOKEN_TIMES
| 25 -> TOKEN_DIV
| 26 -> TOKEN_MOD
| 27 -> TOKEN_PREINC
| 28 -> TOKEN_PREDEC
| 29 -> TOKEN_PLUSASSIGN
| 30 -> TOKEN_MINUSASSIGN
| 31 -> TOKEN_TIMESASSIGN
| 32 -> TOKEN_DIVASSIGN
| 33 -> TOKEN_MODASSIGN
| 34 -> TOKEN_ELSE
| 35 -> TOKEN_IF
| 36 -> TOKEN_NULL
| 37 -> TOKEN_PRINT
| 38 -> TOKEN_PRINTLN
| 39 -> TOKEN_RETURN
| 40 -> TOKEN_VOID
| 41 -> TOKEN_WHILE
| 42 -> TOKEN_FOR
| 43 -> TOKEN_SWITCH
| 44 -> TOKEN_CASE
| 45 -> TOKEN_DEFAULT
| 46 -> TOKEN_DO
| 47 -> TOKEN_UNTIL
| 48 -> TOKEN_IN
| 49 -> TOKEN_RANGE
| 50 -> TOKEN_INT
| 51 -> TOKEN_CHAR
| 52 -> TOKEN_FLOAT
| 53 -> TOKEN_DOUBLE
| 54 -> TOKEN_LONG
| 55 -> TOKEN_STRING
| 56 -> TOKEN_BOOLEAN
| 57 -> TOKEN_CSTSTRING
| 58 -> TOKEN_NAME
| 59 -> TOKEN_CSTCHAR
| 60 -> TOKEN_CSTLONG
| 61 -> TOKEN_CSTDOUBLE
| 62 -> TOKEN_CSTFLOAT
| 63 -> TOKEN_CSTINT
| 64 -> TOKEN_CSTBOOL
| 67 -> TOKEN_end_of_input
| 65 -> TOKEN_error
| _ -> failwith "tokenTagToTokenId: bad token"
/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
let prodIdxToNonTerminal (prodIdx:int) =
match prodIdx with
| 0 -> NONTERM__startMain
| 1 -> NONTERM_Main
| 2 -> NONTERM_Topdecs
| 3 -> NONTERM_Topdecs
| 4 -> NONTERM_Topdec
| 5 -> NONTERM_Topdec
| 6 -> NONTERM_Vardec
| 7 -> NONTERM_VardecAndAssign
| 8 -> NONTERM_Vardesc
| 9 -> NONTERM_Vardesc
| 10 -> NONTERM_Vardesc
| 11 -> NONTERM_Vardesc
| 12 -> NONTERM_Vardesc
| 13 -> NONTERM_Fundec
| 14 -> NONTERM_Fundec
| 15 -> NONTERM_Paramdecs
| 16 -> NONTERM_Paramdecs
| 17 -> NONTERM_Paramdecs1
| 18 -> NONTERM_Paramdecs1
| 19 -> NONTERM_Block
| 20 -> NONTERM_StmtOrDecSeq
| 21 -> NONTERM_StmtOrDecSeq
| 22 -> NONTERM_StmtOrDecSeq
| 23 -> NONTERM_StmtOrDecSeq
| 24 -> NONTERM_Stmt
| 25 -> NONTERM_Stmt
| 26 -> NONTERM_StmtM
| 27 -> NONTERM_StmtM
| 28 -> NONTERM_StmtM
| 29 -> NONTERM_StmtM
| 30 -> NONTERM_StmtM
| 31 -> NONTERM_StmtM
| 32 -> NONTERM_StmtM
| 33 -> NONTERM_StmtM
| 34 -> NONTERM_StmtM
| 35 -> NONTERM_StmtM
| 36 -> NONTERM_StmtM
| 37 -> NONTERM_StmtU
| 38 -> NONTERM_StmtU
| 39 -> NONTERM_StmtU
| 40 -> NONTERM_StmtU
| 41 -> NONTERM_StmtU
| 42 -> NONTERM_StmtU
| 43 -> NONTERM_StmtU
| 44 -> NONTERM_StmtU
| 45 -> NONTERM_CaseList
| 46 -> NONTERM_CaseList
| 47 -> NONTERM_CaseList
| 48 -> NONTERM_CaseList
| 49 -> NONTERM_CaseDec
| 50 -> NONTERM_Expr
| 51 -> NONTERM_Expr
| 52 -> NONTERM_ExprNotAccess
| 53 -> NONTERM_ExprNotAccess
| 54 -> NONTERM_ExprNotAccess
| 55 -> NONTERM_ExprNotAccess
| 56 -> NONTERM_ExprNotAccess
| 57 -> NONTERM_ExprNotAccess
| 58 -> NONTERM_ExprNotAccess
| 59 -> NONTERM_ExprNotAccess
| 60 -> NONTERM_ExprNotAccess
| 61 -> NONTERM_ExprNotAccess
| 62 -> NONTERM_ExprNotAccess
| 63 -> NONTERM_ExprNotAccess
| 64 -> NONTERM_ExprNotAccess
| 65 -> NONTERM_ExprNotAccess
| 66 -> NONTERM_ExprNotAccess
| 67 -> NONTERM_ExprNotAccess
| 68 -> NONTERM_ExprNotAccess
| 69 -> NONTERM_ExprNotAccess
| 70 -> NONTERM_ExprNotAccess
| 71 -> NONTERM_ExprNotAccess
| 72 -> NONTERM_ExprNotAccess
| 73 -> NONTERM_ExprNotAccess
| 74 -> NONTERM_ExprNotAccess
| 75 -> NONTERM_ExprNotAccess
| 76 -> NONTERM_ExprNotAccess
| 77 -> NONTERM_ExprNotAccess
| 78 -> NONTERM_ExprNotAccess
| 79 -> NONTERM_ExprNotAccess
| 80 -> NONTERM_ExprNotAccess
| 81 -> NONTERM_AtExprNotAccess
| 82 -> NONTERM_AtExprNotAccess
| 83 -> NONTERM_AtExprNotAccess
| 84 -> NONTERM_AtExprNotAccess
| 85 -> NONTERM_AtExprNotAccess
| 86 -> NONTERM_AtExprNotAccess
| 87 -> NONTERM_AtExprNotAccess
| 88 -> NONTERM_AtExprNotAccess
| 89 -> NONTERM_Access
| 90 -> NONTERM_Access
| 91 -> NONTERM_Access
| 92 -> NONTERM_Access
| 93 -> NONTERM_Access
| 94 -> NONTERM_Exprs
| 95 -> NONTERM_Exprs
| 96 -> NONTERM_Exprs1
| 97 -> NONTERM_Exprs1
| 98 -> NONTERM_Const
| 99 -> NONTERM_Const
| 100 -> NONTERM_Const
| 101 -> NONTERM_Const
| 102 -> NONTERM_ConstDouble
| 103 -> NONTERM_ConstDouble
| 104 -> NONTERM_ConstFloat
| 105 -> NONTERM_ConstFloat
| 106 -> NONTERM_ConstLong
| 107 -> NONTERM_ConstLong
| 108 -> NONTERM_ConstChar
| 109 -> NONTERM_ConstString
| 110 -> NONTERM_Type
| 111 -> NONTERM_Type
| 112 -> NONTERM_Type
| 113 -> NONTERM_Type
| 114 -> NONTERM_Type
| 115 -> NONTERM_Type
| 116 -> NONTERM_Type
| _ -> failwith "prodIdxToNonTerminal: bad production index"
let _fsyacc_endOfInputTag = 67
let _fsyacc_tagOfErrorTerminal = 65
// This function gets the name of a token as a string
let token_to_string (t:token) =
match t with
| EOF -> "EOF"
| LPAR -> "LPAR"
| RPAR -> "RPAR"
| LBRACE -> "LBRACE"
| RBRACE -> "RBRACE"
| LBRACK -> "LBRACK"
| RBRACK -> "RBRACK"
| SEMI -> "SEMI"
| COMMA -> "COMMA"
| ASSIGN -> "ASSIGN"
| AMP -> "AMP"
| NOT -> "NOT"
| SEQOR -> "SEQOR"
| SEQAND -> "SEQAND"
| EQ -> "EQ"
| NE -> "NE"
| GT -> "GT"
| LT -> "LT"
| GE -> "GE"
| LE -> "LE"
| COLON -> "COLON"
| QUEST -> "QUEST"
| PLUS -> "PLUS"
| MINUS -> "MINUS"
| TIMES -> "TIMES"
| DIV -> "DIV"
| MOD -> "MOD"
| PREINC -> "PREINC"
| PREDEC -> "PREDEC"
| PLUSASSIGN -> "PLUSASSIGN"
| MINUSASSIGN -> "MINUSASSIGN"
| TIMESASSIGN -> "TIMESASSIGN"
| DIVASSIGN -> "DIVASSIGN"
| MODASSIGN -> "MODASSIGN"
| ELSE -> "ELSE"
| IF -> "IF"
| NULL -> "NULL"
| PRINT -> "PRINT"
| PRINTLN -> "PRINTLN"
| RETURN -> "RETURN"
| VOID -> "VOID"
| WHILE -> "WHILE"
| FOR -> "FOR"
| SWITCH -> "SWITCH"
| CASE -> "CASE"
| DEFAULT -> "DEFAULT"
| DO -> "DO"
| UNTIL -> "UNTIL"
| IN -> "IN"
| RANGE -> "RANGE"
| INT -> "INT"
| CHAR -> "CHAR"
| FLOAT -> "FLOAT"
| DOUBLE -> "DOUBLE"
| LONG -> "LONG"
| STRING -> "STRING"
| BOOLEAN -> "BOOLEAN"
| CSTSTRING _ -> "CSTSTRING"
| NAME _ -> "NAME"
| CSTCHAR _ -> "CSTCHAR"
| CSTLONG _ -> "CSTLONG"
| CSTDOUBLE _ -> "CSTDOUBLE"
| CSTFLOAT _ -> "CSTFLOAT"
| CSTINT _ -> "CSTINT"
| CSTBOOL _ -> "CSTBOOL"
// This function gets the data carried by a token as an object
let _fsyacc_dataOfToken (t:token) =
match t with
| EOF -> (null : System.Object)
| LPAR -> (null : System.Object)
| RPAR -> (null : System.Object)
| LBRACE -> (null : System.Object)
| RBRACE -> (null : System.Object)
| LBRACK -> (null : System.Object)
| RBRACK -> (null : System.Object)
| SEMI -> (null : System.Object)
| COMMA -> (null : System.Object)
| ASSIGN -> (null : System.Object)
| AMP -> (null : System.Object)
| NOT -> (null : System.Object)
| SEQOR -> (null : System.Object)
| SEQAND -> (null : System.Object)
| EQ -> (null : System.Object)
| NE -> (null : System.Object)
| GT -> (null : System.Object)
| LT -> (null : System.Object)
| GE -> (null : System.Object)
| LE -> (null : System.Object)
| COLON -> (null : System.Object)
| QUEST -> (null : System.Object)
| PLUS -> (null : System.Object)
| MINUS -> (null : System.Object)
| TIMES -> (null : System.Object)
| DIV -> (null : System.Object)
| MOD -> (null : System.Object)
| PREINC -> (null : System.Object)
| PREDEC -> (null : System.Object)
| PLUSASSIGN -> (null : System.Object)
| MINUSASSIGN -> (null : System.Object)
| TIMESASSIGN -> (null : System.Object)
| DIVASSIGN -> (null : System.Object)
| MODASSIGN -> (null : System.Object)
| ELSE -> (null : System.Object)
| IF -> (null : System.Object)
| NULL -> (null : System.Object)
| PRINT -> (null : System.Object)
| PRINTLN -> (null : System.Object)
| RETURN -> (null : System.Object)
| VOID -> (null : System.Object)
| WHILE -> (null : System.Object)
| FOR -> (null : System.Object)
| SWITCH -> (null : System.Object)
| CASE -> (null : System.Object)
| DEFAULT -> (null : System.Object)
| DO -> (null : System.Object)
| UNTIL -> (null : System.Object)
| IN -> (null : System.Object)
| RANGE -> (null : System.Object)
| INT -> (null : System.Object)
| CHAR -> (null : System.Object)
| FLOAT -> (null : System.Object)
| DOUBLE -> (null : System.Object)
| LONG -> (null : System.Object)
| STRING -> (null : System.Object)
| BOOLEAN -> (null : System.Object)
| CSTSTRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| NAME _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTCHAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTLONG _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTDOUBLE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTFLOAT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTINT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| CSTBOOL _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
let _fsyacc_gotos = [| 0us; 65535us; 1us; 65535us; 0us; 1us; 2us; 65535us; 0us; 2us; 4us; 5us; 2us; 65535us; 0us; 4us; 4us; 4us; 9us; 65535us; 0us; 6us; 4us; 6us; 29us; 38us; 33us; 38us; 39us; 38us; 41us; 46us; 44us; 46us; 47us; 46us; 50us; 46us; 4us; 65535us; 41us; 49us; 44us; 49us; 47us; 49us; 50us; 49us; 5us; 65535us; 9us; 13us; 10us; 12us; 11us; 13us; 18us; 19us; 20us; 21us; 2us; 65535us; 0us; 8us; 4us; 8us; 2us; 65535us; 29us; 30us; 33us; 34us; 3us; 65535us; 29us; 37us; 33us; 37us; 39us; 40us; 20us; 65535us; 31us; 32us; 35us; 36us; 41us; 61us; 44us; 61us; 47us; 61us; 50us; 61us; 68us; 61us; 69us; 61us; 71us; 61us; 72us; 61us; 80us; 61us; 81us; 61us; 97us; 61us; 98us; 61us; 114us; 61us; 115us; 61us; 156us; 61us; 157us; 61us; 167us; 61us; 171us; 61us; 4us; 65535us; 41us; 42us; 44us; 45us; 47us; 48us; 50us; 51us; 7us; 65535us; 41us; 44us; 44us; 44us; 47us; 44us; 50us; 44us; 69us; 161us; 167us; 168us; 171us; 172us; 18us; 65535us; 41us; 52us; 44us; 52us; 47us; 52us; 50us; 52us; 68us; 70us; 69us; 53us; 71us; 73us; 72us; 73us; 80us; 82us; 81us; 82us; 97us; 99us; 98us; 99us; 114us; 116us; 115us; 117us; 156us; 158us; 157us; 159us; 167us; 52us; 171us; 52us; 10us; 65535us; 41us; 54us; 44us; 54us; 47us; 54us; 50us; 54us; 69us; 54us; 72us; 160us; 81us; 162us; 98us; 163us; 167us; 54us; 171us; 54us; 3us; 65535us; 108us; 110us; 109us; 111us; 164us; 165us; 3us; 65535us; 108us; 164us; 109us; 164us; 164us; 164us; 70us; 65535us; 14us; 15us; 41us; 55us; 44us; 55us; 47us; 55us; 50us; 55us; 57us; 59us; 64us; 67us; 65us; 66us; 68us; 55us; 69us; 55us; 71us; 55us; 72us; 55us; 76us; 79us; 77us; 78us; 80us; 55us; 81us; 55us; 85us; 87us; 86us; 88us; 89us; 92us; 90us; 91us; 93us; 96us; 94us; 95us; 97us; 55us; 98us; 55us; 102us; 105us; 103us; 104us; 114us; 55us; 115us; 55us; 120us; 123us; 121us; 122us; 130us; 133us; 131us; 132us; 144us; 147us; 145us; 146us; 148us; 151us; 149us; 150us; 152us; 155us; 153us; 154us; 156us; 55us; 157us; 55us; 167us; 55us; 169us; 170us; 171us; 55us; 178us; 179us; 205us; 180us; 206us; 181us; 207us; 182us; 208us; 183us; 209us; 184us; 210us; 185us; 211us; 186us; 213us; 204us; 216us; 187us; 217us; 188us; 225us; 189us; 226us; 190us; 227us; 191us; 228us; 192us; 229us; 193us; 230us; 194us; 231us; 195us; 232us; 196us; 233us; 197us; 234us; 198us; 235us; 199us; 236us; 200us; 237us; 202us; 244us; 201us; 255us; 203us; 258us; 204us; 70us; 65535us; 14us; 175us; 41us; 175us; 44us; 175us; 47us; 175us; 50us; 175us; 57us; 175us; 64us; 175us; 65us; 175us; 68us; 175us; 69us; 175us; 71us; 175us; 72us; 175us; 76us; 175us; 77us; 175us; 80us; 175us; 81us; 175us; 85us; 175us; 86us; 175us; 89us; 175us; 90us; 175us; 93us; 175us; 94us; 175us; 97us; 175us; 98us; 175us; 102us; 175us; 103us; 175us; 114us; 175us; 115us; 175us; 120us; 175us; 121us; 175us; 130us; 175us; 131us; 175us; 144us; 175us; 145us; 175us; 148us; 175us; 149us; 175us; 152us; 175us; 153us; 175us; 156us; 175us; 157us; 175us; 167us; 175us; 169us; 175us; 171us; 175us; 178us; 175us; 205us; 175us; 206us; 175us; 207us; 175us; 208us; 175us; 209us; 175us; 210us; 175us; 211us; 175us; 213us; 175us; 216us; 175us; 217us; 175us; 225us; 175us; 226us; 175us; 227us; 175us; 228us; 175us; 229us; 175us; 230us; 175us; 231us; 175us; 232us; 175us; 233us; 175us; 234us; 175us; 235us; 175us; 236us; 175us; 237us; 175us; 244us; 176us; 255us; 175us; 258us; 175us; 71us; 65535us; 14us; 177us; 41us; 177us; 44us; 177us; 47us; 177us; 50us; 177us; 57us; 177us; 64us; 177us; 65us; 177us; 68us; 177us; 69us; 177us; 71us; 177us; 72us; 177us; 76us; 177us; 77us; 177us; 80us; 177us; 81us; 177us; 85us; 177us; 86us; 177us; 89us; 177us; 90us; 177us; 93us; 177us; 94us; 177us; 97us; 177us; 98us; 177us; 102us; 177us; 103us; 177us; 114us; 177us; 115us; 177us; 120us; 177us; 121us; 177us; 130us; 177us; 131us; 177us; 144us; 177us; 145us; 177us; 148us; 177us; 149us; 177us; 152us; 177us; 153us; 177us; 156us; 177us; 157us; 177us; 167us; 177us; 169us; 177us; 171us; 177us; 178us; 177us; 205us; 177us; 206us; 177us; 207us; 177us; 208us; 177us; 209us; 177us; 210us; 177us; 211us; 177us; 213us; 177us; 216us; 177us; 217us; 177us; 225us; 177us; 226us; 177us; 227us; 177us; 228us; 177us; 229us; 177us; 230us; 177us; 231us; 177us; 232us; 177us; 233us; 177us; 234us; 177us; 235us; 177us; 236us; 177us; 237us; 177us; 244us; 177us; 252us; 254us; 255us; 177us; 258us; 177us; 77us; 65535us; 14us; 174us; 41us; 174us; 44us; 174us; 47us; 174us; 50us; 174us; 57us; 174us; 64us; 174us; 65us; 174us; 68us; 174us; 69us; 174us; 71us; 174us; 72us; 174us; 76us; 174us; 77us; 174us; 80us; 174us; 81us; 174us; 83us; 139us; 84us; 138us; 85us; 173us; 86us; 173us; 89us; 174us; 90us; 174us; 93us; 174us; 94us; 174us; 97us; 174us; 98us; 174us; 102us; 174us; 103us; 174us; 114us; 174us; 115us; 174us; 120us; 174us; 121us; 174us; 130us; 174us; 131us; 174us; 144us; 174us; 145us; 174us; 148us; 174us; 149us; 174us; 152us; 174us; 153us; 174us; 156us; 174us; 157us; 174us; 167us; 174us; 169us; 174us; 171us; 174us; 178us; 174us; 205us; 174us; 206us; 174us; 207us; 174us; 208us; 174us; 209us; 174us; 210us; 174us; 211us; 174us; 213us; 174us; 216us; 174us; 217us; 174us; 221us; 222us; 223us; 224us; 225us; 174us; 226us; 174us; 227us; 174us; 228us; 174us; 229us; 174us; 230us; 174us; 231us; 174us; 232us; 174us; 233us; 174us; 234us; 174us; 235us; 174us; 236us; 174us; 237us; 174us; 244us; 173us; 246us; 247us; 249us; 250us; 252us; 253us; 255us; 174us; 258us; 174us; 1us; 65535us; 213us; 214us; 2us; 65535us; 213us; 257us; 258us; 259us; 71us; 65535us; 14us; 238us; 41us; 238us; 44us; 238us; 47us; 238us; 50us; 238us; 57us; 238us; 64us; 238us; 65us; 238us; 68us; 238us; 69us; 238us; 71us; 238us; 72us; 238us; 76us; 238us; 77us; 238us; 80us; 238us; 81us; 238us; 85us; 238us; 86us; 238us; 89us; 238us; 90us; 238us; 93us; 238us; 94us; 238us; 97us; 238us; 98us; 238us; 102us; 238us; 103us; 238us; 114us; 238us; 115us; 238us; 120us; 238us; 121us; 238us; 130us; 238us; 131us; 238us; 144us; 238us; 145us; 238us; 148us; 238us; 149us; 238us; 152us; 238us; 153us; 238us; 156us; 238us; 157us; 238us; 167us; 238us; 169us; 238us; 171us; 238us; 178us; 238us; 205us; 238us; 206us; 238us; 207us; 238us; 208us; 238us; 209us; 238us; 210us; 238us; 211us; 238us; 213us; 238us; 216us; 238us; 217us; 238us; 225us; 238us; 226us; 238us; 227us; 238us; 228us; 238us; 229us; 238us; 230us; 238us; 231us; 238us; 232us; 238us; 233us; 238us; 234us; 238us; 235us; 238us; 236us; 238us; 237us; 238us; 244us; 238us; 252us; 238us; 255us; 238us; 258us; 238us; 71us; 65535us; 14us; 240us; 41us; 240us; 44us; 240us; 47us; 240us; 50us; 240us; 57us; 240us; 64us; 240us; 65us; 240us; 68us; 240us; 69us; 240us; 71us; 240us; 72us; 240us; 76us; 240us; 77us; 240us; 80us; 240us; 81us; 240us; 85us; 240us; 86us; 240us; 89us; 240us; 90us; 240us; 93us; 240us; 94us; 240us; 97us; 240us; 98us; 240us; 102us; 240us; 103us; 240us; 114us; 240us; 115us; 240us; 120us; 240us; 121us; 240us; 130us; 240us; 131us; 240us; 144us; 240us; 145us; 240us; 148us; 240us; 149us; 240us; 152us; 240us; 153us; 240us; 156us; 240us; 157us; 240us; 167us; 240us; 169us; 240us; 171us; 240us; 178us; 240us; 205us; 240us; 206us; 240us; 207us; 240us; 208us; 240us; 209us; 240us; 210us; 240us; 211us; 240us; 213us; 240us; 216us; 240us; 217us; 240us; 225us; 240us; 226us; 240us; 227us; 240us; 228us; 240us; 229us; 240us; 230us; 240us; 231us; 240us; 232us; 240us; 233us; 240us; 234us; 240us; 235us; 240us; 236us; 240us; 237us; 240us; 244us; 240us; 252us; 240us; 255us; 240us; 258us; 240us; 71us; 65535us; 14us; 239us; 41us; 239us; 44us; 239us; 47us; 239us; 50us; 239us; 57us; 239us; 64us; 239us; 65us; 239us; 68us; 239us; 69us; 239us; 71us; 239us; 72us; 239us; 76us; 239us; 77us; 239us; 80us; 239us; 81us; 239us; 85us; 239us; 86us; 239us; 89us; 239us; 90us; 239us; 93us; 239us; 94us; 239us; 97us; 239us; 98us; 239us; 102us; 239us; 103us; 239us; 114us; 239us; 115us; 239us; 120us; 239us; 121us; 239us; 130us; 239us; 131us; 239us; 144us; 239us; 145us; 239us; 148us; 239us; 149us; 239us; 152us; 239us; 153us; 239us; 156us; 239us; 157us; 239us; 167us; 239us; 169us; 239us; 171us; 239us; 178us; 239us; 205us; 239us; 206us; 239us; 207us; 239us; 208us; 239us; 209us; 239us; 210us; 239us; 211us; 239us; 213us; 239us; 216us; 239us; 217us; 239us; 225us; 239us; 226us; 239us; 227us; 239us; 228us; 239us; 229us; 239us; 230us; 239us; 231us; 239us; 232us; 239us; 233us; 239us; 234us; 239us; 235us; 239us; 236us; 239us; 237us; 239us; 244us; 239us; 252us; 239us; 255us; 239us; 258us; 239us; 71us; 65535us; 14us; 241us; 41us; 241us; 44us; 241us; 47us; 241us; 50us; 241us; 57us; 241us; 64us; 241us; 65us; 241us; 68us; 241us; 69us; 241us; 71us; 241us; 72us; 241us; 76us; 241us; 77us; 241us; 80us; 241us; 81us; 241us; 85us; 241us; 86us; 241us; 89us; 241us; 90us; 241us; 93us; 241us; 94us; 241us; 97us; 241us; 98us; 241us; 102us; 241us; 103us; 241us; 114us; 241us; 115us; 241us; 120us; 241us; 121us; 241us; 130us; 241us; 131us; 241us; 144us; 241us; 145us; 241us; 148us; 241us; 149us; 241us; 152us; 241us; 153us; 241us; 156us; 241us; 157us; 241us; 167us; 241us; 169us; 241us; 171us; 241us; 178us; 241us; 205us; 241us; 206us; 241us; 207us; 241us; 208us; 241us; 209us; 241us; 210us; 241us; 211us; 241us; 213us; 241us; 216us; 241us; 217us; 241us; 225us; 241us; 226us; 241us; 227us; 241us; 228us; 241us; 229us; 241us; 230us; 241us; 231us; 241us; 232us; 241us; 233us; 241us; 234us; 241us; 235us; 241us; 236us; 241us; 237us; 241us; 244us; 241us; 252us; 241us; 255us; 241us; 258us; 241us; 71us; 65535us; 14us; 242us; 41us; 242us; 44us; 242us; 47us; 242us; 50us; 242us; 57us; 242us; 64us; 242us; 65us; 242us; 68us; 242us; 69us; 242us; 71us; 242us; 72us; 242us; 76us; 242us; 77us; 242us; 80us; 242us; 81us; 242us; 85us; 242us; 86us; 242us; 89us; 242us; 90us; 242us; 93us; 242us; 94us; 242us; 97us; 242us; 98us; 242us; 102us; 242us; 103us; 242us; 114us; 242us; 115us; 242us; 120us; 242us; 121us; 242us; 130us; 242us; 131us; 242us; 144us; 242us; 145us; 242us; 148us; 242us; 149us; 242us; 152us; 242us; 153us; 242us; 156us; 242us; 157us; 242us; 167us; 242us; 169us; 242us; 171us; 242us; 178us; 242us; 205us; 242us; 206us; 242us; 207us; 242us; 208us; 242us; 209us; 242us; 210us; 242us; 211us; 242us; 213us; 242us; 216us; 242us; 217us; 242us; 225us; 242us; 226us; 242us; 227us; 242us; 228us; 242us; 229us; 242us; 230us; 242us; 231us; 242us; 232us; 242us; 233us; 242us; 234us; 242us; 235us; 242us; 236us; 242us; 237us; 242us; 244us; 242us; 252us; 242us; 255us; 242us; 258us; 242us; 71us; 65535us; 14us; 243us; 41us; 243us; 44us; 243us; 47us; 243us; 50us; 243us; 57us; 243us; 64us; 243us; 65us; 243us; 68us; 243us; 69us; 243us; 71us; 243us; 72us; 243us; 76us; 243us; 77us; 243us; 80us; 243us; 81us; 243us; 85us; 243us; 86us; 243us; 89us; 243us; 90us; 243us; 93us; 243us; 94us; 243us; 97us; 243us; 98us; 243us; 102us; 243us; 103us; 243us; 114us; 243us; 115us; 243us; 120us; 243us; 121us; 243us; 130us; 243us; 131us; 243us; 144us; 243us; 145us; 243us; 148us; 243us; 149us; 243us; 152us; 243us; 153us; 243us; 156us; 243us; 157us; 243us; 167us; 243us; 169us; 243us; 171us; 243us; 178us; 243us; 205us; 243us; 206us; 243us; 207us; 243us; 208us; 243us; 209us; 243us; 210us; 243us; 211us; 243us; 213us; 243us; 216us; 243us; 217us; 243us; 225us; 243us; 226us; 243us; 227us; 243us; 228us; 243us; 229us; 243us; 230us; 243us; 231us; 243us; 232us; 243us; 233us; 243us; 234us; 243us; 235us; 243us; 236us; 243us; 237us; 243us; 244us; 243us; 252us; 243us; 255us; 243us; 258us; 243us; 9us; 65535us; 0us; 11us; 4us; 11us; 29us; 9us; 33us; 9us; 39us; 9us; 41us; 10us; 44us; 10us; 47us; 10us; 50us; 10us; |]
let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 3us; 6us; 9us; 19us; 24us; 30us; 33us; 36us; 40us; 61us; 66us; 74us; 93us; 104us; 108us; 112us; 183us; 254us; 326us; 404us; 406us; 409us; 481us; 553us; 625us; 697us; 769us; 841us; |]
let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 1us; 3us; 1us; 3us; 1us; 4us; 1us; 4us; 1us; 5us; 1us; 6us; 2us; 6us; 7us; 2us; 6us; 14us; 4us; 6us; 7us; 11us; 12us; 3us; 6us; 11us; 12us; 1us; 7us; 15us; 7us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 8us; 2us; 8us; 14us; 1us; 9us; 3us; 9us; 11us; 12us; 1us; 10us; 3us; 10us; 11us; 12us; 1us; 10us; 2us; 11us; 12us; 1us; 11us; 1us; 12us; 1us; 12us; 1us; 13us; 1us; 13us; 1us; 13us; 1us; 13us; 1us; 13us; 1us; 13us; 1us; 14us; 1us; 14us; 1us; 14us; 1us; 14us; 1us; 16us; 2us; 17us; 18us; 1us; 18us; 1us; 18us; 1us; 19us; 1us; 19us; 1us; 19us; 1us; 21us; 1us; 21us; 1us; 22us; 1us; 22us; 1us; 22us; 1us; 23us; 1us; 23us; 1us; 23us; 1us; 24us; 3us; 24us; 30us; 37us; 1us; 25us; 15us; 26us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 26us; 2us; 27us; 28us; 1us; 27us; 15us; 28us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 28us; 1us; 29us; 1us; 30us; 3us; 30us; 37us; 38us; 1us; 30us; 3us; 30us; 37us; 38us; 17us; 30us; 37us; 38us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 30us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 30us; 3us; 30us; 37us; 38us; 1us; 30us; 1us; 30us; 2us; 30us; 37us; 1us; 30us; 1us; 31us; 2us; 31us; 39us; 1us; 31us; 2us; 31us; 39us; 16us; 31us; 39us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 31us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 31us; 2us; 31us; 39us; 1us; 31us; 2us; 32us; 36us; 4us; 32us; 36us; 40us; 44us; 3us; 32us; 40us; 90us; 2us; 32us; 90us; 16us; 32us; 40us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 32us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 32us; 2us; 32us; 40us; 16us; 32us; 40us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 32us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 32us; 2us; 32us; 40us; 16us; 32us; 40us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 32us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 32us; 2us; 32us; 40us; 1us; 32us; 1us; 33us; 2us; 33us; 41us; 1us; 33us; 2us; 33us; 41us; 16us; 33us; 41us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 33us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 33us; 2us; 33us; 41us; 1us; 33us; 2us; 33us; 41us; 1us; 33us; 2us; 33us; 41us; 1us; 33us; 2us; 33us; 41us; 2us; 34us; 35us; 4us; 34us; 35us; 42us; 43us; 2us; 34us; 35us; 4us; 34us; 35us; 42us; 43us; 1us; 34us; 2us; 34us; 42us; 1us; 34us; 2us; 34us; 42us; 16us; 34us; 42us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 34us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 34us; 2us; 34us; 42us; 1us; 34us; 2us; 34us; 42us; 1us; 35us; 2us; 35us; 43us; 1us; 35us; 2us; 35us; 43us; 16us; 35us; 43us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 35us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 35us; 2us; 35us; 43us; 1us; 35us; 2us; 35us; 43us; 3us; 36us; 44us; 93us; 2us; 36us; 93us; 1us; 36us; 2us; 36us; 44us; 1us; 36us; 2us; 36us; 44us; 1us; 36us; 2us; 36us; 44us; 16us; 36us; 44us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 36us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 36us; 2us; 36us; 44us; 16us; 36us; 44us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 36us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 36us; 2us; 36us; 44us; 16us; 36us; 44us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 36us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 36us; 2us; 36us; 44us; 1us; 36us; 2us; 36us; 44us; 1us; 37us; 1us; 38us; 1us; 39us; 1us; 40us; 2us; 46us; 47us; 1us; 47us; 1us; 48us; 1us; 48us; 1us; 48us; 1us; 49us; 15us; 49us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 1us; 49us; 1us; 49us; 11us; 50us; 53us; 55us; 56us; 57us; 58us; 59us; 64us; 65us; 90us; 93us; 10us; 50us; 53us; 55us; 56us; 57us; 58us; 59us; 64us; 65us; 93us; 1us; 51us; 2us; 51us; 87us; 1us; 52us; 1us; 53us; 15us; 53us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 55us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 56us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 57us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 58us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 59us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 61us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 62us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 79us; 80us; 14us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 80us; 15us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 93us; 16us; 54us; 68us; 69us; 70us; 71us; 72us; 73us; 74us; 75us; 76us; 77us; 78us; 79us; 80us; 96us; 97us; 1us; 54us; 1us; 54us; 1us; 55us; 1us; 56us; 1us; 57us; 1us; 58us; 1us; 59us; 2us; 60us; 89us; 1us; 60us; 1us; 60us; 1us; 60us; 1us; 61us; 1us; 62us; 1us; 63us; 1us; 64us; 1us; 65us; 1us; 66us; 2us; 66us; 93us; 1us; 67us; 2us; 67us; 93us; 1us; 68us; 1us; 69us; 1us; 70us; 1us; 71us; 1us; 72us; 1us; 73us; 1us; 74us; 1us; 75us; 1us; 76us; 1us; 77us; 1us; 78us; 1us; 79us; 1us; 80us; 1us; 81us; 1us; 82us; 1us; 83us; 1us; 84us; 1us; 85us; 1us; 86us; 2us; 87us; 90us; 1us; 87us; 1us; 88us; 2us; 88us; 93us; 1us; 89us; 1us; 90us; 2us; 90us; 93us; 1us; 90us; 2us; 91us; 92us; 2us; 91us; 93us; 1us; 92us; 1us; 93us; 1us; 93us; 1us; 95us; 1us; 97us; 1us; 97us; 1us; 98us; 1us; 99us; 4us; 100us; 103us; 105us; 107us; 1us; 100us; 1us; 101us; 1us; 102us; 1us; 103us; 1us; 104us; 1us; 105us; 1us; 106us; 1us; 107us; 1us; 108us; 1us; 109us; 1us; 110us; 1us; 111us; 1us; 112us; 1us; 113us; 1us; 114us; 1us; 115us; 1us; 116us; |]
let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 10us; 12us; 14us; 16us; 18us; 20us; 23us; 26us; 31us; 35us; 37us; 53us; 55us; 58us; 60us; 64us; 66us; 70us; 72us; 75us; 77us; 79us; 81us; 83us; 85us; 87us; 89us; 91us; 93us; 95us; 97us; 99us; 101us; 103us; 106us; 108us; 110us; 112us; 114us; 116us; 118us; 120us; 122us; 124us; 126us; 128us; 130us; 132us; 134us; 138us; 140us; 156us; 158us; 161us; 163us; 179us; 181us; 183us; 185us; 189us; 191us; 195us; 213us; 229us; 231us; 235us; 237us; 239us; 242us; 244us; 246us; 249us; 251us; 254us; 271us; 287us; 289us; 292us; 294us; 297us; 302us; 306us; 309us; 326us; 342us; 344us; 347us; 364us; 380us; 382us; 385us; 402us; 418us; 420us; 423us; 425us; 427us; 430us; 432us; 435us; 452us; 468us; 470us; 473us; 475us; 478us; 480us; 483us; 485us; 488us; 491us; 496us; 499us; 504us; 506us; 509us; 511us; 514us; 531us; 547us; 549us; 552us; 554us; 557us; 559us; 562us; 564us; 567us; 584us; 600us; 602us; 605us; 607us; 610us; 614us; 617us; 619us; 622us; 624us; 627us; 629us; 632us; 649us; 665us; 667us; 670us; 687us; 703us; 705us; 708us; 725us; 741us; 743us; 746us; 748us; 751us; 753us; 755us; 757us; 759us; 762us; 764us; 766us; 768us; 770us; 772us; 788us; 790us; 792us; 804us; 815us; 817us; 820us; 822us; 824us; 840us; 856us; 872us; 888us; 904us; 920us; 936us; 952us; 968us; 984us; 1000us; 1016us; 1032us; 1048us; 1064us; 1080us; 1096us; 1112us; 1128us; 1144us; 1160us; 1176us; 1191us; 1207us; 1223us; 1240us; 1242us; 1244us; 1246us; 1248us; 1250us; 1252us; 1254us; 1257us; 1259us; 1261us; 1263us; 1265us; 1267us; 1269us; 1271us; 1273us; 1275us; 1278us; 1280us; 1283us; 1285us; 1287us; 1289us; 1291us; 1293us; 1295us; 1297us; 1299us; 1301us; 1303us; 1305us; 1307us; 1309us; 1311us; 1313us; 1315us; 1317us; 1319us; 1321us; 1324us; 1326us; 1328us; 1331us; 1333us; 1335us; 1338us; 1340us; 1343us; 1346us; 1348us; 1350us; 1352us; 1354us; 1356us; 1358us; 1360us; 1362us; 1367us; 1369us; 1371us; 1373us; 1375us; 1377us; 1379us; 1381us; 1383us; 1385us; 1387us; 1389us; 1391us; 1393us; 1395us; 1397us; 1399us; |]
let _fsyacc_action_rows = 280
let _fsyacc_actionTableElements = [|8us; 16386us; 40us; 27us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 0us; 49152us; 1us; 32768us; 0us; 3us; 0us; 16385us; 8us; 16386us; 40us; 27us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 0us; 16387us; 1us; 32768us; 7us; 7us; 0us; 16388us; 0us; 16389us; 3us; 32768us; 1us; 20us; 24us; 18us; 58us; 16us; 3us; 32768us; 1us; 20us; 24us; 18us; 58us; 16us; 3us; 32768us; 1us; 20us; 24us; 18us; 58us; 17us; 2us; 16390us; 5us; 23us; 9us; 14us; 1us; 16390us; 5us; 23us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 14us; 16391us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 0us; 16392us; 1us; 16392us; 1us; 33us; 3us; 32768us; 1us; 20us; 24us; 18us; 58us; 16us; 1us; 16393us; 5us; 23us; 3us; 32768us; 1us; 20us; 24us; 18us; 58us; 16us; 2us; 32768us; 2us; 22us; 5us; 23us; 0us; 16394us; 2us; 32768us; 6us; 24us; 63us; 25us; 0us; 16395us; 1us; 32768us; 6us; 26us; 0us; 16396us; 1us; 32768us; 58us; 28us; 1us; 32768us; 1us; 29us; 7us; 16399us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 1us; 32768us; 2us; 31us; 1us; 32768us; 3us; 41us; 0us; 16397us; 7us; 16399us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 1us; 32768us; 2us; 35us; 1us; 32768us; 3us; 41us; 0us; 16398us; 0us; 16400us; 1us; 16401us; 8us; 39us; 7us; 32768us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 0us; 16402us; 32us; 16404us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 1us; 32768us; 4us; 43us; 0us; 16403us; 32us; 16404us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16405us; 1us; 32768us; 7us; 47us; 32us; 16404us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16406us; 1us; 32768us; 7us; 50us; 32us; 16404us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 50us; 273us; 51us; 276us; 52us; 274us; 53us; 275us; 54us; 277us; 55us; 278us; 56us; 279us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16407us; 0us; 16408us; 1us; 16408us; 34us; 72us; 0us; 16409us; 15us; 32768us; 7us; 56us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 0us; 16410us; 19us; 32768us; 1us; 244us; 7us; 58us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16411us; 15us; 32768us; 7us; 60us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 0us; 16412us; 0us; 16413us; 1us; 32768us; 1us; 64us; 1us; 32768us; 1us; 65us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 69us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 68us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 1us; 32768us; 34us; 71us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16414us; 1us; 32768us; 1us; 76us; 1us; 32768us; 1us; 77us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 81us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 80us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16415us; 3us; 32768us; 1us; 86us; 24us; 252us; 58us; 248us; 3us; 32768us; 1us; 85us; 24us; 252us; 58us; 248us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 7us; 90us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 7us; 89us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 7us; 94us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 7us; 93us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 98us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 97us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16416us; 1us; 32768us; 1us; 102us; 1us; 32768us; 1us; 103us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 107us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 106us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 1us; 32768us; 3us; 108us; 1us; 32768us; 3us; 109us; 2us; 16429us; 44us; 169us; 45us; 166us; 2us; 16429us; 44us; 169us; 45us; 166us; 1us; 32768us; 4us; 112us; 1us; 32768us; 4us; 113us; 0us; 16417us; 0us; 16417us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 2us; 32768us; 41us; 118us; 47us; 128us; 2us; 32768us; 41us; 119us; 47us; 129us; 1us; 32768us; 1us; 120us; 1us; 32768us; 1us; 121us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 125us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 124us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 1us; 32768us; 7us; 126us; 1us; 32768us; 7us; 127us; 0us; 16418us; 0us; 16418us; 1us; 32768us; 1us; 130us; 1us; 32768us; 1us; 131us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 135us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 134us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 1us; 32768us; 7us; 136us; 1us; 32768us; 7us; 137us; 0us; 16419us; 0us; 16419us; 2us; 32768us; 5us; 255us; 48us; 141us; 2us; 32768us; 5us; 255us; 48us; 140us; 1us; 32768us; 49us; 142us; 1us; 32768us; 49us; 143us; 1us; 32768us; 1us; 144us; 1us; 32768us; 1us; 145us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 8us; 149us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 8us; 148us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 8us; 153us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 8us; 152us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 2us; 157us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 2us; 156us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 62us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 74us; 42us; 83us; 43us; 100us; 46us; 114us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16420us; 0us; 16420us; 0us; 16421us; 0us; 16422us; 0us; 16423us; 0us; 16424us; 2us; 16429us; 44us; 169us; 45us; 166us; 0us; 16431us; 1us; 32768us; 20us; 167us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16432us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 15us; 32768us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 20us; 171us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 25us; 32768us; 1us; 244us; 3us; 41us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 35us; 63us; 36us; 264us; 37us; 217us; 38us; 218us; 39us; 57us; 41us; 75us; 42us; 84us; 43us; 101us; 46us; 115us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16433us; 10us; 16434us; 2us; 251us; 5us; 255us; 9us; 178us; 27us; 219us; 28us; 220us; 29us; 207us; 30us; 208us; 31us; 209us; 32us; 210us; 33us; 211us; 9us; 16434us; 5us; 255us; 9us; 178us; 27us; 219us; 28us; 220us; 29us; 207us; 30us; 208us; 31us; 209us; 32us; 210us; 33us; 211us; 0us; 16435us; 1us; 16435us; 2us; 245us; 0us; 16436us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 14us; 16437us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 20us; 206us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16438us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16439us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16440us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16441us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16442us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 16443us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 0us; 16445us; 14us; 16446us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 3us; 16452us; 24us; 227us; 25us; 228us; 26us; 229us; 3us; 16453us; 24us; 227us; 25us; 228us; 26us; 229us; 0us; 16454us; 0us; 16455us; 0us; 16456us; 9us; 16457us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 9us; 16458us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 9us; 16459us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 9us; 16460us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 9us; 16461us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 9us; 16462us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 11us; 16463us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 14us; 32768us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 12us; 16464us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 32768us; 6us; 256us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 15us; 16480us; 8us; 258us; 12us; 237us; 13us; 236us; 14us; 230us; 15us; 231us; 16us; 232us; 17us; 233us; 18us; 234us; 19us; 235us; 21us; 205us; 22us; 225us; 23us; 226us; 24us; 227us; 25us; 228us; 26us; 229us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 1us; 16473us; 1us; 213us; 18us; 16478us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 1us; 32768us; 2us; 215us; 0us; 16444us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16447us; 0us; 16448us; 0us; 16449us; 3us; 32768us; 1us; 249us; 24us; 252us; 58us; 248us; 1us; 16450us; 5us; 255us; 3us; 32768us; 1us; 249us; 24us; 252us; 58us; 248us; 1us; 16451us; 5us; 255us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16465us; 0us; 16466us; 0us; 16467us; 0us; 16468us; 0us; 16469us; 0us; 16470us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16471us; 3us; 32768us; 1us; 249us; 24us; 252us; 58us; 248us; 1us; 16472us; 5us; 255us; 0us; 16473us; 3us; 32768us; 1us; 249us; 24us; 252us; 58us; 248us; 2us; 32768us; 2us; 251us; 5us; 255us; 0us; 16474us; 13us; 32768us; 1us; 244us; 10us; 246us; 23us; 262us; 24us; 252us; 36us; 264us; 57us; 272us; 58us; 248us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 1us; 16475us; 5us; 255us; 0us; 16476us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16477us; 0us; 16479us; 18us; 32768us; 1us; 244us; 10us; 246us; 11us; 216us; 23us; 262us; 24us; 252us; 27us; 221us; 28us; 223us; 36us; 264us; 37us; 217us; 38us; 218us; 57us; 272us; 58us; 212us; 59us; 271us; 60us; 269us; 61us; 265us; 62us; 267us; 63us; 260us; 64us; 261us; 0us; 16481us; 0us; 16482us; 0us; 16483us; 4us; 32768us; 60us; 270us; 61us; 266us; 62us; 268us; 63us; 263us; 0us; 16484us; 0us; 16485us; 0us; 16486us; 0us; 16487us; 0us; 16488us; 0us; 16489us; 0us; 16490us; 0us; 16491us; 0us; 16492us; 0us; 16493us; 0us; 16494us; 0us; 16495us; 0us; 16496us; 0us; 16497us; 0us; 16498us; 0us; 16499us; 0us; 16500us; |]
let _fsyacc_actionTableRowOffsets = [|0us; 9us; 10us; 12us; 13us; 22us; 23us; 25us; 26us; 27us; 31us; 35us; 39us; 42us; 44us; 63us; 78us; 79us; 81us; 85us; 87us; 91us; 94us; 95us; 98us; 99us; 101us; 102us; 104us; 106us; 114us; 116us; 118us; 119us; 127us; 129us; 131us; 132us; 133us; 135us; 143us; 144us; 177us; 179us; 180us; 213us; 214us; 216us; 249us; 250us; 252us; 285us; 286us; 287us; 289us; 290us; 306us; 307us; 327us; 328us; 344us; 345us; 346us; 348us; 350us; 369us; 388us; 404us; 420us; 446us; 472us; 474us; 500us; 526us; 527us; 529us; 531us; 550us; 569us; 585us; 601us; 627us; 653us; 654us; 658us; 662us; 681us; 700us; 716us; 732us; 751us; 770us; 786us; 802us; 821us; 840us; 856us; 872us; 898us; 924us; 925us; 927us; 929us; 948us; 967us; 983us; 999us; 1001us; 1003us; 1006us; 1009us; 1011us; 1013us; 1014us; 1015us; 1041us; 1067us; 1070us; 1073us; 1075us; 1077us; 1096us; 1115us; 1131us; 1147us; 1149us; 1151us; 1152us; 1153us; 1155us; 1157us; 1176us; 1195us; 1211us; 1227us; 1229us; 1231us; 1232us; 1233us; 1236us; 1239us; 1241us; 1243us; 1245us; 1247us; 1266us; 1285us; 1301us; 1317us; 1336us; 1355us; 1371us; 1387us; 1406us; 1425us; 1441us; 1457us; 1483us; 1509us; 1510us; 1511us; 1512us; 1513us; 1514us; 1515us; 1518us; 1519us; 1521us; 1547us; 1548us; 1567us; 1583us; 1609us; 1610us; 1621us; 1631us; 1632us; 1634us; 1635us; 1654us; 1669us; 1685us; 1700us; 1715us; 1730us; 1745us; 1760us; 1775us; 1776us; 1791us; 1795us; 1799us; 1800us; 1801us; 1802us; 1812us; 1822us; 1832us; 1842us; 1852us; 1862us; 1874us; 1889us; 1902us; 1918us; 1934us; 1953us; 1972us; 1991us; 2010us; 2029us; 2048us; 2067us; 2069us; 2088us; 2090us; 2091us; 2110us; 2129us; 2130us; 2131us; 2132us; 2136us; 2138us; 2142us; 2144us; 2163us; 2182us; 2201us; 2220us; 2239us; 2258us; 2277us; 2296us; 2315us; 2334us; 2353us; 2372us; 2391us; 2392us; 2393us; 2394us; 2395us; 2396us; 2397us; 2416us; 2417us; 2421us; 2423us; 2424us; 2428us; 2431us; 2432us; 2446us; 2448us; 2449us; 2468us; 2469us; 2470us; 2489us; 2490us; 2491us; 2492us; 2497us; 2498us; 2499us; 2500us; 2501us; 2502us; 2503us; 2504us; 2505us; 2506us; 2507us; 2508us; 2509us; 2510us; 2511us; 2512us; 2513us; |]
let _fsyacc_reductionSymbolCounts = [|1us; 2us; 0us; 2us; 2us; 1us; 2us; 4us; 1us; 2us; 3us; 3us; 4us; 6us; 6us; 0us; 1us; 1us; 3us; 3us; 0us; 2us; 3us; 3us; 1us; 1us; 2us; 2us; 3us; 1us; 7us; 5us; 9us; 7us; 7us; 7us; 12us; 7us; 5us; 5us; 9us; 7us; 7us; 7us; 12us; 0us; 1us; 2us; 3us; 4us; 1us; 1us; 1us; 3us; 5us; 3us; 3us; 3us; 3us; 3us; 4us; 2us; 2us; 1us; 2us; 2us; 2us; 2us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 1us; 1us; 1us; 1us; 1us; 1us; 3us; 2us; 1us; 3us; 2us; 2us; 4us; 0us; 1us; 1us; 3us; 1us; 1us; 2us; 1us; 1us; 2us; 1us; 2us; 1us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; |]
let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 2us; 3us; 3us; 4us; 5us; 6us; 6us; 6us; 6us; 6us; 7us; 7us; 8us; 8us; 9us; 9us; 10us; 11us; 11us; 11us; 11us; 12us; 12us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 14us; 14us; 14us; 14us; 14us; 14us; 14us; 14us; 15us; 15us; 15us; 15us; 16us; 17us; 17us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 19us; 19us; 19us; 19us; 19us; 19us; 19us; 19us; 20us; 20us; 20us; 20us; 20us; 21us; 21us; 22us; 22us; 23us; 23us; 23us; 23us; 24us; 24us; 25us; 25us; 26us; 26us; 27us; 28us; 29us; 29us; 29us; 29us; 29us; 29us; 29us; |]
let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 16385us; 65535us; 16387us; 65535us; 16388us; 16389us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16392us; 65535us; 65535us; 65535us; 65535us; 65535us; 16394us; 65535us; 16395us; 65535us; 16396us; 65535us; 65535us; 65535us; 65535us; 65535us; 16397us; 65535us; 65535us; 65535us; 16398us; 16400us; 65535us; 65535us; 16402us; 65535us; 65535us; 16403us; 65535us; 16405us; 65535us; 65535us; 16406us; 65535us; 65535us; 16407us; 16408us; 65535us; 16409us; 65535us; 16410us; 65535us; 16411us; 65535us; 16412us; 16413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16414us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16415us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16416us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16417us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16418us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16419us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16420us; 65535us; 16421us; 16422us; 16423us; 16424us; 65535us; 16431us; 65535us; 65535us; 16432us; 65535us; 65535us; 65535us; 16433us; 65535us; 65535us; 16435us; 65535us; 16436us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16444us; 65535us; 65535us; 16447us; 16448us; 16449us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16465us; 16466us; 16467us; 16468us; 16469us; 16470us; 65535us; 16471us; 65535us; 65535us; 16473us; 65535us; 65535us; 16474us; 65535us; 65535us; 16476us; 65535us; 16477us; 16479us; 65535us; 16481us; 16482us; 16483us; 65535us; 16484us; 16485us; 16486us; 16487us; 16488us; 16489us; 16490us; 16491us; 16492us; 16493us; 16494us; 16495us; 16496us; 16497us; 16498us; 16499us; 16500us; |]
let _fsyacc_reductions () = [|
# 610 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> Absyn.program in
Microsoft.FSharp.Core.Operators.box
(
(
raise (FSharp.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
)
: 'gentype__startMain));
# 619 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Topdecs in
Microsoft.FSharp.Core.Operators.box
(
(
# 54 "CPar.fsy"
Prog _1
)
# 54 "CPar.fsy"
: Absyn.program));
# 630 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 59 "CPar.fsy"
[]
)
# 59 "CPar.fsy"
: 'gentype_Topdecs));
# 640 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Topdec in
let _2 = parseState.GetInput(2) :?> 'gentype_Topdecs in
Microsoft.FSharp.Core.Operators.box
(
(
# 60 "CPar.fsy"
_1 :: _2
)
# 60 "CPar.fsy"
: 'gentype_Topdecs));
# 652 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardec in
Microsoft.FSharp.Core.Operators.box
(
(
# 64 "CPar.fsy"
Vardec (fst _1, snd _1)
)
# 64 "CPar.fsy"
: 'gentype_Topdec));
# 663 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Fundec in
Microsoft.FSharp.Core.Operators.box
(
(
# 65 "CPar.fsy"
_1
)
# 65 "CPar.fsy"
: 'gentype_Topdec));
# 674 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Type in
let _2 = parseState.GetInput(2) :?> 'gentype_Vardesc in
Microsoft.FSharp.Core.Operators.box
(
(
# 83 "CPar.fsy"
((fst _2) _1, snd _2)
)
# 83 "CPar.fsy"
: 'gentype_Vardec));
# 686 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Type in
let _2 = parseState.GetInput(2) :?> 'gentype_Vardesc in
let _4 = parseState.GetInput(4) :?> 'gentype_Expr in
Microsoft.FSharp.Core.Operators.box
(
(
# 87 "CPar.fsy"
((fst _2) _1, snd _2 , _4)
)
# 87 "CPar.fsy"
: 'gentype_VardecAndAssign));
# 699 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> string in
Microsoft.FSharp.Core.Operators.box
(
(
# 96 "CPar.fsy"
((fun t -> t), _1)
)
# 96 "CPar.fsy"
: 'gentype_Vardesc));
# 710 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _2 = parseState.GetInput(2) :?> 'gentype_Vardesc in
Microsoft.FSharp.Core.Operators.box
(
(
# 101 "CPar.fsy"
compose1 TypP _2
)
# 101 "CPar.fsy"
: 'gentype_Vardesc));
# 721 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _2 = parseState.GetInput(2) :?> 'gentype_Vardesc in
Microsoft.FSharp.Core.Operators.box
(
(
# 103 "CPar.fsy"
_2
)
# 103 "CPar.fsy"
: 'gentype_Vardesc));
# 732 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardesc in
Microsoft.FSharp.Core.Operators.box
(
(
# 105 "CPar.fsy"
compose1 (fun t -> TypA(t, None)) _1
)
# 105 "CPar.fsy"
: 'gentype_Vardesc));
# 743 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardesc in
let _3 = parseState.GetInput(3) :?> int in
Microsoft.FSharp.Core.Operators.box
(
(
# 107 "CPar.fsy"
compose1 (fun t -> TypA(t, Some _3)) _1
)
# 107 "CPar.fsy"
: 'gentype_Vardesc));
# 755 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _2 = parseState.GetInput(2) :?> string in
let _4 = parseState.GetInput(4) :?> 'gentype_Paramdecs in
let _6 = parseState.GetInput(6) :?> 'gentype_Block in
Microsoft.FSharp.Core.Operators.box
(
(
# 112 "CPar.fsy"
Fundec(None, _2, _4, _6)
)
# 112 "CPar.fsy"
: 'gentype_Fundec));
# 768 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Type in
let _2 = parseState.GetInput(2) :?> string in
let _4 = parseState.GetInput(4) :?> 'gentype_Paramdecs in
let _6 = parseState.GetInput(6) :?> 'gentype_Block in
Microsoft.FSharp.Core.Operators.box
(
(
# 114 "CPar.fsy"
Fundec(Some(_1), _2, _4, _6)
)
# 114 "CPar.fsy"
: 'gentype_Fundec));
# 782 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 119 "CPar.fsy"
[]
)
# 119 "CPar.fsy"
: 'gentype_Paramdecs));
# 792 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Paramdecs1 in
Microsoft.FSharp.Core.Operators.box
(
(
# 120 "CPar.fsy"
_1
)
# 120 "CPar.fsy"
: 'gentype_Paramdecs));
# 803 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardec in
Microsoft.FSharp.Core.Operators.box
(
(
# 124 "CPar.fsy"
[_1]
)
# 124 "CPar.fsy"
: 'gentype_Paramdecs1));
# 814 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardec in
let _3 = parseState.GetInput(3) :?> 'gentype_Paramdecs1 in
Microsoft.FSharp.Core.Operators.box
(
(
# 125 "CPar.fsy"
_1 :: _3
)
# 125 "CPar.fsy"
: 'gentype_Paramdecs1));
# 826 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _2 = parseState.GetInput(2) :?> 'gentype_StmtOrDecSeq in
Microsoft.FSharp.Core.Operators.box
(
(
# 130 "CPar.fsy"
Block _2
)
# 130 "CPar.fsy"
: 'gentype_Block));
# 837 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 134 "CPar.fsy"
[]
)
# 134 "CPar.fsy"
: 'gentype_StmtOrDecSeq));
# 847 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Stmt in
let _2 = parseState.GetInput(2) :?> 'gentype_StmtOrDecSeq in
Microsoft.FSharp.Core.Operators.box
(
(
# 135 "CPar.fsy"
Stmt _1 :: _2
)
# 135 "CPar.fsy"
: 'gentype_StmtOrDecSeq));
# 859 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Vardec in
let _3 = parseState.GetInput(3) :?> 'gentype_StmtOrDecSeq in
Microsoft.FSharp.Core.Operators.box
(
(
# 136 "CPar.fsy"
Dec (fst _1, snd _1) :: _3
)
# 136 "CPar.fsy"
: 'gentype_StmtOrDecSeq));
# 871 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_VardecAndAssign in
let _3 = parseState.GetInput(3) :?> 'gentype_StmtOrDecSeq in
Microsoft.FSharp.Core.Operators.box
(
(
# 137 "CPar.fsy"
DecAndAssign(first _1, second _1, third _1) :: _3
)
# 137 "CPar.fsy"
: 'gentype_StmtOrDecSeq));
# 883 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_StmtM in
Microsoft.FSharp.Core.Operators.box
(
(
# 141 "CPar.fsy"
_1
)
# 141 "CPar.fsy"
: 'gentype_Stmt));
# 894 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_StmtU in
Microsoft.FSharp.Core.Operators.box
(
(
# 142 "CPar.fsy"
_1
)
# 142 "CPar.fsy"
: 'gentype_Stmt));
# 905 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Expr in
Microsoft.FSharp.Core.Operators.box
(
(
# 146 "CPar.fsy"
Expr(_1)
)
# 146 "CPar.fsy"
: 'gentype_StmtM));
# 916 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 147 "CPar.fsy"
Return None
)
# 147 "CPar.fsy"
: 'gentype_StmtM));
# 926 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _2 = parseState.GetInput(2) :?> 'gentype_Expr in
Microsoft.FSharp.Core.Operators.box
(
(
# 148 "CPar.fsy"
Return(Some(_2))
)
# 148 "CPar.fsy"
: 'gentype_StmtM));
# 937 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _1 = parseState.GetInput(1) :?> 'gentype_Block in
Microsoft.FSharp.Core.Operators.box
(
(
# 149 "CPar.fsy"
_1
)
# 149 "CPar.fsy"
: 'gentype_StmtM));
# 948 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _3 = parseState.GetInput(3) :?> 'gentype_Expr in
let _5 = parseState.GetInput(5) :?> 'gentype_StmtM in
let _7 = parseState.GetInput(7) :?> 'gentype_StmtM in
Microsoft.FSharp.Core.Operators.box
(
(
# 150 "CPar.fsy"
If(_3, _5, _7)
)
# 150 "CPar.fsy"
: 'gentype_StmtM));
# 961 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _3 = parseState.GetInput(3) :?> 'gentype_Expr in
let _5 = parseState.GetInput(5) :?> 'gentype_StmtM in
Microsoft.FSharp.Core.Operators.box
(
(
# 151 "CPar.fsy"
While(_3, _5)
)
# 151 "CPar.fsy"
: 'gentype_StmtM));
# 973 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _3 = parseState.GetInput(3) :?> 'gentype_Expr in
let _5 = parseState.GetInput(5) :?> 'gentype_Expr in
let _7 = parseState.GetInput(7) :?> 'gentype_Expr in
let _9 = parseState.GetInput(9) :?> 'gentype_StmtM in
Microsoft.FSharp.Core.Operators.box
(
(
# 152 "CPar.fsy"
For(_3, _5, _7, _9)
)
# 152 "CPar.fsy"
: 'gentype_StmtM));
# 987 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->
let _3 = parseState.GetInput(3) :?> 'gentype_Expr in
let _6 = parseState.GetInput(6) :?> 'gentype_CaseList in
Microsoft.FSharp.Core.Operators.box
(
(
# 153 "CPar.fsy"
Switch(_3, _6)
)
# 153 "CPar.fsy"
: 'gentype_StmtM));
# 999 "CPar.fs"
(fun (parseState : FSharp.Text.Parsing.IParseState) ->