c-next 0.2.11 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,107 +31,113 @@ export class CParser extends antlr.Parser {
31
31
  public static readonly T__16 = 17;
32
32
  public static readonly T__17 = 18;
33
33
  public static readonly T__18 = 19;
34
- public static readonly Auto = 20;
35
- public static readonly Break = 21;
36
- public static readonly Case = 22;
37
- public static readonly Char = 23;
38
- public static readonly Const = 24;
39
- public static readonly Continue = 25;
40
- public static readonly Default = 26;
41
- public static readonly Do = 27;
42
- public static readonly Double = 28;
43
- public static readonly Else = 29;
44
- public static readonly Enum = 30;
45
- public static readonly Extern = 31;
46
- public static readonly Float = 32;
47
- public static readonly For = 33;
48
- public static readonly Goto = 34;
49
- public static readonly If = 35;
50
- public static readonly Inline = 36;
51
- public static readonly Int = 37;
52
- public static readonly Long = 38;
53
- public static readonly Register = 39;
54
- public static readonly Restrict = 40;
55
- public static readonly Return = 41;
56
- public static readonly Short = 42;
57
- public static readonly Signed = 43;
58
- public static readonly Sizeof = 44;
59
- public static readonly Static = 45;
60
- public static readonly Struct = 46;
61
- public static readonly Switch = 47;
62
- public static readonly Typedef = 48;
63
- public static readonly Union = 49;
64
- public static readonly Unsigned = 50;
65
- public static readonly Void = 51;
66
- public static readonly Volatile = 52;
67
- public static readonly While = 53;
68
- public static readonly Alignas = 54;
69
- public static readonly Alignof = 55;
70
- public static readonly Atomic = 56;
71
- public static readonly Bool = 57;
72
- public static readonly Complex = 58;
73
- public static readonly Generic = 59;
74
- public static readonly Imaginary = 60;
75
- public static readonly Noreturn = 61;
76
- public static readonly StaticAssert = 62;
77
- public static readonly ThreadLocal = 63;
78
- public static readonly LeftParen = 64;
79
- public static readonly RightParen = 65;
80
- public static readonly LeftBracket = 66;
81
- public static readonly RightBracket = 67;
82
- public static readonly LeftBrace = 68;
83
- public static readonly RightBrace = 69;
84
- public static readonly Less = 70;
85
- public static readonly LessEqual = 71;
86
- public static readonly Greater = 72;
87
- public static readonly GreaterEqual = 73;
88
- public static readonly LeftShift = 74;
89
- public static readonly RightShift = 75;
90
- public static readonly Plus = 76;
91
- public static readonly PlusPlus = 77;
92
- public static readonly Minus = 78;
93
- public static readonly MinusMinus = 79;
94
- public static readonly Star = 80;
95
- public static readonly Div = 81;
96
- public static readonly Mod = 82;
97
- public static readonly And = 83;
98
- public static readonly Or = 84;
99
- public static readonly AndAnd = 85;
100
- public static readonly OrOr = 86;
101
- public static readonly Caret = 87;
102
- public static readonly Not = 88;
103
- public static readonly Tilde = 89;
104
- public static readonly Question = 90;
105
- public static readonly Colon = 91;
106
- public static readonly Semi = 92;
107
- public static readonly Comma = 93;
108
- public static readonly Assign = 94;
109
- public static readonly StarAssign = 95;
110
- public static readonly DivAssign = 96;
111
- public static readonly ModAssign = 97;
112
- public static readonly PlusAssign = 98;
113
- public static readonly MinusAssign = 99;
114
- public static readonly LeftShiftAssign = 100;
115
- public static readonly RightShiftAssign = 101;
116
- public static readonly AndAssign = 102;
117
- public static readonly XorAssign = 103;
118
- public static readonly OrAssign = 104;
119
- public static readonly Equal = 105;
120
- public static readonly NotEqual = 106;
121
- public static readonly Arrow = 107;
122
- public static readonly Dot = 108;
123
- public static readonly Ellipsis = 109;
124
- public static readonly Identifier = 110;
125
- public static readonly Constant = 111;
126
- public static readonly DigitSequence = 112;
127
- public static readonly StringLiteral = 113;
128
- public static readonly MultiLineMacro = 114;
129
- public static readonly Directive = 115;
130
- public static readonly AsmBlock = 116;
131
- public static readonly Whitespace = 117;
132
- public static readonly Newline = 118;
133
- public static readonly BlockComment = 119;
134
- public static readonly LineComment = 120;
34
+ public static readonly T__19 = 20;
35
+ public static readonly T__20 = 21;
36
+ public static readonly T__21 = 22;
37
+ public static readonly T__22 = 23;
38
+ public static readonly T__23 = 24;
39
+ public static readonly T__24 = 25;
40
+ public static readonly Auto = 26;
41
+ public static readonly Break = 27;
42
+ public static readonly Case = 28;
43
+ public static readonly Char = 29;
44
+ public static readonly Const = 30;
45
+ public static readonly Continue = 31;
46
+ public static readonly Default = 32;
47
+ public static readonly Do = 33;
48
+ public static readonly Double = 34;
49
+ public static readonly Else = 35;
50
+ public static readonly Enum = 36;
51
+ public static readonly Extern = 37;
52
+ public static readonly Float = 38;
53
+ public static readonly For = 39;
54
+ public static readonly Goto = 40;
55
+ public static readonly If = 41;
56
+ public static readonly Inline = 42;
57
+ public static readonly Int = 43;
58
+ public static readonly Long = 44;
59
+ public static readonly Register = 45;
60
+ public static readonly Restrict = 46;
61
+ public static readonly Return = 47;
62
+ public static readonly Short = 48;
63
+ public static readonly Signed = 49;
64
+ public static readonly Sizeof = 50;
65
+ public static readonly Static = 51;
66
+ public static readonly Struct = 52;
67
+ public static readonly Switch = 53;
68
+ public static readonly Typedef = 54;
69
+ public static readonly Union = 55;
70
+ public static readonly Unsigned = 56;
71
+ public static readonly Void = 57;
72
+ public static readonly Volatile = 58;
73
+ public static readonly While = 59;
74
+ public static readonly Alignas = 60;
75
+ public static readonly Alignof = 61;
76
+ public static readonly Atomic = 62;
77
+ public static readonly Bool = 63;
78
+ public static readonly Complex = 64;
79
+ public static readonly Generic = 65;
80
+ public static readonly Imaginary = 66;
81
+ public static readonly Noreturn = 67;
82
+ public static readonly StaticAssert = 68;
83
+ public static readonly ThreadLocal = 69;
84
+ public static readonly LeftParen = 70;
85
+ public static readonly RightParen = 71;
86
+ public static readonly LeftBracket = 72;
87
+ public static readonly RightBracket = 73;
88
+ public static readonly LeftBrace = 74;
89
+ public static readonly RightBrace = 75;
90
+ public static readonly Less = 76;
91
+ public static readonly LessEqual = 77;
92
+ public static readonly Greater = 78;
93
+ public static readonly GreaterEqual = 79;
94
+ public static readonly LeftShift = 80;
95
+ public static readonly RightShift = 81;
96
+ public static readonly Plus = 82;
97
+ public static readonly PlusPlus = 83;
98
+ public static readonly Minus = 84;
99
+ public static readonly MinusMinus = 85;
100
+ public static readonly Star = 86;
101
+ public static readonly Div = 87;
102
+ public static readonly Mod = 88;
103
+ public static readonly And = 89;
104
+ public static readonly Or = 90;
105
+ public static readonly AndAnd = 91;
106
+ public static readonly OrOr = 92;
107
+ public static readonly Caret = 93;
108
+ public static readonly Not = 94;
109
+ public static readonly Tilde = 95;
110
+ public static readonly Question = 96;
111
+ public static readonly Colon = 97;
112
+ public static readonly Semi = 98;
113
+ public static readonly Comma = 99;
114
+ public static readonly Assign = 100;
115
+ public static readonly StarAssign = 101;
116
+ public static readonly DivAssign = 102;
117
+ public static readonly ModAssign = 103;
118
+ public static readonly PlusAssign = 104;
119
+ public static readonly MinusAssign = 105;
120
+ public static readonly LeftShiftAssign = 106;
121
+ public static readonly RightShiftAssign = 107;
122
+ public static readonly AndAssign = 108;
123
+ public static readonly XorAssign = 109;
124
+ public static readonly OrAssign = 110;
125
+ public static readonly Equal = 111;
126
+ public static readonly NotEqual = 112;
127
+ public static readonly Arrow = 113;
128
+ public static readonly Dot = 114;
129
+ public static readonly Ellipsis = 115;
130
+ public static readonly Identifier = 116;
131
+ public static readonly Constant = 117;
132
+ public static readonly DigitSequence = 118;
133
+ public static readonly StringLiteral = 119;
134
+ public static readonly MultiLineMacro = 120;
135
+ public static readonly Directive = 121;
136
+ public static readonly AsmBlock = 122;
137
+ public static readonly Whitespace = 123;
138
+ public static readonly Newline = 124;
139
+ public static readonly BlockComment = 125;
140
+ public static readonly LineComment = 126;
135
141
  public static readonly RULE_primaryExpression = 0;
136
142
  public static readonly RULE_genericSelection = 1;
137
143
  public static readonly RULE_genericAssocList = 2;
@@ -222,40 +228,42 @@ export class CParser extends antlr.Parser {
222
228
 
223
229
  public static readonly literalNames = [
224
230
  null, "'__extension__'", "'__builtin_va_arg'", "'__builtin_offsetof'",
225
- "'__m128'", "'__m128d'", "'__m128i'", "'__typeof__'", "'__inline__'",
226
- "'__stdcall'", "'__declspec'", "'__cdecl'", "'__clrcall'", "'__fastcall'",
227
- "'__thiscall'", "'__vectorcall'", "'__asm'", "'__attribute__'",
228
- "'__asm__'", "'__volatile__'", "'auto'", "'break'", "'case'", "'char'",
229
- "'const'", "'continue'", "'default'", "'do'", "'double'", "'else'",
230
- "'enum'", "'extern'", "'float'", "'for'", "'goto'", "'if'", "'inline'",
231
- "'int'", "'long'", "'register'", "'restrict'", "'return'", "'short'",
232
- "'signed'", "'sizeof'", "'static'", "'struct'", "'switch'", "'typedef'",
233
- "'union'", "'unsigned'", "'void'", "'volatile'", "'while'", "'_Alignas'",
234
- "'_Alignof'", "'_Atomic'", "'_Bool'", "'_Complex'", "'_Generic'",
235
- "'_Imaginary'", "'_Noreturn'", "'_Static_assert'", "'_Thread_local'",
236
- "'('", "')'", "'['", "']'", "'{'", "'}'", "'<'", "'<='", "'>'",
237
- "'>='", "'<<'", "'>>'", "'+'", "'++'", "'-'", "'--'", "'*'", "'/'",
238
- "'%'", "'&'", "'|'", "'&&'", "'||'", "'^'", "'!'", "'~'", "'?'",
239
- "':'", "';'", "','", "'='", "'*='", "'/='", "'%='", "'+='", "'-='",
240
- "'<<='", "'>>='", "'&='", "'^='", "'|='", "'=='", "'!='", "'->'",
241
- "'.'", "'...'"
231
+ "'__signed__'", "'__m128'", "'__m128d'", "'__m128i'", "'__typeof__'",
232
+ "'__const'", "'__const__'", "'__restrict'", "'__restrict__'", "'__volatile'",
233
+ "'__volatile__'", "'__inline__'", "'__stdcall'", "'__declspec'",
234
+ "'__cdecl'", "'__clrcall'", "'__fastcall'", "'__thiscall'", "'__vectorcall'",
235
+ "'__asm'", "'__asm__'", "'__attribute__'", "'auto'", "'break'",
236
+ "'case'", "'char'", "'const'", "'continue'", "'default'", "'do'",
237
+ "'double'", "'else'", "'enum'", "'extern'", "'float'", "'for'",
238
+ "'goto'", "'if'", "'inline'", "'int'", "'long'", "'register'", "'restrict'",
239
+ "'return'", "'short'", "'signed'", "'sizeof'", "'static'", "'struct'",
240
+ "'switch'", "'typedef'", "'union'", "'unsigned'", "'void'", "'volatile'",
241
+ "'while'", "'_Alignas'", "'_Alignof'", "'_Atomic'", "'_Bool'", "'_Complex'",
242
+ "'_Generic'", "'_Imaginary'", "'_Noreturn'", "'_Static_assert'",
243
+ "'_Thread_local'", "'('", "')'", "'['", "']'", "'{'", "'}'", "'<'",
244
+ "'<='", "'>'", "'>='", "'<<'", "'>>'", "'+'", "'++'", "'-'", "'--'",
245
+ "'*'", "'/'", "'%'", "'&'", "'|'", "'&&'", "'||'", "'^'", "'!'",
246
+ "'~'", "'?'", "':'", "';'", "','", "'='", "'*='", "'/='", "'%='",
247
+ "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", "'=='",
248
+ "'!='", "'->'", "'.'", "'...'"
242
249
  ];
243
250
 
244
251
  public static readonly symbolicNames = [
245
252
  null, null, null, null, null, null, null, null, null, null, null,
246
- null, null, null, null, null, null, null, null, null, "Auto", "Break",
247
- "Case", "Char", "Const", "Continue", "Default", "Do", "Double",
248
- "Else", "Enum", "Extern", "Float", "For", "Goto", "If", "Inline",
249
- "Int", "Long", "Register", "Restrict", "Return", "Short", "Signed",
250
- "Sizeof", "Static", "Struct", "Switch", "Typedef", "Union", "Unsigned",
251
- "Void", "Volatile", "While", "Alignas", "Alignof", "Atomic", "Bool",
252
- "Complex", "Generic", "Imaginary", "Noreturn", "StaticAssert", "ThreadLocal",
253
- "LeftParen", "RightParen", "LeftBracket", "RightBracket", "LeftBrace",
254
- "RightBrace", "Less", "LessEqual", "Greater", "GreaterEqual", "LeftShift",
255
- "RightShift", "Plus", "PlusPlus", "Minus", "MinusMinus", "Star",
256
- "Div", "Mod", "And", "Or", "AndAnd", "OrOr", "Caret", "Not", "Tilde",
257
- "Question", "Colon", "Semi", "Comma", "Assign", "StarAssign", "DivAssign",
258
- "ModAssign", "PlusAssign", "MinusAssign", "LeftShiftAssign", "RightShiftAssign",
253
+ null, null, null, null, null, null, null, null, null, null, null,
254
+ null, null, null, null, "Auto", "Break", "Case", "Char", "Const",
255
+ "Continue", "Default", "Do", "Double", "Else", "Enum", "Extern",
256
+ "Float", "For", "Goto", "If", "Inline", "Int", "Long", "Register",
257
+ "Restrict", "Return", "Short", "Signed", "Sizeof", "Static", "Struct",
258
+ "Switch", "Typedef", "Union", "Unsigned", "Void", "Volatile", "While",
259
+ "Alignas", "Alignof", "Atomic", "Bool", "Complex", "Generic", "Imaginary",
260
+ "Noreturn", "StaticAssert", "ThreadLocal", "LeftParen", "RightParen",
261
+ "LeftBracket", "RightBracket", "LeftBrace", "RightBrace", "Less",
262
+ "LessEqual", "Greater", "GreaterEqual", "LeftShift", "RightShift",
263
+ "Plus", "PlusPlus", "Minus", "MinusMinus", "Star", "Div", "Mod",
264
+ "And", "Or", "AndAnd", "OrOr", "Caret", "Not", "Tilde", "Question",
265
+ "Colon", "Semi", "Comma", "Assign", "StarAssign", "DivAssign", "ModAssign",
266
+ "PlusAssign", "MinusAssign", "LeftShiftAssign", "RightShiftAssign",
259
267
  "AndAssign", "XorAssign", "OrAssign", "Equal", "NotEqual", "Arrow",
260
268
  "Dot", "Ellipsis", "Identifier", "Constant", "DigitSequence", "StringLiteral",
261
269
  "MultiLineMacro", "Directive", "AsmBlock", "Whitespace", "Newline",
@@ -340,7 +348,7 @@ export class CParser extends antlr.Parser {
340
348
  this.state = 179;
341
349
  this.errorHandler.sync(this);
342
350
  _la = this.tokenStream.LA(1);
343
- } while (_la === 113);
351
+ } while (_la === 119);
344
352
  }
345
353
  break;
346
354
  case 4:
@@ -476,7 +484,7 @@ export class CParser extends antlr.Parser {
476
484
  this.state = 221;
477
485
  this.errorHandler.sync(this);
478
486
  _la = this.tokenStream.LA(1);
479
- while (_la === 93) {
487
+ while (_la === 99) {
480
488
  {
481
489
  {
482
490
  this.state = 217;
@@ -518,6 +526,13 @@ export class CParser extends antlr.Parser {
518
526
  case CParser.T__4:
519
527
  case CParser.T__5:
520
528
  case CParser.T__6:
529
+ case CParser.T__7:
530
+ case CParser.T__8:
531
+ case CParser.T__9:
532
+ case CParser.T__10:
533
+ case CParser.T__11:
534
+ case CParser.T__12:
535
+ case CParser.T__13:
521
536
  case CParser.Char:
522
537
  case CParser.Const:
523
538
  case CParser.Double:
@@ -611,7 +626,7 @@ export class CParser extends antlr.Parser {
611
626
  this.state = 241;
612
627
  this.errorHandler.sync(this);
613
628
  _la = this.tokenStream.LA(1);
614
- if (_la === 93) {
629
+ if (_la === 99) {
615
630
  {
616
631
  this.state = 240;
617
632
  this.match(CParser.Comma);
@@ -626,7 +641,7 @@ export class CParser extends antlr.Parser {
626
641
  this.state = 262;
627
642
  this.errorHandler.sync(this);
628
643
  _la = this.tokenStream.LA(1);
629
- while (((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 40965) !== 0) || _la === 107 || _la === 108) {
644
+ while (((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 40965) !== 0) || _la === 113 || _la === 114) {
630
645
  {
631
646
  this.state = 260;
632
647
  this.errorHandler.sync(this);
@@ -648,7 +663,7 @@ export class CParser extends antlr.Parser {
648
663
  this.state = 253;
649
664
  this.errorHandler.sync(this);
650
665
  _la = this.tokenStream.LA(1);
651
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
666
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
652
667
  {
653
668
  this.state = 252;
654
669
  this.argumentExpressionList();
@@ -664,7 +679,7 @@ export class CParser extends antlr.Parser {
664
679
  {
665
680
  this.state = 256;
666
681
  _la = this.tokenStream.LA(1);
667
- if(!(_la === 107 || _la === 108)) {
682
+ if(!(_la === 113 || _la === 114)) {
668
683
  this.errorHandler.recoverInline(this);
669
684
  }
670
685
  else {
@@ -722,7 +737,7 @@ export class CParser extends antlr.Parser {
722
737
  this.state = 270;
723
738
  this.errorHandler.sync(this);
724
739
  _la = this.tokenStream.LA(1);
725
- while (_la === 93) {
740
+ while (_la === 99) {
726
741
  {
727
742
  {
728
743
  this.state = 266;
@@ -767,7 +782,7 @@ export class CParser extends antlr.Parser {
767
782
  {
768
783
  this.state = 273;
769
784
  _la = this.tokenStream.LA(1);
770
- if(!(_la === 44 || _la === 77 || _la === 79)) {
785
+ if(!(_la === 50 || _la === 83 || _la === 85)) {
771
786
  this.errorHandler.recoverInline(this);
772
787
  }
773
788
  else {
@@ -815,7 +830,7 @@ export class CParser extends antlr.Parser {
815
830
  {
816
831
  this.state = 283;
817
832
  _la = this.tokenStream.LA(1);
818
- if(!(_la === 44 || _la === 55)) {
833
+ if(!(_la === 50 || _la === 61)) {
819
834
  this.errorHandler.recoverInline(this);
820
835
  }
821
836
  else {
@@ -865,7 +880,7 @@ export class CParser extends antlr.Parser {
865
880
  {
866
881
  this.state = 292;
867
882
  _la = this.tokenStream.LA(1);
868
- if(!(((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12437) !== 0))) {
883
+ if(!(((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12437) !== 0))) {
869
884
  this.errorHandler.recoverInline(this);
870
885
  }
871
886
  else {
@@ -959,12 +974,12 @@ export class CParser extends antlr.Parser {
959
974
  this.state = 311;
960
975
  this.errorHandler.sync(this);
961
976
  _la = this.tokenStream.LA(1);
962
- while (((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & 7) !== 0)) {
977
+ while (((((_la - 86)) & ~0x1F) === 0 && ((1 << (_la - 86)) & 7) !== 0)) {
963
978
  {
964
979
  {
965
980
  this.state = 307;
966
981
  _la = this.tokenStream.LA(1);
967
- if(!(((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & 7) !== 0))) {
982
+ if(!(((((_la - 86)) & ~0x1F) === 0 && ((1 << (_la - 86)) & 7) !== 0))) {
968
983
  this.errorHandler.recoverInline(this);
969
984
  }
970
985
  else {
@@ -1006,12 +1021,12 @@ export class CParser extends antlr.Parser {
1006
1021
  this.state = 319;
1007
1022
  this.errorHandler.sync(this);
1008
1023
  _la = this.tokenStream.LA(1);
1009
- while (_la === 76 || _la === 78) {
1024
+ while (_la === 82 || _la === 84) {
1010
1025
  {
1011
1026
  {
1012
1027
  this.state = 315;
1013
1028
  _la = this.tokenStream.LA(1);
1014
- if(!(_la === 76 || _la === 78)) {
1029
+ if(!(_la === 82 || _la === 84)) {
1015
1030
  this.errorHandler.recoverInline(this);
1016
1031
  }
1017
1032
  else {
@@ -1053,12 +1068,12 @@ export class CParser extends antlr.Parser {
1053
1068
  this.state = 327;
1054
1069
  this.errorHandler.sync(this);
1055
1070
  _la = this.tokenStream.LA(1);
1056
- while (_la === 74 || _la === 75) {
1071
+ while (_la === 80 || _la === 81) {
1057
1072
  {
1058
1073
  {
1059
1074
  this.state = 323;
1060
1075
  _la = this.tokenStream.LA(1);
1061
- if(!(_la === 74 || _la === 75)) {
1076
+ if(!(_la === 80 || _la === 81)) {
1062
1077
  this.errorHandler.recoverInline(this);
1063
1078
  }
1064
1079
  else {
@@ -1100,12 +1115,12 @@ export class CParser extends antlr.Parser {
1100
1115
  this.state = 335;
1101
1116
  this.errorHandler.sync(this);
1102
1117
  _la = this.tokenStream.LA(1);
1103
- while (((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 15) !== 0)) {
1118
+ while (((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 15) !== 0)) {
1104
1119
  {
1105
1120
  {
1106
1121
  this.state = 331;
1107
1122
  _la = this.tokenStream.LA(1);
1108
- if(!(((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 15) !== 0))) {
1123
+ if(!(((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 15) !== 0))) {
1109
1124
  this.errorHandler.recoverInline(this);
1110
1125
  }
1111
1126
  else {
@@ -1147,12 +1162,12 @@ export class CParser extends antlr.Parser {
1147
1162
  this.state = 343;
1148
1163
  this.errorHandler.sync(this);
1149
1164
  _la = this.tokenStream.LA(1);
1150
- while (_la === 105 || _la === 106) {
1165
+ while (_la === 111 || _la === 112) {
1151
1166
  {
1152
1167
  {
1153
1168
  this.state = 339;
1154
1169
  _la = this.tokenStream.LA(1);
1155
- if(!(_la === 105 || _la === 106)) {
1170
+ if(!(_la === 111 || _la === 112)) {
1156
1171
  this.errorHandler.recoverInline(this);
1157
1172
  }
1158
1173
  else {
@@ -1194,7 +1209,7 @@ export class CParser extends antlr.Parser {
1194
1209
  this.state = 351;
1195
1210
  this.errorHandler.sync(this);
1196
1211
  _la = this.tokenStream.LA(1);
1197
- while (_la === 83) {
1212
+ while (_la === 89) {
1198
1213
  {
1199
1214
  {
1200
1215
  this.state = 347;
@@ -1234,7 +1249,7 @@ export class CParser extends antlr.Parser {
1234
1249
  this.state = 359;
1235
1250
  this.errorHandler.sync(this);
1236
1251
  _la = this.tokenStream.LA(1);
1237
- while (_la === 87) {
1252
+ while (_la === 93) {
1238
1253
  {
1239
1254
  {
1240
1255
  this.state = 355;
@@ -1274,7 +1289,7 @@ export class CParser extends antlr.Parser {
1274
1289
  this.state = 367;
1275
1290
  this.errorHandler.sync(this);
1276
1291
  _la = this.tokenStream.LA(1);
1277
- while (_la === 84) {
1292
+ while (_la === 90) {
1278
1293
  {
1279
1294
  {
1280
1295
  this.state = 363;
@@ -1314,7 +1329,7 @@ export class CParser extends antlr.Parser {
1314
1329
  this.state = 375;
1315
1330
  this.errorHandler.sync(this);
1316
1331
  _la = this.tokenStream.LA(1);
1317
- while (_la === 85) {
1332
+ while (_la === 91) {
1318
1333
  {
1319
1334
  {
1320
1335
  this.state = 371;
@@ -1354,7 +1369,7 @@ export class CParser extends antlr.Parser {
1354
1369
  this.state = 383;
1355
1370
  this.errorHandler.sync(this);
1356
1371
  _la = this.tokenStream.LA(1);
1357
- while (_la === 86) {
1372
+ while (_la === 92) {
1358
1373
  {
1359
1374
  {
1360
1375
  this.state = 379;
@@ -1394,7 +1409,7 @@ export class CParser extends antlr.Parser {
1394
1409
  this.state = 392;
1395
1410
  this.errorHandler.sync(this);
1396
1411
  _la = this.tokenStream.LA(1);
1397
- if (_la === 90) {
1412
+ if (_la === 96) {
1398
1413
  {
1399
1414
  this.state = 387;
1400
1415
  this.match(CParser.Question);
@@ -1478,7 +1493,7 @@ export class CParser extends antlr.Parser {
1478
1493
  {
1479
1494
  this.state = 402;
1480
1495
  _la = this.tokenStream.LA(1);
1481
- if(!(((((_la - 94)) & ~0x1F) === 0 && ((1 << (_la - 94)) & 2047) !== 0))) {
1496
+ if(!(((((_la - 100)) & ~0x1F) === 0 && ((1 << (_la - 100)) & 2047) !== 0))) {
1482
1497
  this.errorHandler.recoverInline(this);
1483
1498
  }
1484
1499
  else {
@@ -1512,7 +1527,7 @@ export class CParser extends antlr.Parser {
1512
1527
  this.state = 409;
1513
1528
  this.errorHandler.sync(this);
1514
1529
  _la = this.tokenStream.LA(1);
1515
- while (_la === 93) {
1530
+ while (_la === 99) {
1516
1531
  {
1517
1532
  {
1518
1533
  this.state = 405;
@@ -1579,7 +1594,14 @@ export class CParser extends antlr.Parser {
1579
1594
  case CParser.T__7:
1580
1595
  case CParser.T__8:
1581
1596
  case CParser.T__9:
1597
+ case CParser.T__10:
1598
+ case CParser.T__11:
1599
+ case CParser.T__12:
1600
+ case CParser.T__13:
1601
+ case CParser.T__14:
1602
+ case CParser.T__15:
1582
1603
  case CParser.T__16:
1604
+ case CParser.T__24:
1583
1605
  case CParser.Auto:
1584
1606
  case CParser.Char:
1585
1607
  case CParser.Const:
@@ -1615,7 +1637,7 @@ export class CParser extends antlr.Parser {
1615
1637
  this.state = 416;
1616
1638
  this.errorHandler.sync(this);
1617
1639
  _la = this.tokenStream.LA(1);
1618
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 64000) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 8454145) !== 0) || _la === 110) {
1640
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8192000) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 8454145) !== 0) || _la === 116) {
1619
1641
  {
1620
1642
  this.state = 415;
1621
1643
  this.initDeclaratorList();
@@ -1712,7 +1734,7 @@ export class CParser extends antlr.Parser {
1712
1734
  this.state = 431;
1713
1735
  this.errorHandler.sync(this);
1714
1736
  _la = this.tokenStream.LA(1);
1715
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3516008434) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 2808049137) !== 0) || _la === 110);
1737
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1711538162) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || _la === 67 || _la === 69 || _la === 116);
1716
1738
  }
1717
1739
  }
1718
1740
  catch (re) {
@@ -1797,7 +1819,7 @@ export class CParser extends antlr.Parser {
1797
1819
  this.state = 445;
1798
1820
  this.errorHandler.sync(this);
1799
1821
  _la = this.tokenStream.LA(1);
1800
- while (_la === 93) {
1822
+ while (_la === 99) {
1801
1823
  {
1802
1824
  {
1803
1825
  this.state = 441;
@@ -1837,7 +1859,7 @@ export class CParser extends antlr.Parser {
1837
1859
  this.state = 451;
1838
1860
  this.errorHandler.sync(this);
1839
1861
  _la = this.tokenStream.LA(1);
1840
- if (_la === 94) {
1862
+ if (_la === 100) {
1841
1863
  {
1842
1864
  this.state = 449;
1843
1865
  this.match(CParser.Assign);
@@ -1870,7 +1892,7 @@ export class CParser extends antlr.Parser {
1870
1892
  {
1871
1893
  this.state = 453;
1872
1894
  _la = this.tokenStream.LA(1);
1873
- if(!(_la === 20 || _la === 31 || ((((_la - 39)) & ~0x1F) === 0 && ((1 << (_la - 39)) & 16777793) !== 0))) {
1895
+ if(!(((((_la - 26)) & ~0x1F) === 0 && ((1 << (_la - 26)) & 302516225) !== 0) || _la === 69)) {
1874
1896
  this.errorHandler.recoverInline(this);
1875
1897
  }
1876
1898
  else {
@@ -1897,7 +1919,7 @@ export class CParser extends antlr.Parser {
1897
1919
  this.enterRule(localContext, 62, CParser.RULE_typeSpecifier);
1898
1920
  let _la: number;
1899
1921
  try {
1900
- this.state = 482;
1922
+ this.state = 483;
1901
1923
  this.errorHandler.sync(this);
1902
1924
  switch (this.tokenStream.LA(1)) {
1903
1925
  case CParser.Void:
@@ -1956,32 +1978,32 @@ export class CParser extends antlr.Parser {
1956
1978
  this.match(CParser.Signed);
1957
1979
  }
1958
1980
  break;
1959
- case CParser.Unsigned:
1981
+ case CParser.T__3:
1960
1982
  this.enterOuterAlt(localContext, 9);
1961
1983
  {
1962
1984
  this.state = 463;
1963
- this.match(CParser.Unsigned);
1985
+ this.match(CParser.T__3);
1964
1986
  }
1965
1987
  break;
1966
- case CParser.Bool:
1988
+ case CParser.Unsigned:
1967
1989
  this.enterOuterAlt(localContext, 10);
1968
1990
  {
1969
1991
  this.state = 464;
1970
- this.match(CParser.Bool);
1992
+ this.match(CParser.Unsigned);
1971
1993
  }
1972
1994
  break;
1973
- case CParser.Complex:
1995
+ case CParser.Bool:
1974
1996
  this.enterOuterAlt(localContext, 11);
1975
1997
  {
1976
1998
  this.state = 465;
1977
- this.match(CParser.Complex);
1999
+ this.match(CParser.Bool);
1978
2000
  }
1979
2001
  break;
1980
- case CParser.T__3:
2002
+ case CParser.Complex:
1981
2003
  this.enterOuterAlt(localContext, 12);
1982
2004
  {
1983
2005
  this.state = 466;
1984
- this.match(CParser.T__3);
2006
+ this.match(CParser.Complex);
1985
2007
  }
1986
2008
  break;
1987
2009
  case CParser.T__4:
@@ -1998,65 +2020,72 @@ export class CParser extends antlr.Parser {
1998
2020
  this.match(CParser.T__5);
1999
2021
  }
2000
2022
  break;
2001
- case CParser.T__0:
2023
+ case CParser.T__6:
2002
2024
  this.enterOuterAlt(localContext, 15);
2003
2025
  {
2004
2026
  this.state = 469;
2005
- this.match(CParser.T__0);
2027
+ this.match(CParser.T__6);
2028
+ }
2029
+ break;
2030
+ case CParser.T__0:
2031
+ this.enterOuterAlt(localContext, 16);
2032
+ {
2006
2033
  this.state = 470;
2007
- this.match(CParser.LeftParen);
2034
+ this.match(CParser.T__0);
2008
2035
  this.state = 471;
2036
+ this.match(CParser.LeftParen);
2037
+ this.state = 472;
2009
2038
  _la = this.tokenStream.LA(1);
2010
- if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 112) !== 0))) {
2039
+ if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 224) !== 0))) {
2011
2040
  this.errorHandler.recoverInline(this);
2012
2041
  }
2013
2042
  else {
2014
2043
  this.errorHandler.reportMatch(this);
2015
2044
  this.consume();
2016
2045
  }
2017
- this.state = 472;
2046
+ this.state = 473;
2018
2047
  this.match(CParser.RightParen);
2019
2048
  }
2020
2049
  break;
2021
2050
  case CParser.Atomic:
2022
- this.enterOuterAlt(localContext, 16);
2051
+ this.enterOuterAlt(localContext, 17);
2023
2052
  {
2024
- this.state = 473;
2053
+ this.state = 474;
2025
2054
  this.atomicTypeSpecifier();
2026
2055
  }
2027
2056
  break;
2028
2057
  case CParser.Struct:
2029
2058
  case CParser.Union:
2030
- this.enterOuterAlt(localContext, 17);
2059
+ this.enterOuterAlt(localContext, 18);
2031
2060
  {
2032
- this.state = 474;
2061
+ this.state = 475;
2033
2062
  this.structOrUnionSpecifier();
2034
2063
  }
2035
2064
  break;
2036
2065
  case CParser.Enum:
2037
- this.enterOuterAlt(localContext, 18);
2066
+ this.enterOuterAlt(localContext, 19);
2038
2067
  {
2039
- this.state = 475;
2068
+ this.state = 476;
2040
2069
  this.enumSpecifier();
2041
2070
  }
2042
2071
  break;
2043
2072
  case CParser.Identifier:
2044
- this.enterOuterAlt(localContext, 19);
2073
+ this.enterOuterAlt(localContext, 20);
2045
2074
  {
2046
- this.state = 476;
2075
+ this.state = 477;
2047
2076
  this.typedefName();
2048
2077
  }
2049
2078
  break;
2050
- case CParser.T__6:
2051
- this.enterOuterAlt(localContext, 20);
2079
+ case CParser.T__7:
2080
+ this.enterOuterAlt(localContext, 21);
2052
2081
  {
2053
- this.state = 477;
2054
- this.match(CParser.T__6);
2055
2082
  this.state = 478;
2056
- this.match(CParser.LeftParen);
2083
+ this.match(CParser.T__7);
2057
2084
  this.state = 479;
2058
- this.constantExpression();
2085
+ this.match(CParser.LeftParen);
2059
2086
  this.state = 480;
2087
+ this.constantExpression();
2088
+ this.state = 481;
2060
2089
  this.match(CParser.RightParen);
2061
2090
  }
2062
2091
  break;
@@ -2082,38 +2111,38 @@ export class CParser extends antlr.Parser {
2082
2111
  this.enterRule(localContext, 64, CParser.RULE_structOrUnionSpecifier);
2083
2112
  let _la: number;
2084
2113
  try {
2085
- this.state = 495;
2114
+ this.state = 496;
2086
2115
  this.errorHandler.sync(this);
2087
2116
  switch (this.interpreter.adaptivePredict(this.tokenStream, 38, this.context) ) {
2088
2117
  case 1:
2089
2118
  this.enterOuterAlt(localContext, 1);
2090
2119
  {
2091
- this.state = 484;
2120
+ this.state = 485;
2092
2121
  this.structOrUnion();
2093
- this.state = 486;
2122
+ this.state = 487;
2094
2123
  this.errorHandler.sync(this);
2095
2124
  _la = this.tokenStream.LA(1);
2096
- if (_la === 110) {
2125
+ if (_la === 116) {
2097
2126
  {
2098
- this.state = 485;
2127
+ this.state = 486;
2099
2128
  this.match(CParser.Identifier);
2100
2129
  }
2101
2130
  }
2102
2131
 
2103
- this.state = 488;
2104
- this.match(CParser.LeftBrace);
2105
2132
  this.state = 489;
2106
- this.structDeclarationList();
2133
+ this.match(CParser.LeftBrace);
2107
2134
  this.state = 490;
2135
+ this.structDeclarationList();
2136
+ this.state = 491;
2108
2137
  this.match(CParser.RightBrace);
2109
2138
  }
2110
2139
  break;
2111
2140
  case 2:
2112
2141
  this.enterOuterAlt(localContext, 2);
2113
2142
  {
2114
- this.state = 492;
2115
- this.structOrUnion();
2116
2143
  this.state = 493;
2144
+ this.structOrUnion();
2145
+ this.state = 494;
2117
2146
  this.match(CParser.Identifier);
2118
2147
  }
2119
2148
  break;
@@ -2139,9 +2168,9 @@ export class CParser extends antlr.Parser {
2139
2168
  try {
2140
2169
  this.enterOuterAlt(localContext, 1);
2141
2170
  {
2142
- this.state = 497;
2171
+ this.state = 498;
2143
2172
  _la = this.tokenStream.LA(1);
2144
- if(!(_la === 46 || _la === 49)) {
2173
+ if(!(_la === 52 || _la === 55)) {
2145
2174
  this.errorHandler.recoverInline(this);
2146
2175
  }
2147
2176
  else {
@@ -2170,20 +2199,20 @@ export class CParser extends antlr.Parser {
2170
2199
  try {
2171
2200
  this.enterOuterAlt(localContext, 1);
2172
2201
  {
2173
- this.state = 500;
2202
+ this.state = 501;
2174
2203
  this.errorHandler.sync(this);
2175
2204
  _la = this.tokenStream.LA(1);
2176
2205
  do {
2177
2206
  {
2178
2207
  {
2179
- this.state = 499;
2208
+ this.state = 500;
2180
2209
  this.structDeclaration();
2181
2210
  }
2182
2211
  }
2183
- this.state = 502;
2212
+ this.state = 503;
2184
2213
  this.errorHandler.sync(this);
2185
2214
  _la = this.tokenStream.LA(1);
2186
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1367343346) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1193168225) !== 0) || _la === 110);
2215
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1610645490) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1910822421) !== 0) || _la === 68 || _la === 116);
2187
2216
  }
2188
2217
  }
2189
2218
  catch (re) {
@@ -2203,33 +2232,33 @@ export class CParser extends antlr.Parser {
2203
2232
  let localContext = new StructDeclarationContext(this.context, this.state);
2204
2233
  this.enterRule(localContext, 70, CParser.RULE_structDeclaration);
2205
2234
  try {
2206
- this.state = 512;
2235
+ this.state = 513;
2207
2236
  this.errorHandler.sync(this);
2208
2237
  switch (this.interpreter.adaptivePredict(this.tokenStream, 40, this.context) ) {
2209
2238
  case 1:
2210
2239
  this.enterOuterAlt(localContext, 1);
2211
2240
  {
2212
- this.state = 504;
2213
- this.specifierQualifierList();
2214
2241
  this.state = 505;
2215
- this.structDeclaratorList();
2242
+ this.specifierQualifierList();
2216
2243
  this.state = 506;
2244
+ this.structDeclaratorList();
2245
+ this.state = 507;
2217
2246
  this.match(CParser.Semi);
2218
2247
  }
2219
2248
  break;
2220
2249
  case 2:
2221
2250
  this.enterOuterAlt(localContext, 2);
2222
2251
  {
2223
- this.state = 508;
2224
- this.specifierQualifierList();
2225
2252
  this.state = 509;
2253
+ this.specifierQualifierList();
2254
+ this.state = 510;
2226
2255
  this.match(CParser.Semi);
2227
2256
  }
2228
2257
  break;
2229
2258
  case 3:
2230
2259
  this.enterOuterAlt(localContext, 3);
2231
2260
  {
2232
- this.state = 511;
2261
+ this.state = 512;
2233
2262
  this.staticAssertDeclaration();
2234
2263
  }
2235
2264
  break;
@@ -2254,28 +2283,28 @@ export class CParser extends antlr.Parser {
2254
2283
  try {
2255
2284
  this.enterOuterAlt(localContext, 1);
2256
2285
  {
2257
- this.state = 516;
2286
+ this.state = 517;
2258
2287
  this.errorHandler.sync(this);
2259
2288
  switch (this.interpreter.adaptivePredict(this.tokenStream, 41, this.context) ) {
2260
2289
  case 1:
2261
2290
  {
2262
- this.state = 514;
2291
+ this.state = 515;
2263
2292
  this.typeSpecifier();
2264
2293
  }
2265
2294
  break;
2266
2295
  case 2:
2267
2296
  {
2268
- this.state = 515;
2297
+ this.state = 516;
2269
2298
  this.typeQualifier();
2270
2299
  }
2271
2300
  break;
2272
2301
  }
2273
- this.state = 519;
2302
+ this.state = 520;
2274
2303
  this.errorHandler.sync(this);
2275
2304
  switch (this.interpreter.adaptivePredict(this.tokenStream, 42, this.context) ) {
2276
2305
  case 1:
2277
2306
  {
2278
- this.state = 518;
2307
+ this.state = 519;
2279
2308
  this.specifierQualifierList();
2280
2309
  }
2281
2310
  break;
@@ -2302,21 +2331,21 @@ export class CParser extends antlr.Parser {
2302
2331
  try {
2303
2332
  this.enterOuterAlt(localContext, 1);
2304
2333
  {
2305
- this.state = 521;
2334
+ this.state = 522;
2306
2335
  this.structDeclarator();
2307
- this.state = 526;
2336
+ this.state = 527;
2308
2337
  this.errorHandler.sync(this);
2309
2338
  _la = this.tokenStream.LA(1);
2310
- while (_la === 93) {
2339
+ while (_la === 99) {
2311
2340
  {
2312
2341
  {
2313
- this.state = 522;
2314
- this.match(CParser.Comma);
2315
2342
  this.state = 523;
2343
+ this.match(CParser.Comma);
2344
+ this.state = 524;
2316
2345
  this.structDeclarator();
2317
2346
  }
2318
2347
  }
2319
- this.state = 528;
2348
+ this.state = 529;
2320
2349
  this.errorHandler.sync(this);
2321
2350
  _la = this.tokenStream.LA(1);
2322
2351
  }
@@ -2340,32 +2369,32 @@ export class CParser extends antlr.Parser {
2340
2369
  this.enterRule(localContext, 76, CParser.RULE_structDeclarator);
2341
2370
  let _la: number;
2342
2371
  try {
2343
- this.state = 535;
2372
+ this.state = 536;
2344
2373
  this.errorHandler.sync(this);
2345
2374
  switch (this.interpreter.adaptivePredict(this.tokenStream, 45, this.context) ) {
2346
2375
  case 1:
2347
2376
  this.enterOuterAlt(localContext, 1);
2348
2377
  {
2349
- this.state = 529;
2378
+ this.state = 530;
2350
2379
  this.declarator();
2351
2380
  }
2352
2381
  break;
2353
2382
  case 2:
2354
2383
  this.enterOuterAlt(localContext, 2);
2355
2384
  {
2356
- this.state = 531;
2385
+ this.state = 532;
2357
2386
  this.errorHandler.sync(this);
2358
2387
  _la = this.tokenStream.LA(1);
2359
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 64000) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 8454145) !== 0) || _la === 110) {
2388
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8192000) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 8454145) !== 0) || _la === 116) {
2360
2389
  {
2361
- this.state = 530;
2390
+ this.state = 531;
2362
2391
  this.declarator();
2363
2392
  }
2364
2393
  }
2365
2394
 
2366
- this.state = 533;
2367
- this.match(CParser.Colon);
2368
2395
  this.state = 534;
2396
+ this.match(CParser.Colon);
2397
+ this.state = 535;
2369
2398
  this.constantExpression();
2370
2399
  }
2371
2400
  break;
@@ -2389,48 +2418,48 @@ export class CParser extends antlr.Parser {
2389
2418
  this.enterRule(localContext, 78, CParser.RULE_enumSpecifier);
2390
2419
  let _la: number;
2391
2420
  try {
2392
- this.state = 550;
2421
+ this.state = 551;
2393
2422
  this.errorHandler.sync(this);
2394
2423
  switch (this.interpreter.adaptivePredict(this.tokenStream, 48, this.context) ) {
2395
2424
  case 1:
2396
2425
  this.enterOuterAlt(localContext, 1);
2397
2426
  {
2398
- this.state = 537;
2427
+ this.state = 538;
2399
2428
  this.match(CParser.Enum);
2400
- this.state = 539;
2429
+ this.state = 540;
2401
2430
  this.errorHandler.sync(this);
2402
2431
  _la = this.tokenStream.LA(1);
2403
- if (_la === 110) {
2432
+ if (_la === 116) {
2404
2433
  {
2405
- this.state = 538;
2434
+ this.state = 539;
2406
2435
  this.match(CParser.Identifier);
2407
2436
  }
2408
2437
  }
2409
2438
 
2410
- this.state = 541;
2411
- this.match(CParser.LeftBrace);
2412
2439
  this.state = 542;
2440
+ this.match(CParser.LeftBrace);
2441
+ this.state = 543;
2413
2442
  this.enumeratorList();
2414
- this.state = 544;
2443
+ this.state = 545;
2415
2444
  this.errorHandler.sync(this);
2416
2445
  _la = this.tokenStream.LA(1);
2417
- if (_la === 93) {
2446
+ if (_la === 99) {
2418
2447
  {
2419
- this.state = 543;
2448
+ this.state = 544;
2420
2449
  this.match(CParser.Comma);
2421
2450
  }
2422
2451
  }
2423
2452
 
2424
- this.state = 546;
2453
+ this.state = 547;
2425
2454
  this.match(CParser.RightBrace);
2426
2455
  }
2427
2456
  break;
2428
2457
  case 2:
2429
2458
  this.enterOuterAlt(localContext, 2);
2430
2459
  {
2431
- this.state = 548;
2432
- this.match(CParser.Enum);
2433
2460
  this.state = 549;
2461
+ this.match(CParser.Enum);
2462
+ this.state = 550;
2434
2463
  this.match(CParser.Identifier);
2435
2464
  }
2436
2465
  break;
@@ -2456,23 +2485,23 @@ export class CParser extends antlr.Parser {
2456
2485
  let alternative: number;
2457
2486
  this.enterOuterAlt(localContext, 1);
2458
2487
  {
2459
- this.state = 552;
2488
+ this.state = 553;
2460
2489
  this.enumerator();
2461
- this.state = 557;
2490
+ this.state = 558;
2462
2491
  this.errorHandler.sync(this);
2463
2492
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 49, this.context);
2464
2493
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2465
2494
  if (alternative === 1) {
2466
2495
  {
2467
2496
  {
2468
- this.state = 553;
2469
- this.match(CParser.Comma);
2470
2497
  this.state = 554;
2498
+ this.match(CParser.Comma);
2499
+ this.state = 555;
2471
2500
  this.enumerator();
2472
2501
  }
2473
2502
  }
2474
2503
  }
2475
- this.state = 559;
2504
+ this.state = 560;
2476
2505
  this.errorHandler.sync(this);
2477
2506
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 49, this.context);
2478
2507
  }
@@ -2498,16 +2527,16 @@ export class CParser extends antlr.Parser {
2498
2527
  try {
2499
2528
  this.enterOuterAlt(localContext, 1);
2500
2529
  {
2501
- this.state = 560;
2530
+ this.state = 561;
2502
2531
  this.enumerationConstant();
2503
- this.state = 563;
2532
+ this.state = 564;
2504
2533
  this.errorHandler.sync(this);
2505
2534
  _la = this.tokenStream.LA(1);
2506
- if (_la === 94) {
2535
+ if (_la === 100) {
2507
2536
  {
2508
- this.state = 561;
2509
- this.match(CParser.Assign);
2510
2537
  this.state = 562;
2538
+ this.match(CParser.Assign);
2539
+ this.state = 563;
2511
2540
  this.constantExpression();
2512
2541
  }
2513
2542
  }
@@ -2533,7 +2562,7 @@ export class CParser extends antlr.Parser {
2533
2562
  try {
2534
2563
  this.enterOuterAlt(localContext, 1);
2535
2564
  {
2536
- this.state = 565;
2565
+ this.state = 566;
2537
2566
  this.match(CParser.Identifier);
2538
2567
  }
2539
2568
  }
@@ -2556,13 +2585,13 @@ export class CParser extends antlr.Parser {
2556
2585
  try {
2557
2586
  this.enterOuterAlt(localContext, 1);
2558
2587
  {
2559
- this.state = 567;
2560
- this.match(CParser.Atomic);
2561
2588
  this.state = 568;
2562
- this.match(CParser.LeftParen);
2589
+ this.match(CParser.Atomic);
2563
2590
  this.state = 569;
2564
- this.typeName();
2591
+ this.match(CParser.LeftParen);
2565
2592
  this.state = 570;
2593
+ this.typeName();
2594
+ this.state = 571;
2566
2595
  this.match(CParser.RightParen);
2567
2596
  }
2568
2597
  }
@@ -2586,9 +2615,9 @@ export class CParser extends antlr.Parser {
2586
2615
  try {
2587
2616
  this.enterOuterAlt(localContext, 1);
2588
2617
  {
2589
- this.state = 572;
2618
+ this.state = 573;
2590
2619
  _la = this.tokenStream.LA(1);
2591
- if(!(_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0))) {
2620
+ if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0))) {
2592
2621
  this.errorHandler.recoverInline(this);
2593
2622
  }
2594
2623
  else {
@@ -2614,54 +2643,54 @@ export class CParser extends antlr.Parser {
2614
2643
  let localContext = new FunctionSpecifierContext(this.context, this.state);
2615
2644
  this.enterRule(localContext, 90, CParser.RULE_functionSpecifier);
2616
2645
  try {
2617
- this.state = 583;
2646
+ this.state = 584;
2618
2647
  this.errorHandler.sync(this);
2619
2648
  switch (this.tokenStream.LA(1)) {
2620
2649
  case CParser.Inline:
2621
2650
  this.enterOuterAlt(localContext, 1);
2622
2651
  {
2623
- this.state = 574;
2652
+ this.state = 575;
2624
2653
  this.match(CParser.Inline);
2625
2654
  }
2626
2655
  break;
2627
2656
  case CParser.Noreturn:
2628
2657
  this.enterOuterAlt(localContext, 2);
2629
2658
  {
2630
- this.state = 575;
2659
+ this.state = 576;
2631
2660
  this.match(CParser.Noreturn);
2632
2661
  }
2633
2662
  break;
2634
- case CParser.T__7:
2663
+ case CParser.T__14:
2635
2664
  this.enterOuterAlt(localContext, 3);
2636
2665
  {
2637
- this.state = 576;
2638
- this.match(CParser.T__7);
2666
+ this.state = 577;
2667
+ this.match(CParser.T__14);
2639
2668
  }
2640
2669
  break;
2641
- case CParser.T__8:
2670
+ case CParser.T__15:
2642
2671
  this.enterOuterAlt(localContext, 4);
2643
2672
  {
2644
- this.state = 577;
2645
- this.match(CParser.T__8);
2673
+ this.state = 578;
2674
+ this.match(CParser.T__15);
2646
2675
  }
2647
2676
  break;
2648
- case CParser.T__16:
2677
+ case CParser.T__24:
2649
2678
  this.enterOuterAlt(localContext, 5);
2650
2679
  {
2651
- this.state = 578;
2680
+ this.state = 579;
2652
2681
  this.gccAttributeSpecifier();
2653
2682
  }
2654
2683
  break;
2655
- case CParser.T__9:
2684
+ case CParser.T__16:
2656
2685
  this.enterOuterAlt(localContext, 6);
2657
2686
  {
2658
- this.state = 579;
2659
- this.match(CParser.T__9);
2660
2687
  this.state = 580;
2661
- this.match(CParser.LeftParen);
2688
+ this.match(CParser.T__16);
2662
2689
  this.state = 581;
2663
- this.match(CParser.Identifier);
2690
+ this.match(CParser.LeftParen);
2664
2691
  this.state = 582;
2692
+ this.match(CParser.Identifier);
2693
+ this.state = 583;
2665
2694
  this.match(CParser.RightParen);
2666
2695
  }
2667
2696
  break;
@@ -2688,27 +2717,27 @@ export class CParser extends antlr.Parser {
2688
2717
  try {
2689
2718
  this.enterOuterAlt(localContext, 1);
2690
2719
  {
2691
- this.state = 585;
2692
- this.match(CParser.Alignas);
2693
2720
  this.state = 586;
2721
+ this.match(CParser.Alignas);
2722
+ this.state = 587;
2694
2723
  this.match(CParser.LeftParen);
2695
- this.state = 589;
2724
+ this.state = 590;
2696
2725
  this.errorHandler.sync(this);
2697
2726
  switch (this.interpreter.adaptivePredict(this.tokenStream, 52, this.context) ) {
2698
2727
  case 1:
2699
2728
  {
2700
- this.state = 587;
2729
+ this.state = 588;
2701
2730
  this.typeName();
2702
2731
  }
2703
2732
  break;
2704
2733
  case 2:
2705
2734
  {
2706
- this.state = 588;
2735
+ this.state = 589;
2707
2736
  this.constantExpression();
2708
2737
  }
2709
2738
  break;
2710
2739
  }
2711
- this.state = 591;
2740
+ this.state = 592;
2712
2741
  this.match(CParser.RightParen);
2713
2742
  }
2714
2743
  }
@@ -2733,31 +2762,31 @@ export class CParser extends antlr.Parser {
2733
2762
  let alternative: number;
2734
2763
  this.enterOuterAlt(localContext, 1);
2735
2764
  {
2736
- this.state = 594;
2765
+ this.state = 595;
2737
2766
  this.errorHandler.sync(this);
2738
2767
  _la = this.tokenStream.LA(1);
2739
- if (_la === 80 || _la === 87) {
2768
+ if (_la === 86 || _la === 93) {
2740
2769
  {
2741
- this.state = 593;
2770
+ this.state = 594;
2742
2771
  this.pointer();
2743
2772
  }
2744
2773
  }
2745
2774
 
2746
- this.state = 596;
2775
+ this.state = 597;
2747
2776
  this.directDeclarator(0);
2748
- this.state = 600;
2777
+ this.state = 601;
2749
2778
  this.errorHandler.sync(this);
2750
2779
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 54, this.context);
2751
2780
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2752
2781
  if (alternative === 1) {
2753
2782
  {
2754
2783
  {
2755
- this.state = 597;
2784
+ this.state = 598;
2756
2785
  this.gccDeclaratorExtension();
2757
2786
  }
2758
2787
  }
2759
2788
  }
2760
- this.state = 602;
2789
+ this.state = 603;
2761
2790
  this.errorHandler.sync(this);
2762
2791
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 54, this.context);
2763
2792
  }
@@ -2795,58 +2824,58 @@ export class CParser extends antlr.Parser {
2795
2824
  let alternative: number;
2796
2825
  this.enterOuterAlt(localContext, 1);
2797
2826
  {
2798
- this.state = 620;
2827
+ this.state = 621;
2799
2828
  this.errorHandler.sync(this);
2800
2829
  switch (this.interpreter.adaptivePredict(this.tokenStream, 55, this.context) ) {
2801
2830
  case 1:
2802
2831
  {
2803
- this.state = 604;
2832
+ this.state = 605;
2804
2833
  this.match(CParser.Identifier);
2805
2834
  }
2806
2835
  break;
2807
2836
  case 2:
2808
2837
  {
2809
- this.state = 605;
2810
- this.match(CParser.LeftParen);
2811
2838
  this.state = 606;
2812
- this.declarator();
2839
+ this.match(CParser.LeftParen);
2813
2840
  this.state = 607;
2841
+ this.declarator();
2842
+ this.state = 608;
2814
2843
  this.match(CParser.RightParen);
2815
2844
  }
2816
2845
  break;
2817
2846
  case 3:
2818
2847
  {
2819
- this.state = 609;
2820
- this.match(CParser.Identifier);
2821
2848
  this.state = 610;
2822
- this.match(CParser.Colon);
2849
+ this.match(CParser.Identifier);
2823
2850
  this.state = 611;
2851
+ this.match(CParser.Colon);
2852
+ this.state = 612;
2824
2853
  this.match(CParser.DigitSequence);
2825
2854
  }
2826
2855
  break;
2827
2856
  case 4:
2828
2857
  {
2829
- this.state = 612;
2830
- this.vcSpecificModifer();
2831
2858
  this.state = 613;
2859
+ this.vcSpecificModifer();
2860
+ this.state = 614;
2832
2861
  this.match(CParser.Identifier);
2833
2862
  }
2834
2863
  break;
2835
2864
  case 5:
2836
2865
  {
2837
- this.state = 615;
2838
- this.match(CParser.LeftParen);
2839
2866
  this.state = 616;
2840
- this.vcSpecificModifer();
2867
+ this.match(CParser.LeftParen);
2841
2868
  this.state = 617;
2842
- this.declarator();
2869
+ this.vcSpecificModifer();
2843
2870
  this.state = 618;
2871
+ this.declarator();
2872
+ this.state = 619;
2844
2873
  this.match(CParser.RightParen);
2845
2874
  }
2846
2875
  break;
2847
2876
  }
2848
2877
  this.context!.stop = this.tokenStream.LT(-1);
2849
- this.state = 667;
2878
+ this.state = 668;
2850
2879
  this.errorHandler.sync(this);
2851
2880
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 62, this.context);
2852
2881
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
@@ -2856,40 +2885,40 @@ export class CParser extends antlr.Parser {
2856
2885
  }
2857
2886
  previousContext = localContext;
2858
2887
  {
2859
- this.state = 665;
2888
+ this.state = 666;
2860
2889
  this.errorHandler.sync(this);
2861
2890
  switch (this.interpreter.adaptivePredict(this.tokenStream, 61, this.context) ) {
2862
2891
  case 1:
2863
2892
  {
2864
2893
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2865
2894
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2866
- this.state = 622;
2895
+ this.state = 623;
2867
2896
  if (!(this.precpred(this.context, 9))) {
2868
2897
  throw this.createFailedPredicateException("this.precpred(this.context, 9)");
2869
2898
  }
2870
- this.state = 623;
2899
+ this.state = 624;
2871
2900
  this.match(CParser.LeftBracket);
2872
- this.state = 625;
2901
+ this.state = 626;
2873
2902
  this.errorHandler.sync(this);
2874
2903
  _la = this.tokenStream.LA(1);
2875
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
2904
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
2876
2905
  {
2877
- this.state = 624;
2906
+ this.state = 625;
2878
2907
  this.typeQualifierList();
2879
2908
  }
2880
2909
  }
2881
2910
 
2882
- this.state = 628;
2911
+ this.state = 629;
2883
2912
  this.errorHandler.sync(this);
2884
2913
  _la = this.tokenStream.LA(1);
2885
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
2914
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
2886
2915
  {
2887
- this.state = 627;
2916
+ this.state = 628;
2888
2917
  this.assignmentExpression();
2889
2918
  }
2890
2919
  }
2891
2920
 
2892
- this.state = 630;
2921
+ this.state = 631;
2893
2922
  this.match(CParser.RightBracket);
2894
2923
  }
2895
2924
  break;
@@ -2897,27 +2926,27 @@ export class CParser extends antlr.Parser {
2897
2926
  {
2898
2927
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2899
2928
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2900
- this.state = 631;
2929
+ this.state = 632;
2901
2930
  if (!(this.precpred(this.context, 8))) {
2902
2931
  throw this.createFailedPredicateException("this.precpred(this.context, 8)");
2903
2932
  }
2904
- this.state = 632;
2905
- this.match(CParser.LeftBracket);
2906
2933
  this.state = 633;
2934
+ this.match(CParser.LeftBracket);
2935
+ this.state = 634;
2907
2936
  this.match(CParser.Static);
2908
- this.state = 635;
2937
+ this.state = 636;
2909
2938
  this.errorHandler.sync(this);
2910
2939
  _la = this.tokenStream.LA(1);
2911
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
2940
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
2912
2941
  {
2913
- this.state = 634;
2942
+ this.state = 635;
2914
2943
  this.typeQualifierList();
2915
2944
  }
2916
2945
  }
2917
2946
 
2918
- this.state = 637;
2919
- this.assignmentExpression();
2920
2947
  this.state = 638;
2948
+ this.assignmentExpression();
2949
+ this.state = 639;
2921
2950
  this.match(CParser.RightBracket);
2922
2951
  }
2923
2952
  break;
@@ -2925,19 +2954,19 @@ export class CParser extends antlr.Parser {
2925
2954
  {
2926
2955
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2927
2956
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2928
- this.state = 640;
2957
+ this.state = 641;
2929
2958
  if (!(this.precpred(this.context, 7))) {
2930
2959
  throw this.createFailedPredicateException("this.precpred(this.context, 7)");
2931
2960
  }
2932
- this.state = 641;
2933
- this.match(CParser.LeftBracket);
2934
2961
  this.state = 642;
2935
- this.typeQualifierList();
2962
+ this.match(CParser.LeftBracket);
2936
2963
  this.state = 643;
2937
- this.match(CParser.Static);
2964
+ this.typeQualifierList();
2938
2965
  this.state = 644;
2939
- this.assignmentExpression();
2966
+ this.match(CParser.Static);
2940
2967
  this.state = 645;
2968
+ this.assignmentExpression();
2969
+ this.state = 646;
2941
2970
  this.match(CParser.RightBracket);
2942
2971
  }
2943
2972
  break;
@@ -2945,25 +2974,25 @@ export class CParser extends antlr.Parser {
2945
2974
  {
2946
2975
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2947
2976
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2948
- this.state = 647;
2977
+ this.state = 648;
2949
2978
  if (!(this.precpred(this.context, 6))) {
2950
2979
  throw this.createFailedPredicateException("this.precpred(this.context, 6)");
2951
2980
  }
2952
- this.state = 648;
2981
+ this.state = 649;
2953
2982
  this.match(CParser.LeftBracket);
2954
- this.state = 650;
2983
+ this.state = 651;
2955
2984
  this.errorHandler.sync(this);
2956
2985
  _la = this.tokenStream.LA(1);
2957
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
2986
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
2958
2987
  {
2959
- this.state = 649;
2988
+ this.state = 650;
2960
2989
  this.typeQualifierList();
2961
2990
  }
2962
2991
  }
2963
2992
 
2964
- this.state = 652;
2965
- this.match(CParser.Star);
2966
2993
  this.state = 653;
2994
+ this.match(CParser.Star);
2995
+ this.state = 654;
2967
2996
  this.match(CParser.RightBracket);
2968
2997
  }
2969
2998
  break;
@@ -2971,15 +3000,15 @@ export class CParser extends antlr.Parser {
2971
3000
  {
2972
3001
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2973
3002
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2974
- this.state = 654;
3003
+ this.state = 655;
2975
3004
  if (!(this.precpred(this.context, 5))) {
2976
3005
  throw this.createFailedPredicateException("this.precpred(this.context, 5)");
2977
3006
  }
2978
- this.state = 655;
2979
- this.match(CParser.LeftParen);
2980
3007
  this.state = 656;
2981
- this.parameterTypeList();
3008
+ this.match(CParser.LeftParen);
2982
3009
  this.state = 657;
3010
+ this.parameterTypeList();
3011
+ this.state = 658;
2983
3012
  this.match(CParser.RightParen);
2984
3013
  }
2985
3014
  break;
@@ -2987,30 +3016,30 @@ export class CParser extends antlr.Parser {
2987
3016
  {
2988
3017
  localContext = new DirectDeclaratorContext(parentContext, parentState);
2989
3018
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directDeclarator);
2990
- this.state = 659;
3019
+ this.state = 660;
2991
3020
  if (!(this.precpred(this.context, 4))) {
2992
3021
  throw this.createFailedPredicateException("this.precpred(this.context, 4)");
2993
3022
  }
2994
- this.state = 660;
3023
+ this.state = 661;
2995
3024
  this.match(CParser.LeftParen);
2996
- this.state = 662;
3025
+ this.state = 663;
2997
3026
  this.errorHandler.sync(this);
2998
3027
  _la = this.tokenStream.LA(1);
2999
- if (_la === 110) {
3028
+ if (_la === 116) {
3000
3029
  {
3001
- this.state = 661;
3030
+ this.state = 662;
3002
3031
  this.identifierList();
3003
3032
  }
3004
3033
  }
3005
3034
 
3006
- this.state = 664;
3035
+ this.state = 665;
3007
3036
  this.match(CParser.RightParen);
3008
3037
  }
3009
3038
  break;
3010
3039
  }
3011
3040
  }
3012
3041
  }
3013
- this.state = 669;
3042
+ this.state = 670;
3014
3043
  this.errorHandler.sync(this);
3015
3044
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 62, this.context);
3016
3045
  }
@@ -3036,9 +3065,9 @@ export class CParser extends antlr.Parser {
3036
3065
  try {
3037
3066
  this.enterOuterAlt(localContext, 1);
3038
3067
  {
3039
- this.state = 670;
3068
+ this.state = 671;
3040
3069
  _la = this.tokenStream.LA(1);
3041
- if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 64000) !== 0))) {
3070
+ if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 8192000) !== 0))) {
3042
3071
  this.errorHandler.recoverInline(this);
3043
3072
  }
3044
3073
  else {
@@ -3065,38 +3094,46 @@ export class CParser extends antlr.Parser {
3065
3094
  this.enterRule(localContext, 100, CParser.RULE_gccDeclaratorExtension);
3066
3095
  let _la: number;
3067
3096
  try {
3068
- this.state = 681;
3097
+ this.state = 682;
3069
3098
  this.errorHandler.sync(this);
3070
3099
  switch (this.tokenStream.LA(1)) {
3071
- case CParser.T__15:
3100
+ case CParser.T__22:
3101
+ case CParser.T__23:
3072
3102
  this.enterOuterAlt(localContext, 1);
3073
3103
  {
3074
- this.state = 672;
3075
- this.match(CParser.T__15);
3076
3104
  this.state = 673;
3105
+ _la = this.tokenStream.LA(1);
3106
+ if(!(_la === 23 || _la === 24)) {
3107
+ this.errorHandler.recoverInline(this);
3108
+ }
3109
+ else {
3110
+ this.errorHandler.reportMatch(this);
3111
+ this.consume();
3112
+ }
3113
+ this.state = 674;
3077
3114
  this.match(CParser.LeftParen);
3078
- this.state = 675;
3115
+ this.state = 676;
3079
3116
  this.errorHandler.sync(this);
3080
3117
  _la = this.tokenStream.LA(1);
3081
3118
  do {
3082
3119
  {
3083
3120
  {
3084
- this.state = 674;
3121
+ this.state = 675;
3085
3122
  this.match(CParser.StringLiteral);
3086
3123
  }
3087
3124
  }
3088
- this.state = 677;
3125
+ this.state = 678;
3089
3126
  this.errorHandler.sync(this);
3090
3127
  _la = this.tokenStream.LA(1);
3091
- } while (_la === 113);
3092
- this.state = 679;
3128
+ } while (_la === 119);
3129
+ this.state = 680;
3093
3130
  this.match(CParser.RightParen);
3094
3131
  }
3095
3132
  break;
3096
- case CParser.T__16:
3133
+ case CParser.T__24:
3097
3134
  this.enterOuterAlt(localContext, 2);
3098
3135
  {
3099
- this.state = 680;
3136
+ this.state = 681;
3100
3137
  this.gccAttributeSpecifier();
3101
3138
  }
3102
3139
  break;
@@ -3123,18 +3160,18 @@ export class CParser extends antlr.Parser {
3123
3160
  try {
3124
3161
  this.enterOuterAlt(localContext, 1);
3125
3162
  {
3126
- this.state = 683;
3127
- this.match(CParser.T__16);
3128
3163
  this.state = 684;
3129
- this.match(CParser.LeftParen);
3164
+ this.match(CParser.T__24);
3130
3165
  this.state = 685;
3131
3166
  this.match(CParser.LeftParen);
3132
3167
  this.state = 686;
3133
- this.gccAttributeList();
3168
+ this.match(CParser.LeftParen);
3134
3169
  this.state = 687;
3135
- this.match(CParser.RightParen);
3170
+ this.gccAttributeList();
3136
3171
  this.state = 688;
3137
3172
  this.match(CParser.RightParen);
3173
+ this.state = 689;
3174
+ this.match(CParser.RightParen);
3138
3175
  }
3139
3176
  }
3140
3177
  catch (re) {
@@ -3157,37 +3194,37 @@ export class CParser extends antlr.Parser {
3157
3194
  try {
3158
3195
  this.enterOuterAlt(localContext, 1);
3159
3196
  {
3160
- this.state = 691;
3197
+ this.state = 692;
3161
3198
  this.errorHandler.sync(this);
3162
3199
  _la = this.tokenStream.LA(1);
3163
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4294967294) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967295) !== 0) || ((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 4160749567) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 8388607) !== 0)) {
3200
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4294967294) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967295) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 4294967103) !== 0) || ((((_la - 96)) & ~0x1F) === 0 && ((1 << (_la - 96)) & 2147483639) !== 0)) {
3164
3201
  {
3165
- this.state = 690;
3202
+ this.state = 691;
3166
3203
  this.gccAttribute();
3167
3204
  }
3168
3205
  }
3169
3206
 
3170
- this.state = 699;
3207
+ this.state = 700;
3171
3208
  this.errorHandler.sync(this);
3172
3209
  _la = this.tokenStream.LA(1);
3173
- while (_la === 93) {
3210
+ while (_la === 99) {
3174
3211
  {
3175
3212
  {
3176
- this.state = 693;
3213
+ this.state = 694;
3177
3214
  this.match(CParser.Comma);
3178
- this.state = 695;
3215
+ this.state = 696;
3179
3216
  this.errorHandler.sync(this);
3180
3217
  _la = this.tokenStream.LA(1);
3181
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4294967294) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967295) !== 0) || ((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 4160749567) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 8388607) !== 0)) {
3218
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4294967294) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967295) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 4294967103) !== 0) || ((((_la - 96)) & ~0x1F) === 0 && ((1 << (_la - 96)) & 2147483639) !== 0)) {
3182
3219
  {
3183
- this.state = 694;
3220
+ this.state = 695;
3184
3221
  this.gccAttribute();
3185
3222
  }
3186
3223
  }
3187
3224
 
3188
3225
  }
3189
3226
  }
3190
- this.state = 701;
3227
+ this.state = 702;
3191
3228
  this.errorHandler.sync(this);
3192
3229
  _la = this.tokenStream.LA(1);
3193
3230
  }
@@ -3213,33 +3250,33 @@ export class CParser extends antlr.Parser {
3213
3250
  try {
3214
3251
  this.enterOuterAlt(localContext, 1);
3215
3252
  {
3216
- this.state = 702;
3253
+ this.state = 703;
3217
3254
  _la = this.tokenStream.LA(1);
3218
- if(_la<=0 || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 536870915) !== 0)) {
3255
+ if(_la<=0 || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 536870915) !== 0)) {
3219
3256
  this.errorHandler.recoverInline(this);
3220
3257
  }
3221
3258
  else {
3222
3259
  this.errorHandler.reportMatch(this);
3223
3260
  this.consume();
3224
3261
  }
3225
- this.state = 708;
3262
+ this.state = 709;
3226
3263
  this.errorHandler.sync(this);
3227
3264
  _la = this.tokenStream.LA(1);
3228
- if (_la === 64) {
3265
+ if (_la === 70) {
3229
3266
  {
3230
- this.state = 703;
3267
+ this.state = 704;
3231
3268
  this.match(CParser.LeftParen);
3232
- this.state = 705;
3269
+ this.state = 706;
3233
3270
  this.errorHandler.sync(this);
3234
3271
  _la = this.tokenStream.LA(1);
3235
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
3272
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
3236
3273
  {
3237
- this.state = 704;
3274
+ this.state = 705;
3238
3275
  this.argumentExpressionList();
3239
3276
  }
3240
3277
  }
3241
3278
 
3242
- this.state = 707;
3279
+ this.state = 708;
3243
3280
  this.match(CParser.RightParen);
3244
3281
  }
3245
3282
  }
@@ -3266,37 +3303,37 @@ export class CParser extends antlr.Parser {
3266
3303
  try {
3267
3304
  this.enterOuterAlt(localContext, 1);
3268
3305
  {
3269
- this.state = 714;
3306
+ this.state = 715;
3270
3307
  this.errorHandler.sync(this);
3271
3308
  _la = this.tokenStream.LA(1);
3272
3309
  do {
3273
3310
  {
3274
3311
  {
3275
- this.state = 710;
3312
+ this.state = 711;
3276
3313
  _la = this.tokenStream.LA(1);
3277
- if(!(_la === 80 || _la === 87)) {
3314
+ if(!(_la === 86 || _la === 93)) {
3278
3315
  this.errorHandler.recoverInline(this);
3279
3316
  }
3280
3317
  else {
3281
3318
  this.errorHandler.reportMatch(this);
3282
3319
  this.consume();
3283
3320
  }
3284
- this.state = 712;
3321
+ this.state = 713;
3285
3322
  this.errorHandler.sync(this);
3286
3323
  _la = this.tokenStream.LA(1);
3287
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
3324
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
3288
3325
  {
3289
- this.state = 711;
3326
+ this.state = 712;
3290
3327
  this.typeQualifierList();
3291
3328
  }
3292
3329
  }
3293
3330
 
3294
3331
  }
3295
3332
  }
3296
- this.state = 716;
3333
+ this.state = 717;
3297
3334
  this.errorHandler.sync(this);
3298
3335
  _la = this.tokenStream.LA(1);
3299
- } while (_la === 80 || _la === 87);
3336
+ } while (_la === 86 || _la === 93);
3300
3337
  }
3301
3338
  }
3302
3339
  catch (re) {
@@ -3319,20 +3356,20 @@ export class CParser extends antlr.Parser {
3319
3356
  try {
3320
3357
  this.enterOuterAlt(localContext, 1);
3321
3358
  {
3322
- this.state = 719;
3359
+ this.state = 720;
3323
3360
  this.errorHandler.sync(this);
3324
3361
  _la = this.tokenStream.LA(1);
3325
3362
  do {
3326
3363
  {
3327
3364
  {
3328
- this.state = 718;
3365
+ this.state = 719;
3329
3366
  this.typeQualifier();
3330
3367
  }
3331
3368
  }
3332
- this.state = 721;
3369
+ this.state = 722;
3333
3370
  this.errorHandler.sync(this);
3334
3371
  _la = this.tokenStream.LA(1);
3335
- } while (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0));
3372
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0));
3336
3373
  }
3337
3374
  }
3338
3375
  catch (re) {
@@ -3355,16 +3392,16 @@ export class CParser extends antlr.Parser {
3355
3392
  try {
3356
3393
  this.enterOuterAlt(localContext, 1);
3357
3394
  {
3358
- this.state = 723;
3395
+ this.state = 724;
3359
3396
  this.parameterList();
3360
- this.state = 726;
3397
+ this.state = 727;
3361
3398
  this.errorHandler.sync(this);
3362
3399
  _la = this.tokenStream.LA(1);
3363
- if (_la === 93) {
3400
+ if (_la === 99) {
3364
3401
  {
3365
- this.state = 724;
3366
- this.match(CParser.Comma);
3367
3402
  this.state = 725;
3403
+ this.match(CParser.Comma);
3404
+ this.state = 726;
3368
3405
  this.match(CParser.Ellipsis);
3369
3406
  }
3370
3407
  }
@@ -3391,23 +3428,23 @@ export class CParser extends antlr.Parser {
3391
3428
  let alternative: number;
3392
3429
  this.enterOuterAlt(localContext, 1);
3393
3430
  {
3394
- this.state = 728;
3431
+ this.state = 729;
3395
3432
  this.parameterDeclaration();
3396
- this.state = 733;
3433
+ this.state = 734;
3397
3434
  this.errorHandler.sync(this);
3398
3435
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 74, this.context);
3399
3436
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3400
3437
  if (alternative === 1) {
3401
3438
  {
3402
3439
  {
3403
- this.state = 729;
3404
- this.match(CParser.Comma);
3405
3440
  this.state = 730;
3441
+ this.match(CParser.Comma);
3442
+ this.state = 731;
3406
3443
  this.parameterDeclaration();
3407
3444
  }
3408
3445
  }
3409
3446
  }
3410
- this.state = 735;
3447
+ this.state = 736;
3411
3448
  this.errorHandler.sync(this);
3412
3449
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 74, this.context);
3413
3450
  }
@@ -3431,29 +3468,29 @@ export class CParser extends antlr.Parser {
3431
3468
  this.enterRule(localContext, 116, CParser.RULE_parameterDeclaration);
3432
3469
  let _la: number;
3433
3470
  try {
3434
- this.state = 743;
3471
+ this.state = 744;
3435
3472
  this.errorHandler.sync(this);
3436
3473
  switch (this.interpreter.adaptivePredict(this.tokenStream, 76, this.context) ) {
3437
3474
  case 1:
3438
3475
  this.enterOuterAlt(localContext, 1);
3439
3476
  {
3440
- this.state = 736;
3441
- this.declarationSpecifiers();
3442
3477
  this.state = 737;
3478
+ this.declarationSpecifiers();
3479
+ this.state = 738;
3443
3480
  this.declarator();
3444
3481
  }
3445
3482
  break;
3446
3483
  case 2:
3447
3484
  this.enterOuterAlt(localContext, 2);
3448
3485
  {
3449
- this.state = 739;
3486
+ this.state = 740;
3450
3487
  this.declarationSpecifiers2();
3451
- this.state = 741;
3488
+ this.state = 742;
3452
3489
  this.errorHandler.sync(this);
3453
3490
  _la = this.tokenStream.LA(1);
3454
- if (((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 8454149) !== 0)) {
3491
+ if (((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 8454149) !== 0)) {
3455
3492
  {
3456
- this.state = 740;
3493
+ this.state = 741;
3457
3494
  this.abstractDeclarator();
3458
3495
  }
3459
3496
  }
@@ -3482,21 +3519,21 @@ export class CParser extends antlr.Parser {
3482
3519
  try {
3483
3520
  this.enterOuterAlt(localContext, 1);
3484
3521
  {
3485
- this.state = 745;
3522
+ this.state = 746;
3486
3523
  this.match(CParser.Identifier);
3487
- this.state = 750;
3524
+ this.state = 751;
3488
3525
  this.errorHandler.sync(this);
3489
3526
  _la = this.tokenStream.LA(1);
3490
- while (_la === 93) {
3527
+ while (_la === 99) {
3491
3528
  {
3492
3529
  {
3493
- this.state = 746;
3494
- this.match(CParser.Comma);
3495
3530
  this.state = 747;
3531
+ this.match(CParser.Comma);
3532
+ this.state = 748;
3496
3533
  this.match(CParser.Identifier);
3497
3534
  }
3498
3535
  }
3499
- this.state = 752;
3536
+ this.state = 753;
3500
3537
  this.errorHandler.sync(this);
3501
3538
  _la = this.tokenStream.LA(1);
3502
3539
  }
@@ -3522,14 +3559,14 @@ export class CParser extends antlr.Parser {
3522
3559
  try {
3523
3560
  this.enterOuterAlt(localContext, 1);
3524
3561
  {
3525
- this.state = 753;
3562
+ this.state = 754;
3526
3563
  this.specifierQualifierList();
3527
- this.state = 755;
3564
+ this.state = 756;
3528
3565
  this.errorHandler.sync(this);
3529
3566
  _la = this.tokenStream.LA(1);
3530
- if (((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 8454149) !== 0)) {
3567
+ if (((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 8454149) !== 0)) {
3531
3568
  {
3532
- this.state = 754;
3569
+ this.state = 755;
3533
3570
  this.abstractDeclarator();
3534
3571
  }
3535
3572
  }
@@ -3554,42 +3591,42 @@ export class CParser extends antlr.Parser {
3554
3591
  this.enterRule(localContext, 122, CParser.RULE_abstractDeclarator);
3555
3592
  let _la: number;
3556
3593
  try {
3557
- this.state = 768;
3594
+ this.state = 769;
3558
3595
  this.errorHandler.sync(this);
3559
3596
  switch (this.interpreter.adaptivePredict(this.tokenStream, 81, this.context) ) {
3560
3597
  case 1:
3561
3598
  this.enterOuterAlt(localContext, 1);
3562
3599
  {
3563
- this.state = 757;
3600
+ this.state = 758;
3564
3601
  this.pointer();
3565
3602
  }
3566
3603
  break;
3567
3604
  case 2:
3568
3605
  this.enterOuterAlt(localContext, 2);
3569
3606
  {
3570
- this.state = 759;
3607
+ this.state = 760;
3571
3608
  this.errorHandler.sync(this);
3572
3609
  _la = this.tokenStream.LA(1);
3573
- if (_la === 80 || _la === 87) {
3610
+ if (_la === 86 || _la === 93) {
3574
3611
  {
3575
- this.state = 758;
3612
+ this.state = 759;
3576
3613
  this.pointer();
3577
3614
  }
3578
3615
  }
3579
3616
 
3580
- this.state = 761;
3617
+ this.state = 762;
3581
3618
  this.directAbstractDeclarator(0);
3582
- this.state = 765;
3619
+ this.state = 766;
3583
3620
  this.errorHandler.sync(this);
3584
3621
  _la = this.tokenStream.LA(1);
3585
- while (_la === 16 || _la === 17) {
3622
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 58720256) !== 0)) {
3586
3623
  {
3587
3624
  {
3588
- this.state = 762;
3625
+ this.state = 763;
3589
3626
  this.gccDeclaratorExtension();
3590
3627
  }
3591
3628
  }
3592
- this.state = 767;
3629
+ this.state = 768;
3593
3630
  this.errorHandler.sync(this);
3594
3631
  _la = this.tokenStream.LA(1);
3595
3632
  }
@@ -3629,30 +3666,30 @@ export class CParser extends antlr.Parser {
3629
3666
  let alternative: number;
3630
3667
  this.enterOuterAlt(localContext, 1);
3631
3668
  {
3632
- this.state = 816;
3669
+ this.state = 817;
3633
3670
  this.errorHandler.sync(this);
3634
3671
  switch (this.interpreter.adaptivePredict(this.tokenStream, 88, this.context) ) {
3635
3672
  case 1:
3636
3673
  {
3637
- this.state = 771;
3638
- this.match(CParser.LeftParen);
3639
3674
  this.state = 772;
3640
- this.abstractDeclarator();
3675
+ this.match(CParser.LeftParen);
3641
3676
  this.state = 773;
3677
+ this.abstractDeclarator();
3678
+ this.state = 774;
3642
3679
  this.match(CParser.RightParen);
3643
- this.state = 777;
3680
+ this.state = 778;
3644
3681
  this.errorHandler.sync(this);
3645
3682
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 82, this.context);
3646
3683
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3647
3684
  if (alternative === 1) {
3648
3685
  {
3649
3686
  {
3650
- this.state = 774;
3687
+ this.state = 775;
3651
3688
  this.gccDeclaratorExtension();
3652
3689
  }
3653
3690
  }
3654
3691
  }
3655
- this.state = 779;
3692
+ this.state = 780;
3656
3693
  this.errorHandler.sync(this);
3657
3694
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 82, this.context);
3658
3695
  }
@@ -3660,107 +3697,107 @@ export class CParser extends antlr.Parser {
3660
3697
  break;
3661
3698
  case 2:
3662
3699
  {
3663
- this.state = 780;
3700
+ this.state = 781;
3664
3701
  this.match(CParser.LeftBracket);
3665
- this.state = 782;
3702
+ this.state = 783;
3666
3703
  this.errorHandler.sync(this);
3667
3704
  _la = this.tokenStream.LA(1);
3668
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
3705
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
3669
3706
  {
3670
- this.state = 781;
3707
+ this.state = 782;
3671
3708
  this.typeQualifierList();
3672
3709
  }
3673
3710
  }
3674
3711
 
3675
- this.state = 785;
3712
+ this.state = 786;
3676
3713
  this.errorHandler.sync(this);
3677
3714
  _la = this.tokenStream.LA(1);
3678
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
3715
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
3679
3716
  {
3680
- this.state = 784;
3717
+ this.state = 785;
3681
3718
  this.assignmentExpression();
3682
3719
  }
3683
3720
  }
3684
3721
 
3685
- this.state = 787;
3722
+ this.state = 788;
3686
3723
  this.match(CParser.RightBracket);
3687
3724
  }
3688
3725
  break;
3689
3726
  case 3:
3690
3727
  {
3691
- this.state = 788;
3692
- this.match(CParser.LeftBracket);
3693
3728
  this.state = 789;
3729
+ this.match(CParser.LeftBracket);
3730
+ this.state = 790;
3694
3731
  this.match(CParser.Static);
3695
- this.state = 791;
3732
+ this.state = 792;
3696
3733
  this.errorHandler.sync(this);
3697
3734
  _la = this.tokenStream.LA(1);
3698
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
3735
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
3699
3736
  {
3700
- this.state = 790;
3737
+ this.state = 791;
3701
3738
  this.typeQualifierList();
3702
3739
  }
3703
3740
  }
3704
3741
 
3705
- this.state = 793;
3706
- this.assignmentExpression();
3707
3742
  this.state = 794;
3743
+ this.assignmentExpression();
3744
+ this.state = 795;
3708
3745
  this.match(CParser.RightBracket);
3709
3746
  }
3710
3747
  break;
3711
3748
  case 4:
3712
3749
  {
3713
- this.state = 796;
3714
- this.match(CParser.LeftBracket);
3715
3750
  this.state = 797;
3716
- this.typeQualifierList();
3751
+ this.match(CParser.LeftBracket);
3717
3752
  this.state = 798;
3718
- this.match(CParser.Static);
3753
+ this.typeQualifierList();
3719
3754
  this.state = 799;
3720
- this.assignmentExpression();
3755
+ this.match(CParser.Static);
3721
3756
  this.state = 800;
3757
+ this.assignmentExpression();
3758
+ this.state = 801;
3722
3759
  this.match(CParser.RightBracket);
3723
3760
  }
3724
3761
  break;
3725
3762
  case 5:
3726
3763
  {
3727
- this.state = 802;
3728
- this.match(CParser.LeftBracket);
3729
3764
  this.state = 803;
3730
- this.match(CParser.Star);
3765
+ this.match(CParser.LeftBracket);
3731
3766
  this.state = 804;
3767
+ this.match(CParser.Star);
3768
+ this.state = 805;
3732
3769
  this.match(CParser.RightBracket);
3733
3770
  }
3734
3771
  break;
3735
3772
  case 6:
3736
3773
  {
3737
- this.state = 805;
3774
+ this.state = 806;
3738
3775
  this.match(CParser.LeftParen);
3739
- this.state = 807;
3776
+ this.state = 808;
3740
3777
  this.errorHandler.sync(this);
3741
3778
  _la = this.tokenStream.LA(1);
3742
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3516008434) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 2808049137) !== 0) || _la === 110) {
3779
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1711538162) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || _la === 67 || _la === 69 || _la === 116) {
3743
3780
  {
3744
- this.state = 806;
3781
+ this.state = 807;
3745
3782
  this.parameterTypeList();
3746
3783
  }
3747
3784
  }
3748
3785
 
3749
- this.state = 809;
3786
+ this.state = 810;
3750
3787
  this.match(CParser.RightParen);
3751
- this.state = 813;
3788
+ this.state = 814;
3752
3789
  this.errorHandler.sync(this);
3753
3790
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 87, this.context);
3754
3791
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3755
3792
  if (alternative === 1) {
3756
3793
  {
3757
3794
  {
3758
- this.state = 810;
3795
+ this.state = 811;
3759
3796
  this.gccDeclaratorExtension();
3760
3797
  }
3761
3798
  }
3762
3799
  }
3763
- this.state = 815;
3800
+ this.state = 816;
3764
3801
  this.errorHandler.sync(this);
3765
3802
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 87, this.context);
3766
3803
  }
@@ -3768,7 +3805,7 @@ export class CParser extends antlr.Parser {
3768
3805
  break;
3769
3806
  }
3770
3807
  this.context!.stop = this.tokenStream.LT(-1);
3771
- this.state = 861;
3808
+ this.state = 862;
3772
3809
  this.errorHandler.sync(this);
3773
3810
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 95, this.context);
3774
3811
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
@@ -3778,40 +3815,40 @@ export class CParser extends antlr.Parser {
3778
3815
  }
3779
3816
  previousContext = localContext;
3780
3817
  {
3781
- this.state = 859;
3818
+ this.state = 860;
3782
3819
  this.errorHandler.sync(this);
3783
3820
  switch (this.interpreter.adaptivePredict(this.tokenStream, 94, this.context) ) {
3784
3821
  case 1:
3785
3822
  {
3786
3823
  localContext = new DirectAbstractDeclaratorContext(parentContext, parentState);
3787
3824
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directAbstractDeclarator);
3788
- this.state = 818;
3825
+ this.state = 819;
3789
3826
  if (!(this.precpred(this.context, 5))) {
3790
3827
  throw this.createFailedPredicateException("this.precpred(this.context, 5)");
3791
3828
  }
3792
- this.state = 819;
3829
+ this.state = 820;
3793
3830
  this.match(CParser.LeftBracket);
3794
- this.state = 821;
3831
+ this.state = 822;
3795
3832
  this.errorHandler.sync(this);
3796
3833
  _la = this.tokenStream.LA(1);
3797
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
3834
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
3798
3835
  {
3799
- this.state = 820;
3836
+ this.state = 821;
3800
3837
  this.typeQualifierList();
3801
3838
  }
3802
3839
  }
3803
3840
 
3804
- this.state = 824;
3841
+ this.state = 825;
3805
3842
  this.errorHandler.sync(this);
3806
3843
  _la = this.tokenStream.LA(1);
3807
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
3844
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
3808
3845
  {
3809
- this.state = 823;
3846
+ this.state = 824;
3810
3847
  this.assignmentExpression();
3811
3848
  }
3812
3849
  }
3813
3850
 
3814
- this.state = 826;
3851
+ this.state = 827;
3815
3852
  this.match(CParser.RightBracket);
3816
3853
  }
3817
3854
  break;
@@ -3819,27 +3856,27 @@ export class CParser extends antlr.Parser {
3819
3856
  {
3820
3857
  localContext = new DirectAbstractDeclaratorContext(parentContext, parentState);
3821
3858
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directAbstractDeclarator);
3822
- this.state = 827;
3859
+ this.state = 828;
3823
3860
  if (!(this.precpred(this.context, 4))) {
3824
3861
  throw this.createFailedPredicateException("this.precpred(this.context, 4)");
3825
3862
  }
3826
- this.state = 828;
3827
- this.match(CParser.LeftBracket);
3828
3863
  this.state = 829;
3864
+ this.match(CParser.LeftBracket);
3865
+ this.state = 830;
3829
3866
  this.match(CParser.Static);
3830
- this.state = 831;
3867
+ this.state = 832;
3831
3868
  this.errorHandler.sync(this);
3832
3869
  _la = this.tokenStream.LA(1);
3833
- if (_la === 24 || ((((_la - 40)) & ~0x1F) === 0 && ((1 << (_la - 40)) & 69633) !== 0)) {
3870
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073774080) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 69633) !== 0)) {
3834
3871
  {
3835
- this.state = 830;
3872
+ this.state = 831;
3836
3873
  this.typeQualifierList();
3837
3874
  }
3838
3875
  }
3839
3876
 
3840
- this.state = 833;
3841
- this.assignmentExpression();
3842
3877
  this.state = 834;
3878
+ this.assignmentExpression();
3879
+ this.state = 835;
3843
3880
  this.match(CParser.RightBracket);
3844
3881
  }
3845
3882
  break;
@@ -3847,19 +3884,19 @@ export class CParser extends antlr.Parser {
3847
3884
  {
3848
3885
  localContext = new DirectAbstractDeclaratorContext(parentContext, parentState);
3849
3886
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directAbstractDeclarator);
3850
- this.state = 836;
3887
+ this.state = 837;
3851
3888
  if (!(this.precpred(this.context, 3))) {
3852
3889
  throw this.createFailedPredicateException("this.precpred(this.context, 3)");
3853
3890
  }
3854
- this.state = 837;
3855
- this.match(CParser.LeftBracket);
3856
3891
  this.state = 838;
3857
- this.typeQualifierList();
3892
+ this.match(CParser.LeftBracket);
3858
3893
  this.state = 839;
3859
- this.match(CParser.Static);
3894
+ this.typeQualifierList();
3860
3895
  this.state = 840;
3861
- this.assignmentExpression();
3896
+ this.match(CParser.Static);
3862
3897
  this.state = 841;
3898
+ this.assignmentExpression();
3899
+ this.state = 842;
3863
3900
  this.match(CParser.RightBracket);
3864
3901
  }
3865
3902
  break;
@@ -3867,15 +3904,15 @@ export class CParser extends antlr.Parser {
3867
3904
  {
3868
3905
  localContext = new DirectAbstractDeclaratorContext(parentContext, parentState);
3869
3906
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directAbstractDeclarator);
3870
- this.state = 843;
3907
+ this.state = 844;
3871
3908
  if (!(this.precpred(this.context, 2))) {
3872
3909
  throw this.createFailedPredicateException("this.precpred(this.context, 2)");
3873
3910
  }
3874
- this.state = 844;
3875
- this.match(CParser.LeftBracket);
3876
3911
  this.state = 845;
3877
- this.match(CParser.Star);
3912
+ this.match(CParser.LeftBracket);
3878
3913
  this.state = 846;
3914
+ this.match(CParser.Star);
3915
+ this.state = 847;
3879
3916
  this.match(CParser.RightBracket);
3880
3917
  }
3881
3918
  break;
@@ -3883,37 +3920,37 @@ export class CParser extends antlr.Parser {
3883
3920
  {
3884
3921
  localContext = new DirectAbstractDeclaratorContext(parentContext, parentState);
3885
3922
  this.pushNewRecursionContext(localContext, _startState, CParser.RULE_directAbstractDeclarator);
3886
- this.state = 847;
3923
+ this.state = 848;
3887
3924
  if (!(this.precpred(this.context, 1))) {
3888
3925
  throw this.createFailedPredicateException("this.precpred(this.context, 1)");
3889
3926
  }
3890
- this.state = 848;
3927
+ this.state = 849;
3891
3928
  this.match(CParser.LeftParen);
3892
- this.state = 850;
3929
+ this.state = 851;
3893
3930
  this.errorHandler.sync(this);
3894
3931
  _la = this.tokenStream.LA(1);
3895
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3516008434) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 2808049137) !== 0) || _la === 110) {
3932
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1711538162) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || _la === 67 || _la === 69 || _la === 116) {
3896
3933
  {
3897
- this.state = 849;
3934
+ this.state = 850;
3898
3935
  this.parameterTypeList();
3899
3936
  }
3900
3937
  }
3901
3938
 
3902
- this.state = 852;
3939
+ this.state = 853;
3903
3940
  this.match(CParser.RightParen);
3904
- this.state = 856;
3941
+ this.state = 857;
3905
3942
  this.errorHandler.sync(this);
3906
3943
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 93, this.context);
3907
3944
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3908
3945
  if (alternative === 1) {
3909
3946
  {
3910
3947
  {
3911
- this.state = 853;
3948
+ this.state = 854;
3912
3949
  this.gccDeclaratorExtension();
3913
3950
  }
3914
3951
  }
3915
3952
  }
3916
- this.state = 858;
3953
+ this.state = 859;
3917
3954
  this.errorHandler.sync(this);
3918
3955
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 93, this.context);
3919
3956
  }
@@ -3922,7 +3959,7 @@ export class CParser extends antlr.Parser {
3922
3959
  }
3923
3960
  }
3924
3961
  }
3925
- this.state = 863;
3962
+ this.state = 864;
3926
3963
  this.errorHandler.sync(this);
3927
3964
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 95, this.context);
3928
3965
  }
@@ -3947,7 +3984,7 @@ export class CParser extends antlr.Parser {
3947
3984
  try {
3948
3985
  this.enterOuterAlt(localContext, 1);
3949
3986
  {
3950
- this.state = 864;
3987
+ this.state = 865;
3951
3988
  this.match(CParser.Identifier);
3952
3989
  }
3953
3990
  }
@@ -3969,7 +4006,7 @@ export class CParser extends antlr.Parser {
3969
4006
  this.enterRule(localContext, 128, CParser.RULE_initializer);
3970
4007
  let _la: number;
3971
4008
  try {
3972
- this.state = 874;
4009
+ this.state = 875;
3973
4010
  this.errorHandler.sync(this);
3974
4011
  switch (this.tokenStream.LA(1)) {
3975
4012
  case CParser.T__0:
@@ -3994,28 +4031,28 @@ export class CParser extends antlr.Parser {
3994
4031
  case CParser.StringLiteral:
3995
4032
  this.enterOuterAlt(localContext, 1);
3996
4033
  {
3997
- this.state = 866;
4034
+ this.state = 867;
3998
4035
  this.assignmentExpression();
3999
4036
  }
4000
4037
  break;
4001
4038
  case CParser.LeftBrace:
4002
4039
  this.enterOuterAlt(localContext, 2);
4003
4040
  {
4004
- this.state = 867;
4005
- this.match(CParser.LeftBrace);
4006
4041
  this.state = 868;
4042
+ this.match(CParser.LeftBrace);
4043
+ this.state = 869;
4007
4044
  this.initializerList();
4008
- this.state = 870;
4045
+ this.state = 871;
4009
4046
  this.errorHandler.sync(this);
4010
4047
  _la = this.tokenStream.LA(1);
4011
- if (_la === 93) {
4048
+ if (_la === 99) {
4012
4049
  {
4013
- this.state = 869;
4050
+ this.state = 870;
4014
4051
  this.match(CParser.Comma);
4015
4052
  }
4016
4053
  }
4017
4054
 
4018
- this.state = 872;
4055
+ this.state = 873;
4019
4056
  this.match(CParser.RightBrace);
4020
4057
  }
4021
4058
  break;
@@ -4044,43 +4081,43 @@ export class CParser extends antlr.Parser {
4044
4081
  let alternative: number;
4045
4082
  this.enterOuterAlt(localContext, 1);
4046
4083
  {
4047
- this.state = 877;
4084
+ this.state = 878;
4048
4085
  this.errorHandler.sync(this);
4049
4086
  _la = this.tokenStream.LA(1);
4050
- if (_la === 66 || _la === 108) {
4087
+ if (_la === 72 || _la === 114) {
4051
4088
  {
4052
- this.state = 876;
4089
+ this.state = 877;
4053
4090
  this.designation();
4054
4091
  }
4055
4092
  }
4056
4093
 
4057
- this.state = 879;
4094
+ this.state = 880;
4058
4095
  this.initializer();
4059
- this.state = 887;
4096
+ this.state = 888;
4060
4097
  this.errorHandler.sync(this);
4061
4098
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 100, this.context);
4062
4099
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
4063
4100
  if (alternative === 1) {
4064
4101
  {
4065
4102
  {
4066
- this.state = 880;
4103
+ this.state = 881;
4067
4104
  this.match(CParser.Comma);
4068
- this.state = 882;
4105
+ this.state = 883;
4069
4106
  this.errorHandler.sync(this);
4070
4107
  _la = this.tokenStream.LA(1);
4071
- if (_la === 66 || _la === 108) {
4108
+ if (_la === 72 || _la === 114) {
4072
4109
  {
4073
- this.state = 881;
4110
+ this.state = 882;
4074
4111
  this.designation();
4075
4112
  }
4076
4113
  }
4077
4114
 
4078
- this.state = 884;
4115
+ this.state = 885;
4079
4116
  this.initializer();
4080
4117
  }
4081
4118
  }
4082
4119
  }
4083
- this.state = 889;
4120
+ this.state = 890;
4084
4121
  this.errorHandler.sync(this);
4085
4122
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 100, this.context);
4086
4123
  }
@@ -4105,9 +4142,9 @@ export class CParser extends antlr.Parser {
4105
4142
  try {
4106
4143
  this.enterOuterAlt(localContext, 1);
4107
4144
  {
4108
- this.state = 890;
4109
- this.designatorList();
4110
4145
  this.state = 891;
4146
+ this.designatorList();
4147
+ this.state = 892;
4111
4148
  this.match(CParser.Assign);
4112
4149
  }
4113
4150
  }
@@ -4131,20 +4168,20 @@ export class CParser extends antlr.Parser {
4131
4168
  try {
4132
4169
  this.enterOuterAlt(localContext, 1);
4133
4170
  {
4134
- this.state = 894;
4171
+ this.state = 895;
4135
4172
  this.errorHandler.sync(this);
4136
4173
  _la = this.tokenStream.LA(1);
4137
4174
  do {
4138
4175
  {
4139
4176
  {
4140
- this.state = 893;
4177
+ this.state = 894;
4141
4178
  this.designator();
4142
4179
  }
4143
4180
  }
4144
- this.state = 896;
4181
+ this.state = 897;
4145
4182
  this.errorHandler.sync(this);
4146
4183
  _la = this.tokenStream.LA(1);
4147
- } while (_la === 66 || _la === 108);
4184
+ } while (_la === 72 || _la === 114);
4148
4185
  }
4149
4186
  }
4150
4187
  catch (re) {
@@ -4164,26 +4201,26 @@ export class CParser extends antlr.Parser {
4164
4201
  let localContext = new DesignatorContext(this.context, this.state);
4165
4202
  this.enterRule(localContext, 136, CParser.RULE_designator);
4166
4203
  try {
4167
- this.state = 904;
4204
+ this.state = 905;
4168
4205
  this.errorHandler.sync(this);
4169
4206
  switch (this.tokenStream.LA(1)) {
4170
4207
  case CParser.LeftBracket:
4171
4208
  this.enterOuterAlt(localContext, 1);
4172
4209
  {
4173
- this.state = 898;
4174
- this.match(CParser.LeftBracket);
4175
4210
  this.state = 899;
4176
- this.constantExpression();
4211
+ this.match(CParser.LeftBracket);
4177
4212
  this.state = 900;
4213
+ this.constantExpression();
4214
+ this.state = 901;
4178
4215
  this.match(CParser.RightBracket);
4179
4216
  }
4180
4217
  break;
4181
4218
  case CParser.Dot:
4182
4219
  this.enterOuterAlt(localContext, 2);
4183
4220
  {
4184
- this.state = 902;
4185
- this.match(CParser.Dot);
4186
4221
  this.state = 903;
4222
+ this.match(CParser.Dot);
4223
+ this.state = 904;
4187
4224
  this.match(CParser.Identifier);
4188
4225
  }
4189
4226
  break;
@@ -4211,31 +4248,31 @@ export class CParser extends antlr.Parser {
4211
4248
  try {
4212
4249
  this.enterOuterAlt(localContext, 1);
4213
4250
  {
4214
- this.state = 906;
4215
- this.match(CParser.StaticAssert);
4216
4251
  this.state = 907;
4217
- this.match(CParser.LeftParen);
4252
+ this.match(CParser.StaticAssert);
4218
4253
  this.state = 908;
4219
- this.constantExpression();
4254
+ this.match(CParser.LeftParen);
4220
4255
  this.state = 909;
4256
+ this.constantExpression();
4257
+ this.state = 910;
4221
4258
  this.match(CParser.Comma);
4222
- this.state = 911;
4259
+ this.state = 912;
4223
4260
  this.errorHandler.sync(this);
4224
4261
  _la = this.tokenStream.LA(1);
4225
4262
  do {
4226
4263
  {
4227
4264
  {
4228
- this.state = 910;
4265
+ this.state = 911;
4229
4266
  this.match(CParser.StringLiteral);
4230
4267
  }
4231
4268
  }
4232
- this.state = 913;
4269
+ this.state = 914;
4233
4270
  this.errorHandler.sync(this);
4234
4271
  _la = this.tokenStream.LA(1);
4235
- } while (_la === 113);
4236
- this.state = 915;
4237
- this.match(CParser.RightParen);
4272
+ } while (_la === 119);
4238
4273
  this.state = 916;
4274
+ this.match(CParser.RightParen);
4275
+ this.state = 917;
4239
4276
  this.match(CParser.Semi);
4240
4277
  }
4241
4278
  }
@@ -4257,128 +4294,128 @@ export class CParser extends antlr.Parser {
4257
4294
  this.enterRule(localContext, 140, CParser.RULE_statement);
4258
4295
  let _la: number;
4259
4296
  try {
4260
- this.state = 955;
4297
+ this.state = 956;
4261
4298
  this.errorHandler.sync(this);
4262
4299
  switch (this.interpreter.adaptivePredict(this.tokenStream, 109, this.context) ) {
4263
4300
  case 1:
4264
4301
  this.enterOuterAlt(localContext, 1);
4265
4302
  {
4266
- this.state = 918;
4303
+ this.state = 919;
4267
4304
  this.labeledStatement();
4268
4305
  }
4269
4306
  break;
4270
4307
  case 2:
4271
4308
  this.enterOuterAlt(localContext, 2);
4272
4309
  {
4273
- this.state = 919;
4310
+ this.state = 920;
4274
4311
  this.compoundStatement();
4275
4312
  }
4276
4313
  break;
4277
4314
  case 3:
4278
4315
  this.enterOuterAlt(localContext, 3);
4279
4316
  {
4280
- this.state = 920;
4317
+ this.state = 921;
4281
4318
  this.expressionStatement();
4282
4319
  }
4283
4320
  break;
4284
4321
  case 4:
4285
4322
  this.enterOuterAlt(localContext, 4);
4286
4323
  {
4287
- this.state = 921;
4324
+ this.state = 922;
4288
4325
  this.selectionStatement();
4289
4326
  }
4290
4327
  break;
4291
4328
  case 5:
4292
4329
  this.enterOuterAlt(localContext, 5);
4293
4330
  {
4294
- this.state = 922;
4331
+ this.state = 923;
4295
4332
  this.iterationStatement();
4296
4333
  }
4297
4334
  break;
4298
4335
  case 6:
4299
4336
  this.enterOuterAlt(localContext, 6);
4300
4337
  {
4301
- this.state = 923;
4338
+ this.state = 924;
4302
4339
  this.jumpStatement();
4303
4340
  }
4304
4341
  break;
4305
4342
  case 7:
4306
4343
  this.enterOuterAlt(localContext, 7);
4307
4344
  {
4308
- this.state = 924;
4345
+ this.state = 925;
4309
4346
  _la = this.tokenStream.LA(1);
4310
- if(!(_la === 16 || _la === 18)) {
4347
+ if(!(_la === 23 || _la === 24)) {
4311
4348
  this.errorHandler.recoverInline(this);
4312
4349
  }
4313
4350
  else {
4314
4351
  this.errorHandler.reportMatch(this);
4315
4352
  this.consume();
4316
4353
  }
4317
- this.state = 925;
4354
+ this.state = 926;
4318
4355
  _la = this.tokenStream.LA(1);
4319
- if(!(_la === 19 || _la === 52)) {
4356
+ if(!(_la === 14 || _la === 58)) {
4320
4357
  this.errorHandler.recoverInline(this);
4321
4358
  }
4322
4359
  else {
4323
4360
  this.errorHandler.reportMatch(this);
4324
4361
  this.consume();
4325
4362
  }
4326
- this.state = 926;
4363
+ this.state = 927;
4327
4364
  this.match(CParser.LeftParen);
4328
- this.state = 935;
4365
+ this.state = 936;
4329
4366
  this.errorHandler.sync(this);
4330
4367
  _la = this.tokenStream.LA(1);
4331
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4368
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4332
4369
  {
4333
- this.state = 927;
4370
+ this.state = 928;
4334
4371
  this.logicalOrExpression();
4335
- this.state = 932;
4372
+ this.state = 933;
4336
4373
  this.errorHandler.sync(this);
4337
4374
  _la = this.tokenStream.LA(1);
4338
- while (_la === 93) {
4375
+ while (_la === 99) {
4339
4376
  {
4340
4377
  {
4341
- this.state = 928;
4342
- this.match(CParser.Comma);
4343
4378
  this.state = 929;
4379
+ this.match(CParser.Comma);
4380
+ this.state = 930;
4344
4381
  this.logicalOrExpression();
4345
4382
  }
4346
4383
  }
4347
- this.state = 934;
4384
+ this.state = 935;
4348
4385
  this.errorHandler.sync(this);
4349
4386
  _la = this.tokenStream.LA(1);
4350
4387
  }
4351
4388
  }
4352
4389
  }
4353
4390
 
4354
- this.state = 950;
4391
+ this.state = 951;
4355
4392
  this.errorHandler.sync(this);
4356
4393
  _la = this.tokenStream.LA(1);
4357
- while (_la === 91) {
4394
+ while (_la === 97) {
4358
4395
  {
4359
4396
  {
4360
- this.state = 937;
4397
+ this.state = 938;
4361
4398
  this.match(CParser.Colon);
4362
- this.state = 946;
4399
+ this.state = 947;
4363
4400
  this.errorHandler.sync(this);
4364
4401
  _la = this.tokenStream.LA(1);
4365
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4402
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4366
4403
  {
4367
- this.state = 938;
4404
+ this.state = 939;
4368
4405
  this.logicalOrExpression();
4369
- this.state = 943;
4406
+ this.state = 944;
4370
4407
  this.errorHandler.sync(this);
4371
4408
  _la = this.tokenStream.LA(1);
4372
- while (_la === 93) {
4409
+ while (_la === 99) {
4373
4410
  {
4374
4411
  {
4375
- this.state = 939;
4376
- this.match(CParser.Comma);
4377
4412
  this.state = 940;
4413
+ this.match(CParser.Comma);
4414
+ this.state = 941;
4378
4415
  this.logicalOrExpression();
4379
4416
  }
4380
4417
  }
4381
- this.state = 945;
4418
+ this.state = 946;
4382
4419
  this.errorHandler.sync(this);
4383
4420
  _la = this.tokenStream.LA(1);
4384
4421
  }
@@ -4387,13 +4424,13 @@ export class CParser extends antlr.Parser {
4387
4424
 
4388
4425
  }
4389
4426
  }
4390
- this.state = 952;
4427
+ this.state = 953;
4391
4428
  this.errorHandler.sync(this);
4392
4429
  _la = this.tokenStream.LA(1);
4393
4430
  }
4394
- this.state = 953;
4395
- this.match(CParser.RightParen);
4396
4431
  this.state = 954;
4432
+ this.match(CParser.RightParen);
4433
+ this.state = 955;
4397
4434
  this.match(CParser.Semi);
4398
4435
  }
4399
4436
  break;
@@ -4416,22 +4453,22 @@ export class CParser extends antlr.Parser {
4416
4453
  let localContext = new LabeledStatementContext(this.context, this.state);
4417
4454
  this.enterRule(localContext, 142, CParser.RULE_labeledStatement);
4418
4455
  try {
4419
- this.state = 970;
4456
+ this.state = 971;
4420
4457
  this.errorHandler.sync(this);
4421
4458
  switch (this.tokenStream.LA(1)) {
4422
4459
  case CParser.Identifier:
4423
4460
  this.enterOuterAlt(localContext, 1);
4424
4461
  {
4425
- this.state = 957;
4426
- this.match(CParser.Identifier);
4427
4462
  this.state = 958;
4463
+ this.match(CParser.Identifier);
4464
+ this.state = 959;
4428
4465
  this.match(CParser.Colon);
4429
- this.state = 960;
4466
+ this.state = 961;
4430
4467
  this.errorHandler.sync(this);
4431
4468
  switch (this.interpreter.adaptivePredict(this.tokenStream, 110, this.context) ) {
4432
4469
  case 1:
4433
4470
  {
4434
- this.state = 959;
4471
+ this.state = 960;
4435
4472
  this.statement();
4436
4473
  }
4437
4474
  break;
@@ -4441,24 +4478,24 @@ export class CParser extends antlr.Parser {
4441
4478
  case CParser.Case:
4442
4479
  this.enterOuterAlt(localContext, 2);
4443
4480
  {
4444
- this.state = 962;
4445
- this.match(CParser.Case);
4446
4481
  this.state = 963;
4447
- this.constantExpression();
4482
+ this.match(CParser.Case);
4448
4483
  this.state = 964;
4449
- this.match(CParser.Colon);
4484
+ this.constantExpression();
4450
4485
  this.state = 965;
4486
+ this.match(CParser.Colon);
4487
+ this.state = 966;
4451
4488
  this.statement();
4452
4489
  }
4453
4490
  break;
4454
4491
  case CParser.Default:
4455
4492
  this.enterOuterAlt(localContext, 3);
4456
4493
  {
4457
- this.state = 967;
4458
- this.match(CParser.Default);
4459
4494
  this.state = 968;
4460
- this.match(CParser.Colon);
4495
+ this.match(CParser.Default);
4461
4496
  this.state = 969;
4497
+ this.match(CParser.Colon);
4498
+ this.state = 970;
4462
4499
  this.statement();
4463
4500
  }
4464
4501
  break;
@@ -4486,19 +4523,19 @@ export class CParser extends antlr.Parser {
4486
4523
  try {
4487
4524
  this.enterOuterAlt(localContext, 1);
4488
4525
  {
4489
- this.state = 972;
4526
+ this.state = 973;
4490
4527
  this.match(CParser.LeftBrace);
4491
- this.state = 974;
4528
+ this.state = 975;
4492
4529
  this.errorHandler.sync(this);
4493
4530
  _la = this.tokenStream.LA(1);
4494
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3757508606) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4026531839) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 321515537) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4531
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4286840830) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967287) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 3397125243) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 3932161) !== 0)) {
4495
4532
  {
4496
- this.state = 973;
4533
+ this.state = 974;
4497
4534
  this.blockItemList();
4498
4535
  }
4499
4536
  }
4500
4537
 
4501
- this.state = 976;
4538
+ this.state = 977;
4502
4539
  this.match(CParser.RightBrace);
4503
4540
  }
4504
4541
  }
@@ -4522,20 +4559,20 @@ export class CParser extends antlr.Parser {
4522
4559
  try {
4523
4560
  this.enterOuterAlt(localContext, 1);
4524
4561
  {
4525
- this.state = 979;
4562
+ this.state = 980;
4526
4563
  this.errorHandler.sync(this);
4527
4564
  _la = this.tokenStream.LA(1);
4528
4565
  do {
4529
4566
  {
4530
4567
  {
4531
- this.state = 978;
4568
+ this.state = 979;
4532
4569
  this.blockItem();
4533
4570
  }
4534
4571
  }
4535
- this.state = 981;
4572
+ this.state = 982;
4536
4573
  this.errorHandler.sync(this);
4537
4574
  _la = this.tokenStream.LA(1);
4538
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3757508606) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4026531839) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 321515537) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0));
4575
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4286840830) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 4294967287) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 3397125243) !== 0) || ((((_la - 98)) & ~0x1F) === 0 && ((1 << (_la - 98)) & 3932161) !== 0));
4539
4576
  }
4540
4577
  }
4541
4578
  catch (re) {
@@ -4555,20 +4592,20 @@ export class CParser extends antlr.Parser {
4555
4592
  let localContext = new BlockItemContext(this.context, this.state);
4556
4593
  this.enterRule(localContext, 148, CParser.RULE_blockItem);
4557
4594
  try {
4558
- this.state = 985;
4595
+ this.state = 986;
4559
4596
  this.errorHandler.sync(this);
4560
4597
  switch (this.interpreter.adaptivePredict(this.tokenStream, 114, this.context) ) {
4561
4598
  case 1:
4562
4599
  this.enterOuterAlt(localContext, 1);
4563
4600
  {
4564
- this.state = 983;
4601
+ this.state = 984;
4565
4602
  this.statement();
4566
4603
  }
4567
4604
  break;
4568
4605
  case 2:
4569
4606
  this.enterOuterAlt(localContext, 2);
4570
4607
  {
4571
- this.state = 984;
4608
+ this.state = 985;
4572
4609
  this.declaration();
4573
4610
  }
4574
4611
  break;
@@ -4594,17 +4631,17 @@ export class CParser extends antlr.Parser {
4594
4631
  try {
4595
4632
  this.enterOuterAlt(localContext, 1);
4596
4633
  {
4597
- this.state = 988;
4634
+ this.state = 989;
4598
4635
  this.errorHandler.sync(this);
4599
4636
  _la = this.tokenStream.LA(1);
4600
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4637
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4601
4638
  {
4602
- this.state = 987;
4639
+ this.state = 988;
4603
4640
  this.expression();
4604
4641
  }
4605
4642
  }
4606
4643
 
4607
- this.state = 990;
4644
+ this.state = 991;
4608
4645
  this.match(CParser.Semi);
4609
4646
  }
4610
4647
  }
@@ -4625,30 +4662,30 @@ export class CParser extends antlr.Parser {
4625
4662
  let localContext = new SelectionStatementContext(this.context, this.state);
4626
4663
  this.enterRule(localContext, 152, CParser.RULE_selectionStatement);
4627
4664
  try {
4628
- this.state = 1007;
4665
+ this.state = 1008;
4629
4666
  this.errorHandler.sync(this);
4630
4667
  switch (this.tokenStream.LA(1)) {
4631
4668
  case CParser.If:
4632
4669
  this.enterOuterAlt(localContext, 1);
4633
4670
  {
4634
- this.state = 992;
4635
- this.match(CParser.If);
4636
4671
  this.state = 993;
4637
- this.match(CParser.LeftParen);
4672
+ this.match(CParser.If);
4638
4673
  this.state = 994;
4639
- this.expression();
4674
+ this.match(CParser.LeftParen);
4640
4675
  this.state = 995;
4641
- this.match(CParser.RightParen);
4676
+ this.expression();
4642
4677
  this.state = 996;
4678
+ this.match(CParser.RightParen);
4679
+ this.state = 997;
4643
4680
  this.statement();
4644
- this.state = 999;
4681
+ this.state = 1000;
4645
4682
  this.errorHandler.sync(this);
4646
4683
  switch (this.interpreter.adaptivePredict(this.tokenStream, 116, this.context) ) {
4647
4684
  case 1:
4648
4685
  {
4649
- this.state = 997;
4650
- this.match(CParser.Else);
4651
4686
  this.state = 998;
4687
+ this.match(CParser.Else);
4688
+ this.state = 999;
4652
4689
  this.statement();
4653
4690
  }
4654
4691
  break;
@@ -4658,15 +4695,15 @@ export class CParser extends antlr.Parser {
4658
4695
  case CParser.Switch:
4659
4696
  this.enterOuterAlt(localContext, 2);
4660
4697
  {
4661
- this.state = 1001;
4662
- this.match(CParser.Switch);
4663
4698
  this.state = 1002;
4664
- this.match(CParser.LeftParen);
4699
+ this.match(CParser.Switch);
4665
4700
  this.state = 1003;
4666
- this.expression();
4701
+ this.match(CParser.LeftParen);
4667
4702
  this.state = 1004;
4668
- this.match(CParser.RightParen);
4703
+ this.expression();
4669
4704
  this.state = 1005;
4705
+ this.match(CParser.RightParen);
4706
+ this.state = 1006;
4670
4707
  this.statement();
4671
4708
  }
4672
4709
  break;
@@ -4691,55 +4728,55 @@ export class CParser extends antlr.Parser {
4691
4728
  let localContext = new IterationStatementContext(this.context, this.state);
4692
4729
  this.enterRule(localContext, 154, CParser.RULE_iterationStatement);
4693
4730
  try {
4694
- this.state = 1029;
4731
+ this.state = 1030;
4695
4732
  this.errorHandler.sync(this);
4696
4733
  switch (this.tokenStream.LA(1)) {
4697
4734
  case CParser.While:
4698
4735
  this.enterOuterAlt(localContext, 1);
4699
4736
  {
4700
- this.state = 1009;
4701
- this.match(CParser.While);
4702
4737
  this.state = 1010;
4703
- this.match(CParser.LeftParen);
4738
+ this.match(CParser.While);
4704
4739
  this.state = 1011;
4705
- this.expression();
4740
+ this.match(CParser.LeftParen);
4706
4741
  this.state = 1012;
4707
- this.match(CParser.RightParen);
4742
+ this.expression();
4708
4743
  this.state = 1013;
4744
+ this.match(CParser.RightParen);
4745
+ this.state = 1014;
4709
4746
  this.statement();
4710
4747
  }
4711
4748
  break;
4712
4749
  case CParser.Do:
4713
4750
  this.enterOuterAlt(localContext, 2);
4714
4751
  {
4715
- this.state = 1015;
4716
- this.match(CParser.Do);
4717
4752
  this.state = 1016;
4718
- this.statement();
4753
+ this.match(CParser.Do);
4719
4754
  this.state = 1017;
4720
- this.match(CParser.While);
4755
+ this.statement();
4721
4756
  this.state = 1018;
4722
- this.match(CParser.LeftParen);
4757
+ this.match(CParser.While);
4723
4758
  this.state = 1019;
4724
- this.expression();
4759
+ this.match(CParser.LeftParen);
4725
4760
  this.state = 1020;
4726
- this.match(CParser.RightParen);
4761
+ this.expression();
4727
4762
  this.state = 1021;
4763
+ this.match(CParser.RightParen);
4764
+ this.state = 1022;
4728
4765
  this.match(CParser.Semi);
4729
4766
  }
4730
4767
  break;
4731
4768
  case CParser.For:
4732
4769
  this.enterOuterAlt(localContext, 3);
4733
4770
  {
4734
- this.state = 1023;
4735
- this.match(CParser.For);
4736
4771
  this.state = 1024;
4737
- this.match(CParser.LeftParen);
4772
+ this.match(CParser.For);
4738
4773
  this.state = 1025;
4739
- this.forCondition();
4774
+ this.match(CParser.LeftParen);
4740
4775
  this.state = 1026;
4741
- this.match(CParser.RightParen);
4776
+ this.forCondition();
4742
4777
  this.state = 1027;
4778
+ this.match(CParser.RightParen);
4779
+ this.state = 1028;
4743
4780
  this.statement();
4744
4781
  }
4745
4782
  break;
@@ -4767,23 +4804,23 @@ export class CParser extends antlr.Parser {
4767
4804
  try {
4768
4805
  this.enterOuterAlt(localContext, 1);
4769
4806
  {
4770
- this.state = 1035;
4807
+ this.state = 1036;
4771
4808
  this.errorHandler.sync(this);
4772
4809
  switch (this.interpreter.adaptivePredict(this.tokenStream, 120, this.context) ) {
4773
4810
  case 1:
4774
4811
  {
4775
- this.state = 1031;
4812
+ this.state = 1032;
4776
4813
  this.forDeclaration();
4777
4814
  }
4778
4815
  break;
4779
4816
  case 2:
4780
4817
  {
4781
- this.state = 1033;
4818
+ this.state = 1034;
4782
4819
  this.errorHandler.sync(this);
4783
4820
  _la = this.tokenStream.LA(1);
4784
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4821
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4785
4822
  {
4786
- this.state = 1032;
4823
+ this.state = 1033;
4787
4824
  this.expression();
4788
4825
  }
4789
4826
  }
@@ -4791,26 +4828,26 @@ export class CParser extends antlr.Parser {
4791
4828
  }
4792
4829
  break;
4793
4830
  }
4794
- this.state = 1037;
4831
+ this.state = 1038;
4795
4832
  this.match(CParser.Semi);
4796
- this.state = 1039;
4833
+ this.state = 1040;
4797
4834
  this.errorHandler.sync(this);
4798
4835
  _la = this.tokenStream.LA(1);
4799
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4836
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4800
4837
  {
4801
- this.state = 1038;
4838
+ this.state = 1039;
4802
4839
  this.forExpression();
4803
4840
  }
4804
4841
  }
4805
4842
 
4806
- this.state = 1041;
4843
+ this.state = 1042;
4807
4844
  this.match(CParser.Semi);
4808
- this.state = 1043;
4845
+ this.state = 1044;
4809
4846
  this.errorHandler.sync(this);
4810
4847
  _la = this.tokenStream.LA(1);
4811
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4848
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4812
4849
  {
4813
- this.state = 1042;
4850
+ this.state = 1043;
4814
4851
  this.forExpression();
4815
4852
  }
4816
4853
  }
@@ -4837,14 +4874,14 @@ export class CParser extends antlr.Parser {
4837
4874
  try {
4838
4875
  this.enterOuterAlt(localContext, 1);
4839
4876
  {
4840
- this.state = 1045;
4877
+ this.state = 1046;
4841
4878
  this.declarationSpecifiers();
4842
- this.state = 1047;
4879
+ this.state = 1048;
4843
4880
  this.errorHandler.sync(this);
4844
4881
  _la = this.tokenStream.LA(1);
4845
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 64000) !== 0) || ((((_la - 64)) & ~0x1F) === 0 && ((1 << (_la - 64)) & 8454145) !== 0) || _la === 110) {
4882
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8192000) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 8454145) !== 0) || _la === 116) {
4846
4883
  {
4847
- this.state = 1046;
4884
+ this.state = 1047;
4848
4885
  this.initDeclaratorList();
4849
4886
  }
4850
4887
  }
@@ -4871,21 +4908,21 @@ export class CParser extends antlr.Parser {
4871
4908
  try {
4872
4909
  this.enterOuterAlt(localContext, 1);
4873
4910
  {
4874
- this.state = 1049;
4911
+ this.state = 1050;
4875
4912
  this.assignmentExpression();
4876
- this.state = 1054;
4913
+ this.state = 1055;
4877
4914
  this.errorHandler.sync(this);
4878
4915
  _la = this.tokenStream.LA(1);
4879
- while (_la === 93) {
4916
+ while (_la === 99) {
4880
4917
  {
4881
4918
  {
4882
- this.state = 1050;
4883
- this.match(CParser.Comma);
4884
4919
  this.state = 1051;
4920
+ this.match(CParser.Comma);
4921
+ this.state = 1052;
4885
4922
  this.assignmentExpression();
4886
4923
  }
4887
4924
  }
4888
- this.state = 1056;
4925
+ this.state = 1057;
4889
4926
  this.errorHandler.sync(this);
4890
4927
  _la = this.tokenStream.LA(1);
4891
4928
  }
@@ -4911,39 +4948,39 @@ export class CParser extends antlr.Parser {
4911
4948
  try {
4912
4949
  this.enterOuterAlt(localContext, 1);
4913
4950
  {
4914
- this.state = 1067;
4951
+ this.state = 1068;
4915
4952
  this.errorHandler.sync(this);
4916
4953
  switch (this.interpreter.adaptivePredict(this.tokenStream, 126, this.context) ) {
4917
4954
  case 1:
4918
4955
  {
4919
- this.state = 1057;
4920
- this.match(CParser.Goto);
4921
4956
  this.state = 1058;
4957
+ this.match(CParser.Goto);
4958
+ this.state = 1059;
4922
4959
  this.match(CParser.Identifier);
4923
4960
  }
4924
4961
  break;
4925
4962
  case 2:
4926
4963
  {
4927
- this.state = 1059;
4964
+ this.state = 1060;
4928
4965
  this.match(CParser.Continue);
4929
4966
  }
4930
4967
  break;
4931
4968
  case 3:
4932
4969
  {
4933
- this.state = 1060;
4970
+ this.state = 1061;
4934
4971
  this.match(CParser.Break);
4935
4972
  }
4936
4973
  break;
4937
4974
  case 4:
4938
4975
  {
4939
- this.state = 1061;
4976
+ this.state = 1062;
4940
4977
  this.match(CParser.Return);
4941
- this.state = 1063;
4978
+ this.state = 1064;
4942
4979
  this.errorHandler.sync(this);
4943
4980
  _la = this.tokenStream.LA(1);
4944
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 1083393) !== 0) || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 12959) !== 0) || ((((_la - 110)) & ~0x1F) === 0 && ((1 << (_la - 110)) & 15) !== 0)) {
4981
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 14) !== 0) || ((((_la - 50)) & ~0x1F) === 0 && ((1 << (_la - 50)) & 1083393) !== 0) || ((((_la - 82)) & ~0x1F) === 0 && ((1 << (_la - 82)) & 12959) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & 15) !== 0)) {
4945
4982
  {
4946
- this.state = 1062;
4983
+ this.state = 1063;
4947
4984
  this.expression();
4948
4985
  }
4949
4986
  }
@@ -4952,14 +4989,14 @@ export class CParser extends antlr.Parser {
4952
4989
  break;
4953
4990
  case 5:
4954
4991
  {
4955
- this.state = 1065;
4956
- this.match(CParser.Goto);
4957
4992
  this.state = 1066;
4993
+ this.match(CParser.Goto);
4994
+ this.state = 1067;
4958
4995
  this.unaryExpression();
4959
4996
  }
4960
4997
  break;
4961
4998
  }
4962
- this.state = 1069;
4999
+ this.state = 1070;
4963
5000
  this.match(CParser.Semi);
4964
5001
  }
4965
5002
  }
@@ -4983,17 +5020,17 @@ export class CParser extends antlr.Parser {
4983
5020
  try {
4984
5021
  this.enterOuterAlt(localContext, 1);
4985
5022
  {
4986
- this.state = 1072;
5023
+ this.state = 1073;
4987
5024
  this.errorHandler.sync(this);
4988
5025
  _la = this.tokenStream.LA(1);
4989
- if (((((_la - 1)) & ~0x1F) === 0 && ((1 << (_la - 1)) & 3905519609) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 511047391) !== 0) || ((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & 1073746049) !== 0)) {
5026
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1719664626) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || ((((_la - 67)) & ~0x1F) === 0 && ((1 << (_la - 67)) & 2215116815) !== 0) || _la === 116) {
4990
5027
  {
4991
- this.state = 1071;
5028
+ this.state = 1072;
4992
5029
  this.translationUnit();
4993
5030
  }
4994
5031
  }
4995
5032
 
4996
- this.state = 1074;
5033
+ this.state = 1075;
4997
5034
  this.match(CParser.EOF);
4998
5035
  }
4999
5036
  }
@@ -5017,20 +5054,20 @@ export class CParser extends antlr.Parser {
5017
5054
  try {
5018
5055
  this.enterOuterAlt(localContext, 1);
5019
5056
  {
5020
- this.state = 1077;
5057
+ this.state = 1078;
5021
5058
  this.errorHandler.sync(this);
5022
5059
  _la = this.tokenStream.LA(1);
5023
5060
  do {
5024
5061
  {
5025
5062
  {
5026
- this.state = 1076;
5063
+ this.state = 1077;
5027
5064
  this.externalDeclaration();
5028
5065
  }
5029
5066
  }
5030
- this.state = 1079;
5067
+ this.state = 1080;
5031
5068
  this.errorHandler.sync(this);
5032
5069
  _la = this.tokenStream.LA(1);
5033
- } while (((((_la - 1)) & ~0x1F) === 0 && ((1 << (_la - 1)) & 3905519609) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 511047391) !== 0) || ((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & 1073746049) !== 0));
5070
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1719664626) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || ((((_la - 67)) & ~0x1F) === 0 && ((1 << (_la - 67)) & 2215116815) !== 0) || _la === 116);
5034
5071
  }
5035
5072
  }
5036
5073
  catch (re) {
@@ -5050,27 +5087,27 @@ export class CParser extends antlr.Parser {
5050
5087
  let localContext = new ExternalDeclarationContext(this.context, this.state);
5051
5088
  this.enterRule(localContext, 168, CParser.RULE_externalDeclaration);
5052
5089
  try {
5053
- this.state = 1084;
5090
+ this.state = 1085;
5054
5091
  this.errorHandler.sync(this);
5055
5092
  switch (this.interpreter.adaptivePredict(this.tokenStream, 129, this.context) ) {
5056
5093
  case 1:
5057
5094
  this.enterOuterAlt(localContext, 1);
5058
5095
  {
5059
- this.state = 1081;
5096
+ this.state = 1082;
5060
5097
  this.functionDefinition();
5061
5098
  }
5062
5099
  break;
5063
5100
  case 2:
5064
5101
  this.enterOuterAlt(localContext, 2);
5065
5102
  {
5066
- this.state = 1082;
5103
+ this.state = 1083;
5067
5104
  this.declaration();
5068
5105
  }
5069
5106
  break;
5070
5107
  case 3:
5071
5108
  this.enterOuterAlt(localContext, 3);
5072
5109
  {
5073
- this.state = 1083;
5110
+ this.state = 1084;
5074
5111
  this.match(CParser.Semi);
5075
5112
  }
5076
5113
  break;
@@ -5096,29 +5133,29 @@ export class CParser extends antlr.Parser {
5096
5133
  try {
5097
5134
  this.enterOuterAlt(localContext, 1);
5098
5135
  {
5099
- this.state = 1087;
5136
+ this.state = 1088;
5100
5137
  this.errorHandler.sync(this);
5101
5138
  switch (this.interpreter.adaptivePredict(this.tokenStream, 130, this.context) ) {
5102
5139
  case 1:
5103
5140
  {
5104
- this.state = 1086;
5141
+ this.state = 1087;
5105
5142
  this.declarationSpecifiers();
5106
5143
  }
5107
5144
  break;
5108
5145
  }
5109
- this.state = 1089;
5146
+ this.state = 1090;
5110
5147
  this.declarator();
5111
- this.state = 1091;
5148
+ this.state = 1092;
5112
5149
  this.errorHandler.sync(this);
5113
5150
  _la = this.tokenStream.LA(1);
5114
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3516008434) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3881790961) !== 0) || _la === 110) {
5151
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1711538162) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || ((((_la - 67)) & ~0x1F) === 0 && ((1 << (_la - 67)) & 7) !== 0) || _la === 116) {
5115
5152
  {
5116
- this.state = 1090;
5153
+ this.state = 1091;
5117
5154
  this.declarationList();
5118
5155
  }
5119
5156
  }
5120
5157
 
5121
- this.state = 1093;
5158
+ this.state = 1094;
5122
5159
  this.compoundStatement();
5123
5160
  }
5124
5161
  }
@@ -5142,20 +5179,20 @@ export class CParser extends antlr.Parser {
5142
5179
  try {
5143
5180
  this.enterOuterAlt(localContext, 1);
5144
5181
  {
5145
- this.state = 1096;
5182
+ this.state = 1097;
5146
5183
  this.errorHandler.sync(this);
5147
5184
  _la = this.tokenStream.LA(1);
5148
5185
  do {
5149
5186
  {
5150
5187
  {
5151
- this.state = 1095;
5188
+ this.state = 1096;
5152
5189
  this.declaration();
5153
5190
  }
5154
5191
  }
5155
- this.state = 1098;
5192
+ this.state = 1099;
5156
5193
  this.errorHandler.sync(this);
5157
5194
  _la = this.tokenStream.LA(1);
5158
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3516008434) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3881790961) !== 0) || _la === 110);
5195
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1711538162) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 1979113245) !== 0) || ((((_la - 67)) & ~0x1F) === 0 && ((1 << (_la - 67)) & 7) !== 0) || _la === 116);
5159
5196
  }
5160
5197
  }
5161
5198
  catch (re) {
@@ -5215,7 +5252,7 @@ export class CParser extends antlr.Parser {
5215
5252
  }
5216
5253
 
5217
5254
  public static readonly _serializedATN: number[] = [
5218
- 4,1,120,1101,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,
5255
+ 4,1,126,1102,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,
5219
5256
  7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,
5220
5257
  13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,
5221
5258
  20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,
@@ -5253,134 +5290,134 @@ export class CParser extends antlr.Parser {
5253
5290
  1,27,1,27,1,27,3,27,439,8,27,1,28,1,28,1,28,5,28,444,8,28,10,28,
5254
5291
  12,28,447,9,28,1,29,1,29,1,29,3,29,452,8,29,1,30,1,30,1,31,1,31,
5255
5292
  1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,
5256
- 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,3,31,
5257
- 483,8,31,1,32,1,32,3,32,487,8,32,1,32,1,32,1,32,1,32,1,32,1,32,1,
5258
- 32,3,32,496,8,32,1,33,1,33,1,34,4,34,501,8,34,11,34,12,34,502,1,
5259
- 35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,513,8,35,1,36,1,36,3,
5260
- 36,517,8,36,1,36,3,36,520,8,36,1,37,1,37,1,37,5,37,525,8,37,10,37,
5261
- 12,37,528,9,37,1,38,1,38,3,38,532,8,38,1,38,1,38,3,38,536,8,38,1,
5262
- 39,1,39,3,39,540,8,39,1,39,1,39,1,39,3,39,545,8,39,1,39,1,39,1,39,
5263
- 1,39,3,39,551,8,39,1,40,1,40,1,40,5,40,556,8,40,10,40,12,40,559,
5264
- 9,40,1,41,1,41,1,41,3,41,564,8,41,1,42,1,42,1,43,1,43,1,43,1,43,
5293
+ 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,
5294
+ 3,31,484,8,31,1,32,1,32,3,32,488,8,32,1,32,1,32,1,32,1,32,1,32,1,
5295
+ 32,1,32,3,32,497,8,32,1,33,1,33,1,34,4,34,502,8,34,11,34,12,34,503,
5296
+ 1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,514,8,35,1,36,1,36,
5297
+ 3,36,518,8,36,1,36,3,36,521,8,36,1,37,1,37,1,37,5,37,526,8,37,10,
5298
+ 37,12,37,529,9,37,1,38,1,38,3,38,533,8,38,1,38,1,38,3,38,537,8,38,
5299
+ 1,39,1,39,3,39,541,8,39,1,39,1,39,1,39,3,39,546,8,39,1,39,1,39,1,
5300
+ 39,1,39,3,39,552,8,39,1,40,1,40,1,40,5,40,557,8,40,10,40,12,40,560,
5301
+ 9,40,1,41,1,41,1,41,3,41,565,8,41,1,42,1,42,1,43,1,43,1,43,1,43,
5265
5302
  1,43,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,3,45,
5266
- 584,8,45,1,46,1,46,1,46,1,46,3,46,590,8,46,1,46,1,46,1,47,3,47,595,
5267
- 8,47,1,47,1,47,5,47,599,8,47,10,47,12,47,602,9,47,1,48,1,48,1,48,
5303
+ 585,8,45,1,46,1,46,1,46,1,46,3,46,591,8,46,1,46,1,46,1,47,3,47,596,
5304
+ 8,47,1,47,1,47,5,47,600,8,47,10,47,12,47,603,9,47,1,48,1,48,1,48,
5268
5305
  1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,
5269
- 1,48,3,48,621,8,48,1,48,1,48,1,48,3,48,626,8,48,1,48,3,48,629,8,
5270
- 48,1,48,1,48,1,48,1,48,1,48,3,48,636,8,48,1,48,1,48,1,48,1,48,1,
5271
- 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,651,8,48,1,48,1,
5272
- 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,663,8,48,1,48,5,
5273
- 48,666,8,48,10,48,12,48,669,9,48,1,49,1,49,1,50,1,50,1,50,4,50,676,
5274
- 8,50,11,50,12,50,677,1,50,1,50,3,50,682,8,50,1,51,1,51,1,51,1,51,
5275
- 1,51,1,51,1,51,1,52,3,52,692,8,52,1,52,1,52,3,52,696,8,52,5,52,698,
5276
- 8,52,10,52,12,52,701,9,52,1,53,1,53,1,53,3,53,706,8,53,1,53,3,53,
5277
- 709,8,53,1,54,1,54,3,54,713,8,54,4,54,715,8,54,11,54,12,54,716,1,
5278
- 55,4,55,720,8,55,11,55,12,55,721,1,56,1,56,1,56,3,56,727,8,56,1,
5279
- 57,1,57,1,57,5,57,732,8,57,10,57,12,57,735,9,57,1,58,1,58,1,58,1,
5280
- 58,1,58,3,58,742,8,58,3,58,744,8,58,1,59,1,59,1,59,5,59,749,8,59,
5281
- 10,59,12,59,752,9,59,1,60,1,60,3,60,756,8,60,1,61,1,61,3,61,760,
5282
- 8,61,1,61,1,61,5,61,764,8,61,10,61,12,61,767,9,61,3,61,769,8,61,
5283
- 1,62,1,62,1,62,1,62,1,62,5,62,776,8,62,10,62,12,62,779,9,62,1,62,
5284
- 1,62,3,62,783,8,62,1,62,3,62,786,8,62,1,62,1,62,1,62,1,62,3,62,792,
5306
+ 1,48,3,48,622,8,48,1,48,1,48,1,48,3,48,627,8,48,1,48,3,48,630,8,
5307
+ 48,1,48,1,48,1,48,1,48,1,48,3,48,637,8,48,1,48,1,48,1,48,1,48,1,
5308
+ 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,652,8,48,1,48,1,
5309
+ 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,664,8,48,1,48,5,
5310
+ 48,667,8,48,10,48,12,48,670,9,48,1,49,1,49,1,50,1,50,1,50,4,50,677,
5311
+ 8,50,11,50,12,50,678,1,50,1,50,3,50,683,8,50,1,51,1,51,1,51,1,51,
5312
+ 1,51,1,51,1,51,1,52,3,52,693,8,52,1,52,1,52,3,52,697,8,52,5,52,699,
5313
+ 8,52,10,52,12,52,702,9,52,1,53,1,53,1,53,3,53,707,8,53,1,53,3,53,
5314
+ 710,8,53,1,54,1,54,3,54,714,8,54,4,54,716,8,54,11,54,12,54,717,1,
5315
+ 55,4,55,721,8,55,11,55,12,55,722,1,56,1,56,1,56,3,56,728,8,56,1,
5316
+ 57,1,57,1,57,5,57,733,8,57,10,57,12,57,736,9,57,1,58,1,58,1,58,1,
5317
+ 58,1,58,3,58,743,8,58,3,58,745,8,58,1,59,1,59,1,59,5,59,750,8,59,
5318
+ 10,59,12,59,753,9,59,1,60,1,60,3,60,757,8,60,1,61,1,61,3,61,761,
5319
+ 8,61,1,61,1,61,5,61,765,8,61,10,61,12,61,768,9,61,3,61,770,8,61,
5320
+ 1,62,1,62,1,62,1,62,1,62,5,62,777,8,62,10,62,12,62,780,9,62,1,62,
5321
+ 1,62,3,62,784,8,62,1,62,3,62,787,8,62,1,62,1,62,1,62,1,62,3,62,793,
5285
5322
  8,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,
5286
- 1,62,1,62,3,62,808,8,62,1,62,1,62,5,62,812,8,62,10,62,12,62,815,
5287
- 9,62,3,62,817,8,62,1,62,1,62,1,62,3,62,822,8,62,1,62,3,62,825,8,
5288
- 62,1,62,1,62,1,62,1,62,1,62,3,62,832,8,62,1,62,1,62,1,62,1,62,1,
5323
+ 1,62,1,62,3,62,809,8,62,1,62,1,62,5,62,813,8,62,10,62,12,62,816,
5324
+ 9,62,3,62,818,8,62,1,62,1,62,1,62,3,62,823,8,62,1,62,3,62,826,8,
5325
+ 62,1,62,1,62,1,62,1,62,1,62,3,62,833,8,62,1,62,1,62,1,62,1,62,1,
5289
5326
  62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,3,
5290
- 62,851,8,62,1,62,1,62,5,62,855,8,62,10,62,12,62,858,9,62,5,62,860,
5291
- 8,62,10,62,12,62,863,9,62,1,63,1,63,1,64,1,64,1,64,1,64,3,64,871,
5292
- 8,64,1,64,1,64,3,64,875,8,64,1,65,3,65,878,8,65,1,65,1,65,1,65,3,
5293
- 65,883,8,65,1,65,5,65,886,8,65,10,65,12,65,889,9,65,1,66,1,66,1,
5294
- 66,1,67,4,67,895,8,67,11,67,12,67,896,1,68,1,68,1,68,1,68,1,68,1,
5295
- 68,3,68,905,8,68,1,69,1,69,1,69,1,69,1,69,4,69,912,8,69,11,69,12,
5296
- 69,913,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,
5297
- 70,1,70,1,70,1,70,5,70,931,8,70,10,70,12,70,934,9,70,3,70,936,8,
5298
- 70,1,70,1,70,1,70,1,70,5,70,942,8,70,10,70,12,70,945,9,70,3,70,947,
5299
- 8,70,5,70,949,8,70,10,70,12,70,952,9,70,1,70,1,70,3,70,956,8,70,
5300
- 1,71,1,71,1,71,3,71,961,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,
5301
- 1,71,3,71,971,8,71,1,72,1,72,3,72,975,8,72,1,72,1,72,1,73,4,73,980,
5302
- 8,73,11,73,12,73,981,1,74,1,74,3,74,986,8,74,1,75,3,75,989,8,75,
5303
- 1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,3,76,1000,8,76,1,76,
5304
- 1,76,1,76,1,76,1,76,1,76,3,76,1008,8,76,1,77,1,77,1,77,1,77,1,77,
5327
+ 62,852,8,62,1,62,1,62,5,62,856,8,62,10,62,12,62,859,9,62,5,62,861,
5328
+ 8,62,10,62,12,62,864,9,62,1,63,1,63,1,64,1,64,1,64,1,64,3,64,872,
5329
+ 8,64,1,64,1,64,3,64,876,8,64,1,65,3,65,879,8,65,1,65,1,65,1,65,3,
5330
+ 65,884,8,65,1,65,5,65,887,8,65,10,65,12,65,890,9,65,1,66,1,66,1,
5331
+ 66,1,67,4,67,896,8,67,11,67,12,67,897,1,68,1,68,1,68,1,68,1,68,1,
5332
+ 68,3,68,906,8,68,1,69,1,69,1,69,1,69,1,69,4,69,913,8,69,11,69,12,
5333
+ 69,914,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,
5334
+ 70,1,70,1,70,1,70,5,70,932,8,70,10,70,12,70,935,9,70,3,70,937,8,
5335
+ 70,1,70,1,70,1,70,1,70,5,70,943,8,70,10,70,12,70,946,9,70,3,70,948,
5336
+ 8,70,5,70,950,8,70,10,70,12,70,953,9,70,1,70,1,70,3,70,957,8,70,
5337
+ 1,71,1,71,1,71,3,71,962,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,
5338
+ 1,71,3,71,972,8,71,1,72,1,72,3,72,976,8,72,1,72,1,72,1,73,4,73,981,
5339
+ 8,73,11,73,12,73,982,1,74,1,74,3,74,987,8,74,1,75,3,75,990,8,75,
5340
+ 1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,3,76,1001,8,76,1,76,
5341
+ 1,76,1,76,1,76,1,76,1,76,3,76,1009,8,76,1,77,1,77,1,77,1,77,1,77,
5305
5342
  1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,
5306
- 1,77,1,77,3,77,1030,8,77,1,78,1,78,3,78,1034,8,78,3,78,1036,8,78,
5307
- 1,78,1,78,3,78,1040,8,78,1,78,1,78,3,78,1044,8,78,1,79,1,79,3,79,
5308
- 1048,8,79,1,80,1,80,1,80,5,80,1053,8,80,10,80,12,80,1056,9,80,1,
5309
- 81,1,81,1,81,1,81,1,81,1,81,3,81,1064,8,81,1,81,1,81,3,81,1068,8,
5310
- 81,1,81,1,81,1,82,3,82,1073,8,82,1,82,1,82,1,83,4,83,1078,8,83,11,
5311
- 83,12,83,1079,1,84,1,84,1,84,3,84,1085,8,84,1,85,3,85,1088,8,85,
5312
- 1,85,1,85,3,85,1092,8,85,1,85,1,85,1,86,4,86,1097,8,86,11,86,12,
5313
- 86,1098,1,86,0,2,96,124,87,0,2,4,6,8,10,12,14,16,18,20,22,24,26,
5343
+ 1,77,1,77,3,77,1031,8,77,1,78,1,78,3,78,1035,8,78,3,78,1037,8,78,
5344
+ 1,78,1,78,3,78,1041,8,78,1,78,1,78,3,78,1045,8,78,1,79,1,79,3,79,
5345
+ 1049,8,79,1,80,1,80,1,80,5,80,1054,8,80,10,80,12,80,1057,9,80,1,
5346
+ 81,1,81,1,81,1,81,1,81,1,81,3,81,1065,8,81,1,81,1,81,3,81,1069,8,
5347
+ 81,1,81,1,81,1,82,3,82,1074,8,82,1,82,1,82,1,83,4,83,1079,8,83,11,
5348
+ 83,12,83,1080,1,84,1,84,1,84,3,84,1086,8,84,1,85,3,85,1089,8,85,
5349
+ 1,85,1,85,3,85,1093,8,85,1,85,1,85,1,86,4,86,1098,8,86,11,86,12,
5350
+ 86,1099,1,86,0,2,96,124,87,0,2,4,6,8,10,12,14,16,18,20,22,24,26,
5314
5351
  28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,
5315
5352
  72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,
5316
5353
  112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,
5317
5354
  144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,0,19,
5318
- 1,0,107,108,3,0,44,44,77,77,79,79,2,0,44,44,55,55,5,0,76,76,78,78,
5319
- 80,80,83,83,88,89,1,0,80,82,2,0,76,76,78,78,1,0,74,75,1,0,70,73,
5320
- 1,0,105,106,1,0,94,104,6,0,20,20,31,31,39,39,45,45,48,48,63,63,1,
5321
- 0,4,6,2,0,46,46,49,49,4,0,24,24,40,40,52,52,56,56,2,0,9,9,11,15,
5322
- 2,0,64,65,93,93,2,0,80,80,87,87,2,0,16,16,18,18,2,0,19,19,52,52,
5323
- 1210,0,207,1,0,0,0,2,209,1,0,0,0,4,216,1,0,0,0,6,226,1,0,0,0,8,245,
5324
- 1,0,0,0,10,265,1,0,0,0,12,276,1,0,0,0,14,292,1,0,0,0,16,304,1,0,
5325
- 0,0,18,306,1,0,0,0,20,314,1,0,0,0,22,322,1,0,0,0,24,330,1,0,0,0,
5326
- 26,338,1,0,0,0,28,346,1,0,0,0,30,354,1,0,0,0,32,362,1,0,0,0,34,370,
5327
- 1,0,0,0,36,378,1,0,0,0,38,386,1,0,0,0,40,400,1,0,0,0,42,402,1,0,
5328
- 0,0,44,404,1,0,0,0,46,412,1,0,0,0,48,421,1,0,0,0,50,424,1,0,0,0,
5329
- 52,429,1,0,0,0,54,438,1,0,0,0,56,440,1,0,0,0,58,448,1,0,0,0,60,453,
5330
- 1,0,0,0,62,482,1,0,0,0,64,495,1,0,0,0,66,497,1,0,0,0,68,500,1,0,
5331
- 0,0,70,512,1,0,0,0,72,516,1,0,0,0,74,521,1,0,0,0,76,535,1,0,0,0,
5332
- 78,550,1,0,0,0,80,552,1,0,0,0,82,560,1,0,0,0,84,565,1,0,0,0,86,567,
5333
- 1,0,0,0,88,572,1,0,0,0,90,583,1,0,0,0,92,585,1,0,0,0,94,594,1,0,
5334
- 0,0,96,620,1,0,0,0,98,670,1,0,0,0,100,681,1,0,0,0,102,683,1,0,0,
5335
- 0,104,691,1,0,0,0,106,702,1,0,0,0,108,714,1,0,0,0,110,719,1,0,0,
5336
- 0,112,723,1,0,0,0,114,728,1,0,0,0,116,743,1,0,0,0,118,745,1,0,0,
5337
- 0,120,753,1,0,0,0,122,768,1,0,0,0,124,816,1,0,0,0,126,864,1,0,0,
5338
- 0,128,874,1,0,0,0,130,877,1,0,0,0,132,890,1,0,0,0,134,894,1,0,0,
5339
- 0,136,904,1,0,0,0,138,906,1,0,0,0,140,955,1,0,0,0,142,970,1,0,0,
5340
- 0,144,972,1,0,0,0,146,979,1,0,0,0,148,985,1,0,0,0,150,988,1,0,0,
5341
- 0,152,1007,1,0,0,0,154,1029,1,0,0,0,156,1035,1,0,0,0,158,1045,1,
5342
- 0,0,0,160,1049,1,0,0,0,162,1067,1,0,0,0,164,1072,1,0,0,0,166,1077,
5343
- 1,0,0,0,168,1084,1,0,0,0,170,1087,1,0,0,0,172,1096,1,0,0,0,174,208,
5344
- 5,110,0,0,175,208,5,111,0,0,176,178,5,113,0,0,177,176,1,0,0,0,178,
5355
+ 1,0,113,114,3,0,50,50,83,83,85,85,2,0,50,50,61,61,5,0,82,82,84,84,
5356
+ 86,86,89,89,94,95,1,0,86,88,2,0,82,82,84,84,1,0,80,81,1,0,76,79,
5357
+ 1,0,111,112,1,0,100,110,6,0,26,26,37,37,45,45,51,51,54,54,69,69,
5358
+ 1,0,5,7,2,0,52,52,55,55,5,0,9,14,30,30,46,46,58,58,62,62,2,0,16,
5359
+ 16,18,22,1,0,23,24,2,0,70,71,99,99,2,0,86,86,93,93,2,0,14,14,58,
5360
+ 58,1212,0,207,1,0,0,0,2,209,1,0,0,0,4,216,1,0,0,0,6,226,1,0,0,0,
5361
+ 8,245,1,0,0,0,10,265,1,0,0,0,12,276,1,0,0,0,14,292,1,0,0,0,16,304,
5362
+ 1,0,0,0,18,306,1,0,0,0,20,314,1,0,0,0,22,322,1,0,0,0,24,330,1,0,
5363
+ 0,0,26,338,1,0,0,0,28,346,1,0,0,0,30,354,1,0,0,0,32,362,1,0,0,0,
5364
+ 34,370,1,0,0,0,36,378,1,0,0,0,38,386,1,0,0,0,40,400,1,0,0,0,42,402,
5365
+ 1,0,0,0,44,404,1,0,0,0,46,412,1,0,0,0,48,421,1,0,0,0,50,424,1,0,
5366
+ 0,0,52,429,1,0,0,0,54,438,1,0,0,0,56,440,1,0,0,0,58,448,1,0,0,0,
5367
+ 60,453,1,0,0,0,62,483,1,0,0,0,64,496,1,0,0,0,66,498,1,0,0,0,68,501,
5368
+ 1,0,0,0,70,513,1,0,0,0,72,517,1,0,0,0,74,522,1,0,0,0,76,536,1,0,
5369
+ 0,0,78,551,1,0,0,0,80,553,1,0,0,0,82,561,1,0,0,0,84,566,1,0,0,0,
5370
+ 86,568,1,0,0,0,88,573,1,0,0,0,90,584,1,0,0,0,92,586,1,0,0,0,94,595,
5371
+ 1,0,0,0,96,621,1,0,0,0,98,671,1,0,0,0,100,682,1,0,0,0,102,684,1,
5372
+ 0,0,0,104,692,1,0,0,0,106,703,1,0,0,0,108,715,1,0,0,0,110,720,1,
5373
+ 0,0,0,112,724,1,0,0,0,114,729,1,0,0,0,116,744,1,0,0,0,118,746,1,
5374
+ 0,0,0,120,754,1,0,0,0,122,769,1,0,0,0,124,817,1,0,0,0,126,865,1,
5375
+ 0,0,0,128,875,1,0,0,0,130,878,1,0,0,0,132,891,1,0,0,0,134,895,1,
5376
+ 0,0,0,136,905,1,0,0,0,138,907,1,0,0,0,140,956,1,0,0,0,142,971,1,
5377
+ 0,0,0,144,973,1,0,0,0,146,980,1,0,0,0,148,986,1,0,0,0,150,989,1,
5378
+ 0,0,0,152,1008,1,0,0,0,154,1030,1,0,0,0,156,1036,1,0,0,0,158,1046,
5379
+ 1,0,0,0,160,1050,1,0,0,0,162,1068,1,0,0,0,164,1073,1,0,0,0,166,1078,
5380
+ 1,0,0,0,168,1085,1,0,0,0,170,1088,1,0,0,0,172,1097,1,0,0,0,174,208,
5381
+ 5,116,0,0,175,208,5,117,0,0,176,178,5,119,0,0,177,176,1,0,0,0,178,
5345
5382
  179,1,0,0,0,179,177,1,0,0,0,179,180,1,0,0,0,180,208,1,0,0,0,181,
5346
- 182,5,64,0,0,182,183,3,44,22,0,183,184,5,65,0,0,184,208,1,0,0,0,
5383
+ 182,5,70,0,0,182,183,3,44,22,0,183,184,5,71,0,0,184,208,1,0,0,0,
5347
5384
  185,208,3,2,1,0,186,188,5,1,0,0,187,186,1,0,0,0,187,188,1,0,0,0,
5348
- 188,189,1,0,0,0,189,190,5,64,0,0,190,191,3,144,72,0,191,192,5,65,
5349
- 0,0,192,208,1,0,0,0,193,194,5,2,0,0,194,195,5,64,0,0,195,196,3,12,
5350
- 6,0,196,197,5,93,0,0,197,198,3,120,60,0,198,199,5,65,0,0,199,208,
5351
- 1,0,0,0,200,201,5,3,0,0,201,202,5,64,0,0,202,203,3,120,60,0,203,
5352
- 204,5,93,0,0,204,205,3,12,6,0,205,206,5,65,0,0,206,208,1,0,0,0,207,
5385
+ 188,189,1,0,0,0,189,190,5,70,0,0,190,191,3,144,72,0,191,192,5,71,
5386
+ 0,0,192,208,1,0,0,0,193,194,5,2,0,0,194,195,5,70,0,0,195,196,3,12,
5387
+ 6,0,196,197,5,99,0,0,197,198,3,120,60,0,198,199,5,71,0,0,199,208,
5388
+ 1,0,0,0,200,201,5,3,0,0,201,202,5,70,0,0,202,203,3,120,60,0,203,
5389
+ 204,5,99,0,0,204,205,3,12,6,0,205,206,5,71,0,0,206,208,1,0,0,0,207,
5353
5390
  174,1,0,0,0,207,175,1,0,0,0,207,177,1,0,0,0,207,181,1,0,0,0,207,
5354
5391
  185,1,0,0,0,207,187,1,0,0,0,207,193,1,0,0,0,207,200,1,0,0,0,208,
5355
- 1,1,0,0,0,209,210,5,59,0,0,210,211,5,64,0,0,211,212,3,40,20,0,212,
5356
- 213,5,93,0,0,213,214,3,4,2,0,214,215,5,65,0,0,215,3,1,0,0,0,216,
5357
- 221,3,6,3,0,217,218,5,93,0,0,218,220,3,6,3,0,219,217,1,0,0,0,220,
5392
+ 1,1,0,0,0,209,210,5,65,0,0,210,211,5,70,0,0,211,212,3,40,20,0,212,
5393
+ 213,5,99,0,0,213,214,3,4,2,0,214,215,5,71,0,0,215,3,1,0,0,0,216,
5394
+ 221,3,6,3,0,217,218,5,99,0,0,218,220,3,6,3,0,219,217,1,0,0,0,220,
5358
5395
  223,1,0,0,0,221,219,1,0,0,0,221,222,1,0,0,0,222,5,1,0,0,0,223,221,
5359
- 1,0,0,0,224,227,3,120,60,0,225,227,5,26,0,0,226,224,1,0,0,0,226,
5360
- 225,1,0,0,0,227,228,1,0,0,0,228,229,5,91,0,0,229,230,3,40,20,0,230,
5396
+ 1,0,0,0,224,227,3,120,60,0,225,227,5,32,0,0,226,224,1,0,0,0,226,
5397
+ 225,1,0,0,0,227,228,1,0,0,0,228,229,5,97,0,0,229,230,3,40,20,0,230,
5361
5398
  7,1,0,0,0,231,246,3,0,0,0,232,234,5,1,0,0,233,232,1,0,0,0,233,234,
5362
- 1,0,0,0,234,235,1,0,0,0,235,236,5,64,0,0,236,237,3,120,60,0,237,
5363
- 238,5,65,0,0,238,239,5,68,0,0,239,241,3,130,65,0,240,242,5,93,0,
5364
- 0,241,240,1,0,0,0,241,242,1,0,0,0,242,243,1,0,0,0,243,244,5,69,0,
5399
+ 1,0,0,0,234,235,1,0,0,0,235,236,5,70,0,0,236,237,3,120,60,0,237,
5400
+ 238,5,71,0,0,238,239,5,74,0,0,239,241,3,130,65,0,240,242,5,99,0,
5401
+ 0,241,240,1,0,0,0,241,242,1,0,0,0,242,243,1,0,0,0,243,244,5,75,0,
5365
5402
  0,244,246,1,0,0,0,245,231,1,0,0,0,245,233,1,0,0,0,246,262,1,0,0,
5366
- 0,247,248,5,66,0,0,248,249,3,44,22,0,249,250,5,67,0,0,250,261,1,
5367
- 0,0,0,251,253,5,64,0,0,252,254,3,10,5,0,253,252,1,0,0,0,253,254,
5368
- 1,0,0,0,254,255,1,0,0,0,255,261,5,65,0,0,256,257,7,0,0,0,257,261,
5369
- 5,110,0,0,258,261,5,77,0,0,259,261,5,79,0,0,260,247,1,0,0,0,260,
5403
+ 0,247,248,5,72,0,0,248,249,3,44,22,0,249,250,5,73,0,0,250,261,1,
5404
+ 0,0,0,251,253,5,70,0,0,252,254,3,10,5,0,253,252,1,0,0,0,253,254,
5405
+ 1,0,0,0,254,255,1,0,0,0,255,261,5,71,0,0,256,257,7,0,0,0,257,261,
5406
+ 5,116,0,0,258,261,5,83,0,0,259,261,5,85,0,0,260,247,1,0,0,0,260,
5370
5407
  251,1,0,0,0,260,256,1,0,0,0,260,258,1,0,0,0,260,259,1,0,0,0,261,
5371
5408
  264,1,0,0,0,262,260,1,0,0,0,262,263,1,0,0,0,263,9,1,0,0,0,264,262,
5372
- 1,0,0,0,265,270,3,40,20,0,266,267,5,93,0,0,267,269,3,40,20,0,268,
5409
+ 1,0,0,0,265,270,3,40,20,0,266,267,5,99,0,0,267,269,3,40,20,0,268,
5373
5410
  266,1,0,0,0,269,272,1,0,0,0,270,268,1,0,0,0,270,271,1,0,0,0,271,
5374
5411
  11,1,0,0,0,272,270,1,0,0,0,273,275,7,1,0,0,274,273,1,0,0,0,275,278,
5375
5412
  1,0,0,0,276,274,1,0,0,0,276,277,1,0,0,0,277,290,1,0,0,0,278,276,
5376
5413
  1,0,0,0,279,291,3,8,4,0,280,281,3,14,7,0,281,282,3,16,8,0,282,291,
5377
- 1,0,0,0,283,284,7,2,0,0,284,285,5,64,0,0,285,286,3,120,60,0,286,
5378
- 287,5,65,0,0,287,291,1,0,0,0,288,289,5,85,0,0,289,291,5,110,0,0,
5414
+ 1,0,0,0,283,284,7,2,0,0,284,285,5,70,0,0,285,286,3,120,60,0,286,
5415
+ 287,5,71,0,0,287,291,1,0,0,0,288,289,5,91,0,0,289,291,5,116,0,0,
5379
5416
  290,279,1,0,0,0,290,280,1,0,0,0,290,283,1,0,0,0,290,288,1,0,0,0,
5380
5417
  291,13,1,0,0,0,292,293,7,3,0,0,293,15,1,0,0,0,294,296,5,1,0,0,295,
5381
- 294,1,0,0,0,295,296,1,0,0,0,296,297,1,0,0,0,297,298,5,64,0,0,298,
5382
- 299,3,120,60,0,299,300,5,65,0,0,300,301,3,16,8,0,301,305,1,0,0,0,
5383
- 302,305,3,12,6,0,303,305,5,112,0,0,304,295,1,0,0,0,304,302,1,0,0,
5418
+ 294,1,0,0,0,295,296,1,0,0,0,296,297,1,0,0,0,297,298,5,70,0,0,298,
5419
+ 299,3,120,60,0,299,300,5,71,0,0,300,301,3,16,8,0,301,305,1,0,0,0,
5420
+ 302,305,3,12,6,0,303,305,5,118,0,0,304,295,1,0,0,0,304,302,1,0,0,
5384
5421
  0,304,303,1,0,0,0,305,17,1,0,0,0,306,311,3,16,8,0,307,308,7,4,0,
5385
5422
  0,308,310,3,16,8,0,309,307,1,0,0,0,310,313,1,0,0,0,311,309,1,0,0,
5386
5423
  0,311,312,1,0,0,0,312,19,1,0,0,0,313,311,1,0,0,0,314,319,3,18,9,
@@ -5393,27 +5430,27 @@ export class CParser extends antlr.Parser {
5393
5430
  0,0,336,25,1,0,0,0,337,335,1,0,0,0,338,343,3,24,12,0,339,340,7,8,
5394
5431
  0,0,340,342,3,24,12,0,341,339,1,0,0,0,342,345,1,0,0,0,343,341,1,
5395
5432
  0,0,0,343,344,1,0,0,0,344,27,1,0,0,0,345,343,1,0,0,0,346,351,3,26,
5396
- 13,0,347,348,5,83,0,0,348,350,3,26,13,0,349,347,1,0,0,0,350,353,
5433
+ 13,0,347,348,5,89,0,0,348,350,3,26,13,0,349,347,1,0,0,0,350,353,
5397
5434
  1,0,0,0,351,349,1,0,0,0,351,352,1,0,0,0,352,29,1,0,0,0,353,351,1,
5398
- 0,0,0,354,359,3,28,14,0,355,356,5,87,0,0,356,358,3,28,14,0,357,355,
5435
+ 0,0,0,354,359,3,28,14,0,355,356,5,93,0,0,356,358,3,28,14,0,357,355,
5399
5436
  1,0,0,0,358,361,1,0,0,0,359,357,1,0,0,0,359,360,1,0,0,0,360,31,1,
5400
- 0,0,0,361,359,1,0,0,0,362,367,3,30,15,0,363,364,5,84,0,0,364,366,
5437
+ 0,0,0,361,359,1,0,0,0,362,367,3,30,15,0,363,364,5,90,0,0,364,366,
5401
5438
  3,30,15,0,365,363,1,0,0,0,366,369,1,0,0,0,367,365,1,0,0,0,367,368,
5402
5439
  1,0,0,0,368,33,1,0,0,0,369,367,1,0,0,0,370,375,3,32,16,0,371,372,
5403
- 5,85,0,0,372,374,3,32,16,0,373,371,1,0,0,0,374,377,1,0,0,0,375,373,
5440
+ 5,91,0,0,372,374,3,32,16,0,373,371,1,0,0,0,374,377,1,0,0,0,375,373,
5404
5441
  1,0,0,0,375,376,1,0,0,0,376,35,1,0,0,0,377,375,1,0,0,0,378,383,3,
5405
- 34,17,0,379,380,5,86,0,0,380,382,3,34,17,0,381,379,1,0,0,0,382,385,
5442
+ 34,17,0,379,380,5,92,0,0,380,382,3,34,17,0,381,379,1,0,0,0,382,385,
5406
5443
  1,0,0,0,383,381,1,0,0,0,383,384,1,0,0,0,384,37,1,0,0,0,385,383,1,
5407
- 0,0,0,386,392,3,36,18,0,387,388,5,90,0,0,388,389,3,44,22,0,389,390,
5408
- 5,91,0,0,390,391,3,38,19,0,391,393,1,0,0,0,392,387,1,0,0,0,392,393,
5444
+ 0,0,0,386,392,3,36,18,0,387,388,5,96,0,0,388,389,3,44,22,0,389,390,
5445
+ 5,97,0,0,390,391,3,38,19,0,391,393,1,0,0,0,392,387,1,0,0,0,392,393,
5409
5446
  1,0,0,0,393,39,1,0,0,0,394,401,3,38,19,0,395,396,3,12,6,0,396,397,
5410
- 3,42,21,0,397,398,3,40,20,0,398,401,1,0,0,0,399,401,5,112,0,0,400,
5447
+ 3,42,21,0,397,398,3,40,20,0,398,401,1,0,0,0,399,401,5,118,0,0,400,
5411
5448
  394,1,0,0,0,400,395,1,0,0,0,400,399,1,0,0,0,401,41,1,0,0,0,402,403,
5412
- 7,9,0,0,403,43,1,0,0,0,404,409,3,40,20,0,405,406,5,93,0,0,406,408,
5449
+ 7,9,0,0,403,43,1,0,0,0,404,409,3,40,20,0,405,406,5,99,0,0,406,408,
5413
5450
  3,40,20,0,407,405,1,0,0,0,408,411,1,0,0,0,409,407,1,0,0,0,409,410,
5414
5451
  1,0,0,0,410,45,1,0,0,0,411,409,1,0,0,0,412,413,3,38,19,0,413,47,
5415
5452
  1,0,0,0,414,416,3,50,25,0,415,417,3,56,28,0,416,415,1,0,0,0,416,
5416
- 417,1,0,0,0,417,418,1,0,0,0,418,419,5,92,0,0,419,422,1,0,0,0,420,
5453
+ 417,1,0,0,0,417,418,1,0,0,0,418,419,5,98,0,0,419,422,1,0,0,0,420,
5417
5454
  422,3,138,69,0,421,414,1,0,0,0,421,420,1,0,0,0,422,49,1,0,0,0,423,
5418
5455
  425,3,54,27,0,424,423,1,0,0,0,425,426,1,0,0,0,426,424,1,0,0,0,426,
5419
5456
  427,1,0,0,0,427,51,1,0,0,0,428,430,3,54,27,0,429,428,1,0,0,0,430,
@@ -5421,225 +5458,226 @@ export class CParser extends antlr.Parser {
5421
5458
  3,60,30,0,434,439,3,62,31,0,435,439,3,88,44,0,436,439,3,90,45,0,
5422
5459
  437,439,3,92,46,0,438,433,1,0,0,0,438,434,1,0,0,0,438,435,1,0,0,
5423
5460
  0,438,436,1,0,0,0,438,437,1,0,0,0,439,55,1,0,0,0,440,445,3,58,29,
5424
- 0,441,442,5,93,0,0,442,444,3,58,29,0,443,441,1,0,0,0,444,447,1,0,
5461
+ 0,441,442,5,99,0,0,442,444,3,58,29,0,443,441,1,0,0,0,444,447,1,0,
5425
5462
  0,0,445,443,1,0,0,0,445,446,1,0,0,0,446,57,1,0,0,0,447,445,1,0,0,
5426
- 0,448,451,3,94,47,0,449,450,5,94,0,0,450,452,3,128,64,0,451,449,
5463
+ 0,448,451,3,94,47,0,449,450,5,100,0,0,450,452,3,128,64,0,451,449,
5427
5464
  1,0,0,0,451,452,1,0,0,0,452,59,1,0,0,0,453,454,7,10,0,0,454,61,1,
5428
- 0,0,0,455,483,5,51,0,0,456,483,5,23,0,0,457,483,5,42,0,0,458,483,
5429
- 5,37,0,0,459,483,5,38,0,0,460,483,5,32,0,0,461,483,5,28,0,0,462,
5430
- 483,5,43,0,0,463,483,5,50,0,0,464,483,5,57,0,0,465,483,5,58,0,0,
5431
- 466,483,5,4,0,0,467,483,5,5,0,0,468,483,5,6,0,0,469,470,5,1,0,0,
5432
- 470,471,5,64,0,0,471,472,7,11,0,0,472,483,5,65,0,0,473,483,3,86,
5433
- 43,0,474,483,3,64,32,0,475,483,3,78,39,0,476,483,3,126,63,0,477,
5434
- 478,5,7,0,0,478,479,5,64,0,0,479,480,3,46,23,0,480,481,5,65,0,0,
5435
- 481,483,1,0,0,0,482,455,1,0,0,0,482,456,1,0,0,0,482,457,1,0,0,0,
5436
- 482,458,1,0,0,0,482,459,1,0,0,0,482,460,1,0,0,0,482,461,1,0,0,0,
5437
- 482,462,1,0,0,0,482,463,1,0,0,0,482,464,1,0,0,0,482,465,1,0,0,0,
5438
- 482,466,1,0,0,0,482,467,1,0,0,0,482,468,1,0,0,0,482,469,1,0,0,0,
5439
- 482,473,1,0,0,0,482,474,1,0,0,0,482,475,1,0,0,0,482,476,1,0,0,0,
5440
- 482,477,1,0,0,0,483,63,1,0,0,0,484,486,3,66,33,0,485,487,5,110,0,
5441
- 0,486,485,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,489,5,68,0,
5442
- 0,489,490,3,68,34,0,490,491,5,69,0,0,491,496,1,0,0,0,492,493,3,66,
5443
- 33,0,493,494,5,110,0,0,494,496,1,0,0,0,495,484,1,0,0,0,495,492,1,
5444
- 0,0,0,496,65,1,0,0,0,497,498,7,12,0,0,498,67,1,0,0,0,499,501,3,70,
5445
- 35,0,500,499,1,0,0,0,501,502,1,0,0,0,502,500,1,0,0,0,502,503,1,0,
5446
- 0,0,503,69,1,0,0,0,504,505,3,72,36,0,505,506,3,74,37,0,506,507,5,
5447
- 92,0,0,507,513,1,0,0,0,508,509,3,72,36,0,509,510,5,92,0,0,510,513,
5448
- 1,0,0,0,511,513,3,138,69,0,512,504,1,0,0,0,512,508,1,0,0,0,512,511,
5449
- 1,0,0,0,513,71,1,0,0,0,514,517,3,62,31,0,515,517,3,88,44,0,516,514,
5450
- 1,0,0,0,516,515,1,0,0,0,517,519,1,0,0,0,518,520,3,72,36,0,519,518,
5451
- 1,0,0,0,519,520,1,0,0,0,520,73,1,0,0,0,521,526,3,76,38,0,522,523,
5452
- 5,93,0,0,523,525,3,76,38,0,524,522,1,0,0,0,525,528,1,0,0,0,526,524,
5453
- 1,0,0,0,526,527,1,0,0,0,527,75,1,0,0,0,528,526,1,0,0,0,529,536,3,
5454
- 94,47,0,530,532,3,94,47,0,531,530,1,0,0,0,531,532,1,0,0,0,532,533,
5455
- 1,0,0,0,533,534,5,91,0,0,534,536,3,46,23,0,535,529,1,0,0,0,535,531,
5456
- 1,0,0,0,536,77,1,0,0,0,537,539,5,30,0,0,538,540,5,110,0,0,539,538,
5457
- 1,0,0,0,539,540,1,0,0,0,540,541,1,0,0,0,541,542,5,68,0,0,542,544,
5458
- 3,80,40,0,543,545,5,93,0,0,544,543,1,0,0,0,544,545,1,0,0,0,545,546,
5459
- 1,0,0,0,546,547,5,69,0,0,547,551,1,0,0,0,548,549,5,30,0,0,549,551,
5460
- 5,110,0,0,550,537,1,0,0,0,550,548,1,0,0,0,551,79,1,0,0,0,552,557,
5461
- 3,82,41,0,553,554,5,93,0,0,554,556,3,82,41,0,555,553,1,0,0,0,556,
5462
- 559,1,0,0,0,557,555,1,0,0,0,557,558,1,0,0,0,558,81,1,0,0,0,559,557,
5463
- 1,0,0,0,560,563,3,84,42,0,561,562,5,94,0,0,562,564,3,46,23,0,563,
5464
- 561,1,0,0,0,563,564,1,0,0,0,564,83,1,0,0,0,565,566,5,110,0,0,566,
5465
- 85,1,0,0,0,567,568,5,56,0,0,568,569,5,64,0,0,569,570,3,120,60,0,
5466
- 570,571,5,65,0,0,571,87,1,0,0,0,572,573,7,13,0,0,573,89,1,0,0,0,
5467
- 574,584,5,36,0,0,575,584,5,61,0,0,576,584,5,8,0,0,577,584,5,9,0,
5468
- 0,578,584,3,102,51,0,579,580,5,10,0,0,580,581,5,64,0,0,581,582,5,
5469
- 110,0,0,582,584,5,65,0,0,583,574,1,0,0,0,583,575,1,0,0,0,583,576,
5470
- 1,0,0,0,583,577,1,0,0,0,583,578,1,0,0,0,583,579,1,0,0,0,584,91,1,
5471
- 0,0,0,585,586,5,54,0,0,586,589,5,64,0,0,587,590,3,120,60,0,588,590,
5472
- 3,46,23,0,589,587,1,0,0,0,589,588,1,0,0,0,590,591,1,0,0,0,591,592,
5473
- 5,65,0,0,592,93,1,0,0,0,593,595,3,108,54,0,594,593,1,0,0,0,594,595,
5474
- 1,0,0,0,595,596,1,0,0,0,596,600,3,96,48,0,597,599,3,100,50,0,598,
5475
- 597,1,0,0,0,599,602,1,0,0,0,600,598,1,0,0,0,600,601,1,0,0,0,601,
5476
- 95,1,0,0,0,602,600,1,0,0,0,603,604,6,48,-1,0,604,621,5,110,0,0,605,
5477
- 606,5,64,0,0,606,607,3,94,47,0,607,608,5,65,0,0,608,621,1,0,0,0,
5478
- 609,610,5,110,0,0,610,611,5,91,0,0,611,621,5,112,0,0,612,613,3,98,
5479
- 49,0,613,614,5,110,0,0,614,621,1,0,0,0,615,616,5,64,0,0,616,617,
5480
- 3,98,49,0,617,618,3,94,47,0,618,619,5,65,0,0,619,621,1,0,0,0,620,
5481
- 603,1,0,0,0,620,605,1,0,0,0,620,609,1,0,0,0,620,612,1,0,0,0,620,
5482
- 615,1,0,0,0,621,667,1,0,0,0,622,623,10,9,0,0,623,625,5,66,0,0,624,
5483
- 626,3,110,55,0,625,624,1,0,0,0,625,626,1,0,0,0,626,628,1,0,0,0,627,
5484
- 629,3,40,20,0,628,627,1,0,0,0,628,629,1,0,0,0,629,630,1,0,0,0,630,
5485
- 666,5,67,0,0,631,632,10,8,0,0,632,633,5,66,0,0,633,635,5,45,0,0,
5486
- 634,636,3,110,55,0,635,634,1,0,0,0,635,636,1,0,0,0,636,637,1,0,0,
5487
- 0,637,638,3,40,20,0,638,639,5,67,0,0,639,666,1,0,0,0,640,641,10,
5488
- 7,0,0,641,642,5,66,0,0,642,643,3,110,55,0,643,644,5,45,0,0,644,645,
5489
- 3,40,20,0,645,646,5,67,0,0,646,666,1,0,0,0,647,648,10,6,0,0,648,
5490
- 650,5,66,0,0,649,651,3,110,55,0,650,649,1,0,0,0,650,651,1,0,0,0,
5491
- 651,652,1,0,0,0,652,653,5,80,0,0,653,666,5,67,0,0,654,655,10,5,0,
5492
- 0,655,656,5,64,0,0,656,657,3,112,56,0,657,658,5,65,0,0,658,666,1,
5493
- 0,0,0,659,660,10,4,0,0,660,662,5,64,0,0,661,663,3,118,59,0,662,661,
5494
- 1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,666,5,65,0,0,665,622,
5495
- 1,0,0,0,665,631,1,0,0,0,665,640,1,0,0,0,665,647,1,0,0,0,665,654,
5496
- 1,0,0,0,665,659,1,0,0,0,666,669,1,0,0,0,667,665,1,0,0,0,667,668,
5497
- 1,0,0,0,668,97,1,0,0,0,669,667,1,0,0,0,670,671,7,14,0,0,671,99,1,
5498
- 0,0,0,672,673,5,16,0,0,673,675,5,64,0,0,674,676,5,113,0,0,675,674,
5499
- 1,0,0,0,676,677,1,0,0,0,677,675,1,0,0,0,677,678,1,0,0,0,678,679,
5500
- 1,0,0,0,679,682,5,65,0,0,680,682,3,102,51,0,681,672,1,0,0,0,681,
5501
- 680,1,0,0,0,682,101,1,0,0,0,683,684,5,17,0,0,684,685,5,64,0,0,685,
5502
- 686,5,64,0,0,686,687,3,104,52,0,687,688,5,65,0,0,688,689,5,65,0,
5503
- 0,689,103,1,0,0,0,690,692,3,106,53,0,691,690,1,0,0,0,691,692,1,0,
5504
- 0,0,692,699,1,0,0,0,693,695,5,93,0,0,694,696,3,106,53,0,695,694,
5505
- 1,0,0,0,695,696,1,0,0,0,696,698,1,0,0,0,697,693,1,0,0,0,698,701,
5506
- 1,0,0,0,699,697,1,0,0,0,699,700,1,0,0,0,700,105,1,0,0,0,701,699,
5507
- 1,0,0,0,702,708,8,15,0,0,703,705,5,64,0,0,704,706,3,10,5,0,705,704,
5508
- 1,0,0,0,705,706,1,0,0,0,706,707,1,0,0,0,707,709,5,65,0,0,708,703,
5509
- 1,0,0,0,708,709,1,0,0,0,709,107,1,0,0,0,710,712,7,16,0,0,711,713,
5510
- 3,110,55,0,712,711,1,0,0,0,712,713,1,0,0,0,713,715,1,0,0,0,714,710,
5511
- 1,0,0,0,715,716,1,0,0,0,716,714,1,0,0,0,716,717,1,0,0,0,717,109,
5512
- 1,0,0,0,718,720,3,88,44,0,719,718,1,0,0,0,720,721,1,0,0,0,721,719,
5513
- 1,0,0,0,721,722,1,0,0,0,722,111,1,0,0,0,723,726,3,114,57,0,724,725,
5514
- 5,93,0,0,725,727,5,109,0,0,726,724,1,0,0,0,726,727,1,0,0,0,727,113,
5515
- 1,0,0,0,728,733,3,116,58,0,729,730,5,93,0,0,730,732,3,116,58,0,731,
5516
- 729,1,0,0,0,732,735,1,0,0,0,733,731,1,0,0,0,733,734,1,0,0,0,734,
5517
- 115,1,0,0,0,735,733,1,0,0,0,736,737,3,50,25,0,737,738,3,94,47,0,
5518
- 738,744,1,0,0,0,739,741,3,52,26,0,740,742,3,122,61,0,741,740,1,0,
5519
- 0,0,741,742,1,0,0,0,742,744,1,0,0,0,743,736,1,0,0,0,743,739,1,0,
5520
- 0,0,744,117,1,0,0,0,745,750,5,110,0,0,746,747,5,93,0,0,747,749,5,
5521
- 110,0,0,748,746,1,0,0,0,749,752,1,0,0,0,750,748,1,0,0,0,750,751,
5522
- 1,0,0,0,751,119,1,0,0,0,752,750,1,0,0,0,753,755,3,72,36,0,754,756,
5523
- 3,122,61,0,755,754,1,0,0,0,755,756,1,0,0,0,756,121,1,0,0,0,757,769,
5524
- 3,108,54,0,758,760,3,108,54,0,759,758,1,0,0,0,759,760,1,0,0,0,760,
5525
- 761,1,0,0,0,761,765,3,124,62,0,762,764,3,100,50,0,763,762,1,0,0,
5526
- 0,764,767,1,0,0,0,765,763,1,0,0,0,765,766,1,0,0,0,766,769,1,0,0,
5527
- 0,767,765,1,0,0,0,768,757,1,0,0,0,768,759,1,0,0,0,769,123,1,0,0,
5528
- 0,770,771,6,62,-1,0,771,772,5,64,0,0,772,773,3,122,61,0,773,777,
5529
- 5,65,0,0,774,776,3,100,50,0,775,774,1,0,0,0,776,779,1,0,0,0,777,
5530
- 775,1,0,0,0,777,778,1,0,0,0,778,817,1,0,0,0,779,777,1,0,0,0,780,
5531
- 782,5,66,0,0,781,783,3,110,55,0,782,781,1,0,0,0,782,783,1,0,0,0,
5532
- 783,785,1,0,0,0,784,786,3,40,20,0,785,784,1,0,0,0,785,786,1,0,0,
5533
- 0,786,787,1,0,0,0,787,817,5,67,0,0,788,789,5,66,0,0,789,791,5,45,
5534
- 0,0,790,792,3,110,55,0,791,790,1,0,0,0,791,792,1,0,0,0,792,793,1,
5535
- 0,0,0,793,794,3,40,20,0,794,795,5,67,0,0,795,817,1,0,0,0,796,797,
5536
- 5,66,0,0,797,798,3,110,55,0,798,799,5,45,0,0,799,800,3,40,20,0,800,
5537
- 801,5,67,0,0,801,817,1,0,0,0,802,803,5,66,0,0,803,804,5,80,0,0,804,
5538
- 817,5,67,0,0,805,807,5,64,0,0,806,808,3,112,56,0,807,806,1,0,0,0,
5539
- 807,808,1,0,0,0,808,809,1,0,0,0,809,813,5,65,0,0,810,812,3,100,50,
5540
- 0,811,810,1,0,0,0,812,815,1,0,0,0,813,811,1,0,0,0,813,814,1,0,0,
5541
- 0,814,817,1,0,0,0,815,813,1,0,0,0,816,770,1,0,0,0,816,780,1,0,0,
5542
- 0,816,788,1,0,0,0,816,796,1,0,0,0,816,802,1,0,0,0,816,805,1,0,0,
5543
- 0,817,861,1,0,0,0,818,819,10,5,0,0,819,821,5,66,0,0,820,822,3,110,
5544
- 55,0,821,820,1,0,0,0,821,822,1,0,0,0,822,824,1,0,0,0,823,825,3,40,
5545
- 20,0,824,823,1,0,0,0,824,825,1,0,0,0,825,826,1,0,0,0,826,860,5,67,
5546
- 0,0,827,828,10,4,0,0,828,829,5,66,0,0,829,831,5,45,0,0,830,832,3,
5547
- 110,55,0,831,830,1,0,0,0,831,832,1,0,0,0,832,833,1,0,0,0,833,834,
5548
- 3,40,20,0,834,835,5,67,0,0,835,860,1,0,0,0,836,837,10,3,0,0,837,
5549
- 838,5,66,0,0,838,839,3,110,55,0,839,840,5,45,0,0,840,841,3,40,20,
5550
- 0,841,842,5,67,0,0,842,860,1,0,0,0,843,844,10,2,0,0,844,845,5,66,
5551
- 0,0,845,846,5,80,0,0,846,860,5,67,0,0,847,848,10,1,0,0,848,850,5,
5552
- 64,0,0,849,851,3,112,56,0,850,849,1,0,0,0,850,851,1,0,0,0,851,852,
5553
- 1,0,0,0,852,856,5,65,0,0,853,855,3,100,50,0,854,853,1,0,0,0,855,
5554
- 858,1,0,0,0,856,854,1,0,0,0,856,857,1,0,0,0,857,860,1,0,0,0,858,
5555
- 856,1,0,0,0,859,818,1,0,0,0,859,827,1,0,0,0,859,836,1,0,0,0,859,
5556
- 843,1,0,0,0,859,847,1,0,0,0,860,863,1,0,0,0,861,859,1,0,0,0,861,
5557
- 862,1,0,0,0,862,125,1,0,0,0,863,861,1,0,0,0,864,865,5,110,0,0,865,
5558
- 127,1,0,0,0,866,875,3,40,20,0,867,868,5,68,0,0,868,870,3,130,65,
5559
- 0,869,871,5,93,0,0,870,869,1,0,0,0,870,871,1,0,0,0,871,872,1,0,0,
5560
- 0,872,873,5,69,0,0,873,875,1,0,0,0,874,866,1,0,0,0,874,867,1,0,0,
5561
- 0,875,129,1,0,0,0,876,878,3,132,66,0,877,876,1,0,0,0,877,878,1,0,
5562
- 0,0,878,879,1,0,0,0,879,887,3,128,64,0,880,882,5,93,0,0,881,883,
5563
- 3,132,66,0,882,881,1,0,0,0,882,883,1,0,0,0,883,884,1,0,0,0,884,886,
5564
- 3,128,64,0,885,880,1,0,0,0,886,889,1,0,0,0,887,885,1,0,0,0,887,888,
5565
- 1,0,0,0,888,131,1,0,0,0,889,887,1,0,0,0,890,891,3,134,67,0,891,892,
5566
- 5,94,0,0,892,133,1,0,0,0,893,895,3,136,68,0,894,893,1,0,0,0,895,
5567
- 896,1,0,0,0,896,894,1,0,0,0,896,897,1,0,0,0,897,135,1,0,0,0,898,
5568
- 899,5,66,0,0,899,900,3,46,23,0,900,901,5,67,0,0,901,905,1,0,0,0,
5569
- 902,903,5,108,0,0,903,905,5,110,0,0,904,898,1,0,0,0,904,902,1,0,
5570
- 0,0,905,137,1,0,0,0,906,907,5,62,0,0,907,908,5,64,0,0,908,909,3,
5571
- 46,23,0,909,911,5,93,0,0,910,912,5,113,0,0,911,910,1,0,0,0,912,913,
5572
- 1,0,0,0,913,911,1,0,0,0,913,914,1,0,0,0,914,915,1,0,0,0,915,916,
5573
- 5,65,0,0,916,917,5,92,0,0,917,139,1,0,0,0,918,956,3,142,71,0,919,
5574
- 956,3,144,72,0,920,956,3,150,75,0,921,956,3,152,76,0,922,956,3,154,
5575
- 77,0,923,956,3,162,81,0,924,925,7,17,0,0,925,926,7,18,0,0,926,935,
5576
- 5,64,0,0,927,932,3,36,18,0,928,929,5,93,0,0,929,931,3,36,18,0,930,
5577
- 928,1,0,0,0,931,934,1,0,0,0,932,930,1,0,0,0,932,933,1,0,0,0,933,
5578
- 936,1,0,0,0,934,932,1,0,0,0,935,927,1,0,0,0,935,936,1,0,0,0,936,
5579
- 950,1,0,0,0,937,946,5,91,0,0,938,943,3,36,18,0,939,940,5,93,0,0,
5580
- 940,942,3,36,18,0,941,939,1,0,0,0,942,945,1,0,0,0,943,941,1,0,0,
5581
- 0,943,944,1,0,0,0,944,947,1,0,0,0,945,943,1,0,0,0,946,938,1,0,0,
5582
- 0,946,947,1,0,0,0,947,949,1,0,0,0,948,937,1,0,0,0,949,952,1,0,0,
5583
- 0,950,948,1,0,0,0,950,951,1,0,0,0,951,953,1,0,0,0,952,950,1,0,0,
5584
- 0,953,954,5,65,0,0,954,956,5,92,0,0,955,918,1,0,0,0,955,919,1,0,
5585
- 0,0,955,920,1,0,0,0,955,921,1,0,0,0,955,922,1,0,0,0,955,923,1,0,
5586
- 0,0,955,924,1,0,0,0,956,141,1,0,0,0,957,958,5,110,0,0,958,960,5,
5587
- 91,0,0,959,961,3,140,70,0,960,959,1,0,0,0,960,961,1,0,0,0,961,971,
5588
- 1,0,0,0,962,963,5,22,0,0,963,964,3,46,23,0,964,965,5,91,0,0,965,
5589
- 966,3,140,70,0,966,971,1,0,0,0,967,968,5,26,0,0,968,969,5,91,0,0,
5590
- 969,971,3,140,70,0,970,957,1,0,0,0,970,962,1,0,0,0,970,967,1,0,0,
5591
- 0,971,143,1,0,0,0,972,974,5,68,0,0,973,975,3,146,73,0,974,973,1,
5592
- 0,0,0,974,975,1,0,0,0,975,976,1,0,0,0,976,977,5,69,0,0,977,145,1,
5593
- 0,0,0,978,980,3,148,74,0,979,978,1,0,0,0,980,981,1,0,0,0,981,979,
5594
- 1,0,0,0,981,982,1,0,0,0,982,147,1,0,0,0,983,986,3,140,70,0,984,986,
5595
- 3,48,24,0,985,983,1,0,0,0,985,984,1,0,0,0,986,149,1,0,0,0,987,989,
5596
- 3,44,22,0,988,987,1,0,0,0,988,989,1,0,0,0,989,990,1,0,0,0,990,991,
5597
- 5,92,0,0,991,151,1,0,0,0,992,993,5,35,0,0,993,994,5,64,0,0,994,995,
5598
- 3,44,22,0,995,996,5,65,0,0,996,999,3,140,70,0,997,998,5,29,0,0,998,
5599
- 1000,3,140,70,0,999,997,1,0,0,0,999,1000,1,0,0,0,1000,1008,1,0,0,
5600
- 0,1001,1002,5,47,0,0,1002,1003,5,64,0,0,1003,1004,3,44,22,0,1004,
5601
- 1005,5,65,0,0,1005,1006,3,140,70,0,1006,1008,1,0,0,0,1007,992,1,
5602
- 0,0,0,1007,1001,1,0,0,0,1008,153,1,0,0,0,1009,1010,5,53,0,0,1010,
5603
- 1011,5,64,0,0,1011,1012,3,44,22,0,1012,1013,5,65,0,0,1013,1014,3,
5604
- 140,70,0,1014,1030,1,0,0,0,1015,1016,5,27,0,0,1016,1017,3,140,70,
5605
- 0,1017,1018,5,53,0,0,1018,1019,5,64,0,0,1019,1020,3,44,22,0,1020,
5606
- 1021,5,65,0,0,1021,1022,5,92,0,0,1022,1030,1,0,0,0,1023,1024,5,33,
5607
- 0,0,1024,1025,5,64,0,0,1025,1026,3,156,78,0,1026,1027,5,65,0,0,1027,
5608
- 1028,3,140,70,0,1028,1030,1,0,0,0,1029,1009,1,0,0,0,1029,1015,1,
5609
- 0,0,0,1029,1023,1,0,0,0,1030,155,1,0,0,0,1031,1036,3,158,79,0,1032,
5610
- 1034,3,44,22,0,1033,1032,1,0,0,0,1033,1034,1,0,0,0,1034,1036,1,0,
5611
- 0,0,1035,1031,1,0,0,0,1035,1033,1,0,0,0,1036,1037,1,0,0,0,1037,1039,
5612
- 5,92,0,0,1038,1040,3,160,80,0,1039,1038,1,0,0,0,1039,1040,1,0,0,
5613
- 0,1040,1041,1,0,0,0,1041,1043,5,92,0,0,1042,1044,3,160,80,0,1043,
5614
- 1042,1,0,0,0,1043,1044,1,0,0,0,1044,157,1,0,0,0,1045,1047,3,50,25,
5615
- 0,1046,1048,3,56,28,0,1047,1046,1,0,0,0,1047,1048,1,0,0,0,1048,159,
5616
- 1,0,0,0,1049,1054,3,40,20,0,1050,1051,5,93,0,0,1051,1053,3,40,20,
5617
- 0,1052,1050,1,0,0,0,1053,1056,1,0,0,0,1054,1052,1,0,0,0,1054,1055,
5618
- 1,0,0,0,1055,161,1,0,0,0,1056,1054,1,0,0,0,1057,1058,5,34,0,0,1058,
5619
- 1068,5,110,0,0,1059,1068,5,25,0,0,1060,1068,5,21,0,0,1061,1063,5,
5620
- 41,0,0,1062,1064,3,44,22,0,1063,1062,1,0,0,0,1063,1064,1,0,0,0,1064,
5621
- 1068,1,0,0,0,1065,1066,5,34,0,0,1066,1068,3,12,6,0,1067,1057,1,0,
5622
- 0,0,1067,1059,1,0,0,0,1067,1060,1,0,0,0,1067,1061,1,0,0,0,1067,1065,
5623
- 1,0,0,0,1068,1069,1,0,0,0,1069,1070,5,92,0,0,1070,163,1,0,0,0,1071,
5624
- 1073,3,166,83,0,1072,1071,1,0,0,0,1072,1073,1,0,0,0,1073,1074,1,
5625
- 0,0,0,1074,1075,5,0,0,1,1075,165,1,0,0,0,1076,1078,3,168,84,0,1077,
5626
- 1076,1,0,0,0,1078,1079,1,0,0,0,1079,1077,1,0,0,0,1079,1080,1,0,0,
5627
- 0,1080,167,1,0,0,0,1081,1085,3,170,85,0,1082,1085,3,48,24,0,1083,
5628
- 1085,5,92,0,0,1084,1081,1,0,0,0,1084,1082,1,0,0,0,1084,1083,1,0,
5629
- 0,0,1085,169,1,0,0,0,1086,1088,3,50,25,0,1087,1086,1,0,0,0,1087,
5630
- 1088,1,0,0,0,1088,1089,1,0,0,0,1089,1091,3,94,47,0,1090,1092,3,172,
5631
- 86,0,1091,1090,1,0,0,0,1091,1092,1,0,0,0,1092,1093,1,0,0,0,1093,
5632
- 1094,3,144,72,0,1094,171,1,0,0,0,1095,1097,3,48,24,0,1096,1095,1,
5633
- 0,0,0,1097,1098,1,0,0,0,1098,1096,1,0,0,0,1098,1099,1,0,0,0,1099,
5634
- 173,1,0,0,0,133,179,187,207,221,226,233,241,245,253,260,262,270,
5635
- 276,290,295,304,311,319,327,335,343,351,359,367,375,383,392,400,
5636
- 409,416,421,426,431,438,445,451,482,486,495,502,512,516,519,526,
5637
- 531,535,539,544,550,557,563,583,589,594,600,620,625,628,635,650,
5638
- 662,665,667,677,681,691,695,699,705,708,712,716,721,726,733,741,
5639
- 743,750,755,759,765,768,777,782,785,791,807,813,816,821,824,831,
5640
- 850,856,859,861,870,874,877,882,887,896,904,913,932,935,943,946,
5641
- 950,955,960,970,974,981,985,988,999,1007,1029,1033,1035,1039,1043,
5642
- 1047,1054,1063,1067,1072,1079,1084,1087,1091,1098
5465
+ 0,0,0,455,484,5,57,0,0,456,484,5,29,0,0,457,484,5,48,0,0,458,484,
5466
+ 5,43,0,0,459,484,5,44,0,0,460,484,5,38,0,0,461,484,5,34,0,0,462,
5467
+ 484,5,49,0,0,463,484,5,4,0,0,464,484,5,56,0,0,465,484,5,63,0,0,466,
5468
+ 484,5,64,0,0,467,484,5,5,0,0,468,484,5,6,0,0,469,484,5,7,0,0,470,
5469
+ 471,5,1,0,0,471,472,5,70,0,0,472,473,7,11,0,0,473,484,5,71,0,0,474,
5470
+ 484,3,86,43,0,475,484,3,64,32,0,476,484,3,78,39,0,477,484,3,126,
5471
+ 63,0,478,479,5,8,0,0,479,480,5,70,0,0,480,481,3,46,23,0,481,482,
5472
+ 5,71,0,0,482,484,1,0,0,0,483,455,1,0,0,0,483,456,1,0,0,0,483,457,
5473
+ 1,0,0,0,483,458,1,0,0,0,483,459,1,0,0,0,483,460,1,0,0,0,483,461,
5474
+ 1,0,0,0,483,462,1,0,0,0,483,463,1,0,0,0,483,464,1,0,0,0,483,465,
5475
+ 1,0,0,0,483,466,1,0,0,0,483,467,1,0,0,0,483,468,1,0,0,0,483,469,
5476
+ 1,0,0,0,483,470,1,0,0,0,483,474,1,0,0,0,483,475,1,0,0,0,483,476,
5477
+ 1,0,0,0,483,477,1,0,0,0,483,478,1,0,0,0,484,63,1,0,0,0,485,487,3,
5478
+ 66,33,0,486,488,5,116,0,0,487,486,1,0,0,0,487,488,1,0,0,0,488,489,
5479
+ 1,0,0,0,489,490,5,74,0,0,490,491,3,68,34,0,491,492,5,75,0,0,492,
5480
+ 497,1,0,0,0,493,494,3,66,33,0,494,495,5,116,0,0,495,497,1,0,0,0,
5481
+ 496,485,1,0,0,0,496,493,1,0,0,0,497,65,1,0,0,0,498,499,7,12,0,0,
5482
+ 499,67,1,0,0,0,500,502,3,70,35,0,501,500,1,0,0,0,502,503,1,0,0,0,
5483
+ 503,501,1,0,0,0,503,504,1,0,0,0,504,69,1,0,0,0,505,506,3,72,36,0,
5484
+ 506,507,3,74,37,0,507,508,5,98,0,0,508,514,1,0,0,0,509,510,3,72,
5485
+ 36,0,510,511,5,98,0,0,511,514,1,0,0,0,512,514,3,138,69,0,513,505,
5486
+ 1,0,0,0,513,509,1,0,0,0,513,512,1,0,0,0,514,71,1,0,0,0,515,518,3,
5487
+ 62,31,0,516,518,3,88,44,0,517,515,1,0,0,0,517,516,1,0,0,0,518,520,
5488
+ 1,0,0,0,519,521,3,72,36,0,520,519,1,0,0,0,520,521,1,0,0,0,521,73,
5489
+ 1,0,0,0,522,527,3,76,38,0,523,524,5,99,0,0,524,526,3,76,38,0,525,
5490
+ 523,1,0,0,0,526,529,1,0,0,0,527,525,1,0,0,0,527,528,1,0,0,0,528,
5491
+ 75,1,0,0,0,529,527,1,0,0,0,530,537,3,94,47,0,531,533,3,94,47,0,532,
5492
+ 531,1,0,0,0,532,533,1,0,0,0,533,534,1,0,0,0,534,535,5,97,0,0,535,
5493
+ 537,3,46,23,0,536,530,1,0,0,0,536,532,1,0,0,0,537,77,1,0,0,0,538,
5494
+ 540,5,36,0,0,539,541,5,116,0,0,540,539,1,0,0,0,540,541,1,0,0,0,541,
5495
+ 542,1,0,0,0,542,543,5,74,0,0,543,545,3,80,40,0,544,546,5,99,0,0,
5496
+ 545,544,1,0,0,0,545,546,1,0,0,0,546,547,1,0,0,0,547,548,5,75,0,0,
5497
+ 548,552,1,0,0,0,549,550,5,36,0,0,550,552,5,116,0,0,551,538,1,0,0,
5498
+ 0,551,549,1,0,0,0,552,79,1,0,0,0,553,558,3,82,41,0,554,555,5,99,
5499
+ 0,0,555,557,3,82,41,0,556,554,1,0,0,0,557,560,1,0,0,0,558,556,1,
5500
+ 0,0,0,558,559,1,0,0,0,559,81,1,0,0,0,560,558,1,0,0,0,561,564,3,84,
5501
+ 42,0,562,563,5,100,0,0,563,565,3,46,23,0,564,562,1,0,0,0,564,565,
5502
+ 1,0,0,0,565,83,1,0,0,0,566,567,5,116,0,0,567,85,1,0,0,0,568,569,
5503
+ 5,62,0,0,569,570,5,70,0,0,570,571,3,120,60,0,571,572,5,71,0,0,572,
5504
+ 87,1,0,0,0,573,574,7,13,0,0,574,89,1,0,0,0,575,585,5,42,0,0,576,
5505
+ 585,5,67,0,0,577,585,5,15,0,0,578,585,5,16,0,0,579,585,3,102,51,
5506
+ 0,580,581,5,17,0,0,581,582,5,70,0,0,582,583,5,116,0,0,583,585,5,
5507
+ 71,0,0,584,575,1,0,0,0,584,576,1,0,0,0,584,577,1,0,0,0,584,578,1,
5508
+ 0,0,0,584,579,1,0,0,0,584,580,1,0,0,0,585,91,1,0,0,0,586,587,5,60,
5509
+ 0,0,587,590,5,70,0,0,588,591,3,120,60,0,589,591,3,46,23,0,590,588,
5510
+ 1,0,0,0,590,589,1,0,0,0,591,592,1,0,0,0,592,593,5,71,0,0,593,93,
5511
+ 1,0,0,0,594,596,3,108,54,0,595,594,1,0,0,0,595,596,1,0,0,0,596,597,
5512
+ 1,0,0,0,597,601,3,96,48,0,598,600,3,100,50,0,599,598,1,0,0,0,600,
5513
+ 603,1,0,0,0,601,599,1,0,0,0,601,602,1,0,0,0,602,95,1,0,0,0,603,601,
5514
+ 1,0,0,0,604,605,6,48,-1,0,605,622,5,116,0,0,606,607,5,70,0,0,607,
5515
+ 608,3,94,47,0,608,609,5,71,0,0,609,622,1,0,0,0,610,611,5,116,0,0,
5516
+ 611,612,5,97,0,0,612,622,5,118,0,0,613,614,3,98,49,0,614,615,5,116,
5517
+ 0,0,615,622,1,0,0,0,616,617,5,70,0,0,617,618,3,98,49,0,618,619,3,
5518
+ 94,47,0,619,620,5,71,0,0,620,622,1,0,0,0,621,604,1,0,0,0,621,606,
5519
+ 1,0,0,0,621,610,1,0,0,0,621,613,1,0,0,0,621,616,1,0,0,0,622,668,
5520
+ 1,0,0,0,623,624,10,9,0,0,624,626,5,72,0,0,625,627,3,110,55,0,626,
5521
+ 625,1,0,0,0,626,627,1,0,0,0,627,629,1,0,0,0,628,630,3,40,20,0,629,
5522
+ 628,1,0,0,0,629,630,1,0,0,0,630,631,1,0,0,0,631,667,5,73,0,0,632,
5523
+ 633,10,8,0,0,633,634,5,72,0,0,634,636,5,51,0,0,635,637,3,110,55,
5524
+ 0,636,635,1,0,0,0,636,637,1,0,0,0,637,638,1,0,0,0,638,639,3,40,20,
5525
+ 0,639,640,5,73,0,0,640,667,1,0,0,0,641,642,10,7,0,0,642,643,5,72,
5526
+ 0,0,643,644,3,110,55,0,644,645,5,51,0,0,645,646,3,40,20,0,646,647,
5527
+ 5,73,0,0,647,667,1,0,0,0,648,649,10,6,0,0,649,651,5,72,0,0,650,652,
5528
+ 3,110,55,0,651,650,1,0,0,0,651,652,1,0,0,0,652,653,1,0,0,0,653,654,
5529
+ 5,86,0,0,654,667,5,73,0,0,655,656,10,5,0,0,656,657,5,70,0,0,657,
5530
+ 658,3,112,56,0,658,659,5,71,0,0,659,667,1,0,0,0,660,661,10,4,0,0,
5531
+ 661,663,5,70,0,0,662,664,3,118,59,0,663,662,1,0,0,0,663,664,1,0,
5532
+ 0,0,664,665,1,0,0,0,665,667,5,71,0,0,666,623,1,0,0,0,666,632,1,0,
5533
+ 0,0,666,641,1,0,0,0,666,648,1,0,0,0,666,655,1,0,0,0,666,660,1,0,
5534
+ 0,0,667,670,1,0,0,0,668,666,1,0,0,0,668,669,1,0,0,0,669,97,1,0,0,
5535
+ 0,670,668,1,0,0,0,671,672,7,14,0,0,672,99,1,0,0,0,673,674,7,15,0,
5536
+ 0,674,676,5,70,0,0,675,677,5,119,0,0,676,675,1,0,0,0,677,678,1,0,
5537
+ 0,0,678,676,1,0,0,0,678,679,1,0,0,0,679,680,1,0,0,0,680,683,5,71,
5538
+ 0,0,681,683,3,102,51,0,682,673,1,0,0,0,682,681,1,0,0,0,683,101,1,
5539
+ 0,0,0,684,685,5,25,0,0,685,686,5,70,0,0,686,687,5,70,0,0,687,688,
5540
+ 3,104,52,0,688,689,5,71,0,0,689,690,5,71,0,0,690,103,1,0,0,0,691,
5541
+ 693,3,106,53,0,692,691,1,0,0,0,692,693,1,0,0,0,693,700,1,0,0,0,694,
5542
+ 696,5,99,0,0,695,697,3,106,53,0,696,695,1,0,0,0,696,697,1,0,0,0,
5543
+ 697,699,1,0,0,0,698,694,1,0,0,0,699,702,1,0,0,0,700,698,1,0,0,0,
5544
+ 700,701,1,0,0,0,701,105,1,0,0,0,702,700,1,0,0,0,703,709,8,16,0,0,
5545
+ 704,706,5,70,0,0,705,707,3,10,5,0,706,705,1,0,0,0,706,707,1,0,0,
5546
+ 0,707,708,1,0,0,0,708,710,5,71,0,0,709,704,1,0,0,0,709,710,1,0,0,
5547
+ 0,710,107,1,0,0,0,711,713,7,17,0,0,712,714,3,110,55,0,713,712,1,
5548
+ 0,0,0,713,714,1,0,0,0,714,716,1,0,0,0,715,711,1,0,0,0,716,717,1,
5549
+ 0,0,0,717,715,1,0,0,0,717,718,1,0,0,0,718,109,1,0,0,0,719,721,3,
5550
+ 88,44,0,720,719,1,0,0,0,721,722,1,0,0,0,722,720,1,0,0,0,722,723,
5551
+ 1,0,0,0,723,111,1,0,0,0,724,727,3,114,57,0,725,726,5,99,0,0,726,
5552
+ 728,5,115,0,0,727,725,1,0,0,0,727,728,1,0,0,0,728,113,1,0,0,0,729,
5553
+ 734,3,116,58,0,730,731,5,99,0,0,731,733,3,116,58,0,732,730,1,0,0,
5554
+ 0,733,736,1,0,0,0,734,732,1,0,0,0,734,735,1,0,0,0,735,115,1,0,0,
5555
+ 0,736,734,1,0,0,0,737,738,3,50,25,0,738,739,3,94,47,0,739,745,1,
5556
+ 0,0,0,740,742,3,52,26,0,741,743,3,122,61,0,742,741,1,0,0,0,742,743,
5557
+ 1,0,0,0,743,745,1,0,0,0,744,737,1,0,0,0,744,740,1,0,0,0,745,117,
5558
+ 1,0,0,0,746,751,5,116,0,0,747,748,5,99,0,0,748,750,5,116,0,0,749,
5559
+ 747,1,0,0,0,750,753,1,0,0,0,751,749,1,0,0,0,751,752,1,0,0,0,752,
5560
+ 119,1,0,0,0,753,751,1,0,0,0,754,756,3,72,36,0,755,757,3,122,61,0,
5561
+ 756,755,1,0,0,0,756,757,1,0,0,0,757,121,1,0,0,0,758,770,3,108,54,
5562
+ 0,759,761,3,108,54,0,760,759,1,0,0,0,760,761,1,0,0,0,761,762,1,0,
5563
+ 0,0,762,766,3,124,62,0,763,765,3,100,50,0,764,763,1,0,0,0,765,768,
5564
+ 1,0,0,0,766,764,1,0,0,0,766,767,1,0,0,0,767,770,1,0,0,0,768,766,
5565
+ 1,0,0,0,769,758,1,0,0,0,769,760,1,0,0,0,770,123,1,0,0,0,771,772,
5566
+ 6,62,-1,0,772,773,5,70,0,0,773,774,3,122,61,0,774,778,5,71,0,0,775,
5567
+ 777,3,100,50,0,776,775,1,0,0,0,777,780,1,0,0,0,778,776,1,0,0,0,778,
5568
+ 779,1,0,0,0,779,818,1,0,0,0,780,778,1,0,0,0,781,783,5,72,0,0,782,
5569
+ 784,3,110,55,0,783,782,1,0,0,0,783,784,1,0,0,0,784,786,1,0,0,0,785,
5570
+ 787,3,40,20,0,786,785,1,0,0,0,786,787,1,0,0,0,787,788,1,0,0,0,788,
5571
+ 818,5,73,0,0,789,790,5,72,0,0,790,792,5,51,0,0,791,793,3,110,55,
5572
+ 0,792,791,1,0,0,0,792,793,1,0,0,0,793,794,1,0,0,0,794,795,3,40,20,
5573
+ 0,795,796,5,73,0,0,796,818,1,0,0,0,797,798,5,72,0,0,798,799,3,110,
5574
+ 55,0,799,800,5,51,0,0,800,801,3,40,20,0,801,802,5,73,0,0,802,818,
5575
+ 1,0,0,0,803,804,5,72,0,0,804,805,5,86,0,0,805,818,5,73,0,0,806,808,
5576
+ 5,70,0,0,807,809,3,112,56,0,808,807,1,0,0,0,808,809,1,0,0,0,809,
5577
+ 810,1,0,0,0,810,814,5,71,0,0,811,813,3,100,50,0,812,811,1,0,0,0,
5578
+ 813,816,1,0,0,0,814,812,1,0,0,0,814,815,1,0,0,0,815,818,1,0,0,0,
5579
+ 816,814,1,0,0,0,817,771,1,0,0,0,817,781,1,0,0,0,817,789,1,0,0,0,
5580
+ 817,797,1,0,0,0,817,803,1,0,0,0,817,806,1,0,0,0,818,862,1,0,0,0,
5581
+ 819,820,10,5,0,0,820,822,5,72,0,0,821,823,3,110,55,0,822,821,1,0,
5582
+ 0,0,822,823,1,0,0,0,823,825,1,0,0,0,824,826,3,40,20,0,825,824,1,
5583
+ 0,0,0,825,826,1,0,0,0,826,827,1,0,0,0,827,861,5,73,0,0,828,829,10,
5584
+ 4,0,0,829,830,5,72,0,0,830,832,5,51,0,0,831,833,3,110,55,0,832,831,
5585
+ 1,0,0,0,832,833,1,0,0,0,833,834,1,0,0,0,834,835,3,40,20,0,835,836,
5586
+ 5,73,0,0,836,861,1,0,0,0,837,838,10,3,0,0,838,839,5,72,0,0,839,840,
5587
+ 3,110,55,0,840,841,5,51,0,0,841,842,3,40,20,0,842,843,5,73,0,0,843,
5588
+ 861,1,0,0,0,844,845,10,2,0,0,845,846,5,72,0,0,846,847,5,86,0,0,847,
5589
+ 861,5,73,0,0,848,849,10,1,0,0,849,851,5,70,0,0,850,852,3,112,56,
5590
+ 0,851,850,1,0,0,0,851,852,1,0,0,0,852,853,1,0,0,0,853,857,5,71,0,
5591
+ 0,854,856,3,100,50,0,855,854,1,0,0,0,856,859,1,0,0,0,857,855,1,0,
5592
+ 0,0,857,858,1,0,0,0,858,861,1,0,0,0,859,857,1,0,0,0,860,819,1,0,
5593
+ 0,0,860,828,1,0,0,0,860,837,1,0,0,0,860,844,1,0,0,0,860,848,1,0,
5594
+ 0,0,861,864,1,0,0,0,862,860,1,0,0,0,862,863,1,0,0,0,863,125,1,0,
5595
+ 0,0,864,862,1,0,0,0,865,866,5,116,0,0,866,127,1,0,0,0,867,876,3,
5596
+ 40,20,0,868,869,5,74,0,0,869,871,3,130,65,0,870,872,5,99,0,0,871,
5597
+ 870,1,0,0,0,871,872,1,0,0,0,872,873,1,0,0,0,873,874,5,75,0,0,874,
5598
+ 876,1,0,0,0,875,867,1,0,0,0,875,868,1,0,0,0,876,129,1,0,0,0,877,
5599
+ 879,3,132,66,0,878,877,1,0,0,0,878,879,1,0,0,0,879,880,1,0,0,0,880,
5600
+ 888,3,128,64,0,881,883,5,99,0,0,882,884,3,132,66,0,883,882,1,0,0,
5601
+ 0,883,884,1,0,0,0,884,885,1,0,0,0,885,887,3,128,64,0,886,881,1,0,
5602
+ 0,0,887,890,1,0,0,0,888,886,1,0,0,0,888,889,1,0,0,0,889,131,1,0,
5603
+ 0,0,890,888,1,0,0,0,891,892,3,134,67,0,892,893,5,100,0,0,893,133,
5604
+ 1,0,0,0,894,896,3,136,68,0,895,894,1,0,0,0,896,897,1,0,0,0,897,895,
5605
+ 1,0,0,0,897,898,1,0,0,0,898,135,1,0,0,0,899,900,5,72,0,0,900,901,
5606
+ 3,46,23,0,901,902,5,73,0,0,902,906,1,0,0,0,903,904,5,114,0,0,904,
5607
+ 906,5,116,0,0,905,899,1,0,0,0,905,903,1,0,0,0,906,137,1,0,0,0,907,
5608
+ 908,5,68,0,0,908,909,5,70,0,0,909,910,3,46,23,0,910,912,5,99,0,0,
5609
+ 911,913,5,119,0,0,912,911,1,0,0,0,913,914,1,0,0,0,914,912,1,0,0,
5610
+ 0,914,915,1,0,0,0,915,916,1,0,0,0,916,917,5,71,0,0,917,918,5,98,
5611
+ 0,0,918,139,1,0,0,0,919,957,3,142,71,0,920,957,3,144,72,0,921,957,
5612
+ 3,150,75,0,922,957,3,152,76,0,923,957,3,154,77,0,924,957,3,162,81,
5613
+ 0,925,926,7,15,0,0,926,927,7,18,0,0,927,936,5,70,0,0,928,933,3,36,
5614
+ 18,0,929,930,5,99,0,0,930,932,3,36,18,0,931,929,1,0,0,0,932,935,
5615
+ 1,0,0,0,933,931,1,0,0,0,933,934,1,0,0,0,934,937,1,0,0,0,935,933,
5616
+ 1,0,0,0,936,928,1,0,0,0,936,937,1,0,0,0,937,951,1,0,0,0,938,947,
5617
+ 5,97,0,0,939,944,3,36,18,0,940,941,5,99,0,0,941,943,3,36,18,0,942,
5618
+ 940,1,0,0,0,943,946,1,0,0,0,944,942,1,0,0,0,944,945,1,0,0,0,945,
5619
+ 948,1,0,0,0,946,944,1,0,0,0,947,939,1,0,0,0,947,948,1,0,0,0,948,
5620
+ 950,1,0,0,0,949,938,1,0,0,0,950,953,1,0,0,0,951,949,1,0,0,0,951,
5621
+ 952,1,0,0,0,952,954,1,0,0,0,953,951,1,0,0,0,954,955,5,71,0,0,955,
5622
+ 957,5,98,0,0,956,919,1,0,0,0,956,920,1,0,0,0,956,921,1,0,0,0,956,
5623
+ 922,1,0,0,0,956,923,1,0,0,0,956,924,1,0,0,0,956,925,1,0,0,0,957,
5624
+ 141,1,0,0,0,958,959,5,116,0,0,959,961,5,97,0,0,960,962,3,140,70,
5625
+ 0,961,960,1,0,0,0,961,962,1,0,0,0,962,972,1,0,0,0,963,964,5,28,0,
5626
+ 0,964,965,3,46,23,0,965,966,5,97,0,0,966,967,3,140,70,0,967,972,
5627
+ 1,0,0,0,968,969,5,32,0,0,969,970,5,97,0,0,970,972,3,140,70,0,971,
5628
+ 958,1,0,0,0,971,963,1,0,0,0,971,968,1,0,0,0,972,143,1,0,0,0,973,
5629
+ 975,5,74,0,0,974,976,3,146,73,0,975,974,1,0,0,0,975,976,1,0,0,0,
5630
+ 976,977,1,0,0,0,977,978,5,75,0,0,978,145,1,0,0,0,979,981,3,148,74,
5631
+ 0,980,979,1,0,0,0,981,982,1,0,0,0,982,980,1,0,0,0,982,983,1,0,0,
5632
+ 0,983,147,1,0,0,0,984,987,3,140,70,0,985,987,3,48,24,0,986,984,1,
5633
+ 0,0,0,986,985,1,0,0,0,987,149,1,0,0,0,988,990,3,44,22,0,989,988,
5634
+ 1,0,0,0,989,990,1,0,0,0,990,991,1,0,0,0,991,992,5,98,0,0,992,151,
5635
+ 1,0,0,0,993,994,5,41,0,0,994,995,5,70,0,0,995,996,3,44,22,0,996,
5636
+ 997,5,71,0,0,997,1000,3,140,70,0,998,999,5,35,0,0,999,1001,3,140,
5637
+ 70,0,1000,998,1,0,0,0,1000,1001,1,0,0,0,1001,1009,1,0,0,0,1002,1003,
5638
+ 5,53,0,0,1003,1004,5,70,0,0,1004,1005,3,44,22,0,1005,1006,5,71,0,
5639
+ 0,1006,1007,3,140,70,0,1007,1009,1,0,0,0,1008,993,1,0,0,0,1008,1002,
5640
+ 1,0,0,0,1009,153,1,0,0,0,1010,1011,5,59,0,0,1011,1012,5,70,0,0,1012,
5641
+ 1013,3,44,22,0,1013,1014,5,71,0,0,1014,1015,3,140,70,0,1015,1031,
5642
+ 1,0,0,0,1016,1017,5,33,0,0,1017,1018,3,140,70,0,1018,1019,5,59,0,
5643
+ 0,1019,1020,5,70,0,0,1020,1021,3,44,22,0,1021,1022,5,71,0,0,1022,
5644
+ 1023,5,98,0,0,1023,1031,1,0,0,0,1024,1025,5,39,0,0,1025,1026,5,70,
5645
+ 0,0,1026,1027,3,156,78,0,1027,1028,5,71,0,0,1028,1029,3,140,70,0,
5646
+ 1029,1031,1,0,0,0,1030,1010,1,0,0,0,1030,1016,1,0,0,0,1030,1024,
5647
+ 1,0,0,0,1031,155,1,0,0,0,1032,1037,3,158,79,0,1033,1035,3,44,22,
5648
+ 0,1034,1033,1,0,0,0,1034,1035,1,0,0,0,1035,1037,1,0,0,0,1036,1032,
5649
+ 1,0,0,0,1036,1034,1,0,0,0,1037,1038,1,0,0,0,1038,1040,5,98,0,0,1039,
5650
+ 1041,3,160,80,0,1040,1039,1,0,0,0,1040,1041,1,0,0,0,1041,1042,1,
5651
+ 0,0,0,1042,1044,5,98,0,0,1043,1045,3,160,80,0,1044,1043,1,0,0,0,
5652
+ 1044,1045,1,0,0,0,1045,157,1,0,0,0,1046,1048,3,50,25,0,1047,1049,
5653
+ 3,56,28,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,159,1,0,0,0,1050,
5654
+ 1055,3,40,20,0,1051,1052,5,99,0,0,1052,1054,3,40,20,0,1053,1051,
5655
+ 1,0,0,0,1054,1057,1,0,0,0,1055,1053,1,0,0,0,1055,1056,1,0,0,0,1056,
5656
+ 161,1,0,0,0,1057,1055,1,0,0,0,1058,1059,5,40,0,0,1059,1069,5,116,
5657
+ 0,0,1060,1069,5,31,0,0,1061,1069,5,27,0,0,1062,1064,5,47,0,0,1063,
5658
+ 1065,3,44,22,0,1064,1063,1,0,0,0,1064,1065,1,0,0,0,1065,1069,1,0,
5659
+ 0,0,1066,1067,5,40,0,0,1067,1069,3,12,6,0,1068,1058,1,0,0,0,1068,
5660
+ 1060,1,0,0,0,1068,1061,1,0,0,0,1068,1062,1,0,0,0,1068,1066,1,0,0,
5661
+ 0,1069,1070,1,0,0,0,1070,1071,5,98,0,0,1071,163,1,0,0,0,1072,1074,
5662
+ 3,166,83,0,1073,1072,1,0,0,0,1073,1074,1,0,0,0,1074,1075,1,0,0,0,
5663
+ 1075,1076,5,0,0,1,1076,165,1,0,0,0,1077,1079,3,168,84,0,1078,1077,
5664
+ 1,0,0,0,1079,1080,1,0,0,0,1080,1078,1,0,0,0,1080,1081,1,0,0,0,1081,
5665
+ 167,1,0,0,0,1082,1086,3,170,85,0,1083,1086,3,48,24,0,1084,1086,5,
5666
+ 98,0,0,1085,1082,1,0,0,0,1085,1083,1,0,0,0,1085,1084,1,0,0,0,1086,
5667
+ 169,1,0,0,0,1087,1089,3,50,25,0,1088,1087,1,0,0,0,1088,1089,1,0,
5668
+ 0,0,1089,1090,1,0,0,0,1090,1092,3,94,47,0,1091,1093,3,172,86,0,1092,
5669
+ 1091,1,0,0,0,1092,1093,1,0,0,0,1093,1094,1,0,0,0,1094,1095,3,144,
5670
+ 72,0,1095,171,1,0,0,0,1096,1098,3,48,24,0,1097,1096,1,0,0,0,1098,
5671
+ 1099,1,0,0,0,1099,1097,1,0,0,0,1099,1100,1,0,0,0,1100,173,1,0,0,
5672
+ 0,133,179,187,207,221,226,233,241,245,253,260,262,270,276,290,295,
5673
+ 304,311,319,327,335,343,351,359,367,375,383,392,400,409,416,421,
5674
+ 426,431,438,445,451,483,487,496,503,513,517,520,527,532,536,540,
5675
+ 545,551,558,564,584,590,595,601,621,626,629,636,651,663,666,668,
5676
+ 678,682,692,696,700,706,709,713,717,722,727,734,742,744,751,756,
5677
+ 760,766,769,778,783,786,792,808,814,817,822,825,832,851,857,860,
5678
+ 862,871,875,878,883,888,897,905,914,933,936,944,947,951,956,961,
5679
+ 971,975,982,986,989,1000,1008,1030,1034,1036,1040,1044,1048,1055,
5680
+ 1064,1068,1073,1080,1085,1088,1092,1099
5643
5681
  ];
5644
5682
 
5645
5683
  private static __ATN: antlr.ATN;