c-next 0.2.16 → 0.2.18
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.
- package/README.md +18 -2
- package/dist/index.js +8897 -6260
- package/dist/index.js.map +4 -4
- package/grammar/CNext.g4 +12 -0
- package/package.json +4 -2
- package/src/transpiler/Transpiler.ts +376 -48
- package/src/transpiler/__tests__/DualCodePaths.test.ts +1 -1
- package/src/transpiler/__tests__/compileCommandsDiscovery.integration.test.ts +94 -0
- package/src/transpiler/__tests__/externalSymbolRecovery.integration.test.ts +215 -0
- package/src/transpiler/logic/__tests__/detectAssemblySyntax.test.ts +116 -0
- package/src/transpiler/logic/analysis/FunctionCallAnalyzer.ts +65 -10
- package/src/transpiler/logic/analysis/InitializationAnalyzer.ts +186 -14
- package/src/transpiler/logic/analysis/MixedTypeCategoryAnalyzer.ts +408 -0
- package/src/transpiler/logic/analysis/PassByValueAnalyzer.ts +16 -97
- package/src/transpiler/logic/analysis/ReturnPathAnalyzer.ts +171 -0
- package/src/transpiler/logic/analysis/SignedShiftAnalyzer.ts +124 -12
- package/src/transpiler/logic/analysis/__tests__/FunctionCallAnalyzer.test.ts +200 -0
- package/src/transpiler/logic/analysis/__tests__/InitializationAnalyzer.test.ts +386 -1
- package/src/transpiler/logic/analysis/__tests__/MixedTypeCategoryAnalyzer.test.ts +346 -0
- package/src/transpiler/logic/analysis/__tests__/ReturnPathAnalyzer.test.ts +232 -0
- package/src/transpiler/logic/analysis/__tests__/SignedShiftAnalyzer.test.ts +211 -0
- package/src/transpiler/logic/analysis/runAnalyzers.ts +23 -2
- package/src/transpiler/logic/analysis/types/IMixedTypeCategoryError.ts +17 -0
- package/src/transpiler/logic/analysis/types/IReturnPathError.ts +12 -0
- package/src/transpiler/logic/detectAssemblySyntax.ts +80 -0
- package/src/transpiler/logic/parser/grammar/CNext.interp +4 -1
- package/src/transpiler/logic/parser/grammar/CNext.tokens +169 -167
- package/src/transpiler/logic/parser/grammar/CNextLexer.interp +4 -1
- package/src/transpiler/logic/parser/grammar/CNextLexer.tokens +169 -167
- package/src/transpiler/logic/parser/grammar/CNextLexer.ts +545 -541
- package/src/transpiler/logic/parser/grammar/CNextListener.ts +11 -0
- package/src/transpiler/logic/parser/grammar/CNextParser.ts +1318 -1178
- package/src/transpiler/logic/parser/grammar/CNextVisitor.ts +7 -0
- package/src/transpiler/logic/preprocessor/CompileCommandsReader.ts +332 -0
- package/src/transpiler/logic/preprocessor/ExternalDeclarationOracle.ts +202 -0
- package/src/transpiler/logic/preprocessor/Preprocessor.ts +24 -6
- package/src/transpiler/logic/preprocessor/ToolchainDetector.ts +42 -1
- package/src/transpiler/logic/preprocessor/__tests__/CompileCommandsReader.test.ts +216 -0
- package/src/transpiler/logic/preprocessor/__tests__/ExternalDeclarationOracle.test.ts +153 -0
- package/src/transpiler/logic/preprocessor/__tests__/Preprocessor.test.ts +43 -18
- package/src/transpiler/logic/preprocessor/__tests__/ToolchainDetector.crossCompiler.test.ts +75 -0
- package/src/transpiler/logic/preprocessor/__tests__/fixtures/oracle/dependent.h +7 -0
- package/src/transpiler/logic/preprocessor/__tests__/fixtures/oracle/predecessor.h +5 -0
- package/src/transpiler/logic/preprocessor/types/ICompileCommandsResult.ts +14 -0
- package/src/transpiler/logic/preprocessor/types/IPreprocessOptions.ts +17 -0
- package/src/transpiler/logic/symbols/SymbolTable.ts +62 -2
- package/src/transpiler/logic/symbols/__tests__/SymbolTable.test.ts +55 -4
- package/src/transpiler/logic/symbols/cnext/collectors/VariableCollector.ts +15 -2
- package/src/transpiler/logic/symbols/cnext/utils/TypeUtils.ts +64 -50
- package/src/transpiler/output/MisraSuppressionUtils.ts +52 -0
- package/src/transpiler/output/__tests__/MisraSuppressionUtils.test.ts +67 -0
- package/src/transpiler/output/codegen/CodeGenerator.ts +196 -98
- package/src/transpiler/output/codegen/TypeResolver.ts +148 -0
- package/src/transpiler/output/codegen/TypeValidator.ts +179 -81
- package/src/transpiler/output/codegen/__tests__/CodeGenerator.coverage.test.ts +165 -17
- package/src/transpiler/output/codegen/__tests__/CodeGenerator.test.ts +163 -35
- package/src/transpiler/output/codegen/__tests__/TrackVariableTypeHelpers.test.ts +2 -2
- package/src/transpiler/output/codegen/__tests__/TypeResolver.test.ts +93 -0
- package/src/transpiler/output/codegen/__tests__/TypeValidator.alwaysTrueLoop.test.ts +91 -0
- package/src/transpiler/output/codegen/__tests__/TypeValidator.test.ts +97 -14
- package/src/transpiler/output/codegen/assignment/AssignmentClassifier.ts +13 -0
- package/src/transpiler/output/codegen/assignment/AssignmentKind.ts +1 -1
- package/src/transpiler/output/codegen/assignment/handlers/AccessPatternHandlers.ts +20 -12
- package/src/transpiler/output/codegen/assignment/handlers/ArrayHandlers.ts +424 -22
- package/src/transpiler/output/codegen/assignment/handlers/BitAccessHandlers.ts +31 -18
- package/src/transpiler/output/codegen/assignment/handlers/BitmapHandlers.ts +7 -8
- package/src/transpiler/output/codegen/assignment/handlers/RegisterHandlers.ts +6 -8
- package/src/transpiler/output/codegen/assignment/handlers/RegisterUtils.ts +12 -10
- package/src/transpiler/output/codegen/assignment/handlers/SimpleHandler.ts +3 -7
- package/src/transpiler/output/codegen/assignment/handlers/SpecialHandlers.ts +7 -9
- package/src/transpiler/output/codegen/assignment/handlers/StringHandlers.ts +12 -10
- package/src/transpiler/output/codegen/assignment/handlers/__tests__/ArrayHandlers.test.ts +479 -11
- package/src/transpiler/output/codegen/generators/IOrchestrator.ts +3 -0
- package/src/transpiler/output/codegen/generators/declarationGenerators/ScopeGenerator.ts +26 -7
- package/src/transpiler/output/codegen/generators/declarationGenerators/__tests__/ScopeGenerator.test.ts +86 -0
- package/src/transpiler/output/codegen/generators/expressions/BinaryExprGenerator.ts +43 -24
- package/src/transpiler/output/codegen/generators/expressions/CallExprGenerator.ts +76 -58
- package/src/transpiler/output/codegen/generators/expressions/ExpressionGenerator.ts +9 -2
- package/src/transpiler/output/codegen/generators/expressions/PostfixExpressionGenerator.ts +26 -13
- package/src/transpiler/output/codegen/generators/expressions/__tests__/CallExprGenerator.test.ts +44 -0
- package/src/transpiler/output/codegen/generators/expressions/__tests__/ExpressionGenerator.test.ts +82 -1
- package/src/transpiler/output/codegen/generators/expressions/__tests__/PostfixExpressionGenerator.test.ts +129 -1
- package/src/transpiler/output/codegen/generators/statements/ControlFlowGenerator.ts +64 -8
- package/src/transpiler/output/codegen/generators/statements/__tests__/ControlFlowGenerator.test.ts +8 -5
- package/src/transpiler/output/codegen/helpers/AssignmentExpectedTypeResolver.ts +30 -2
- package/src/transpiler/output/codegen/helpers/ParameterInputAdapter.ts +17 -3
- package/src/transpiler/output/codegen/helpers/ParameterSignatureBuilder.ts +17 -4
- package/src/transpiler/output/codegen/helpers/StringDeclHelper.ts +240 -42
- package/src/transpiler/output/codegen/helpers/SymbolLookupHelper.ts +0 -21
- package/src/transpiler/output/codegen/helpers/TypeGenerationHelper.ts +60 -39
- package/src/transpiler/output/codegen/helpers/TypeRegistrationEngine.ts +170 -36
- package/src/transpiler/output/codegen/helpers/VariableDeclHelper.ts +37 -39
- package/src/transpiler/output/codegen/helpers/__tests__/AssignmentExpectedTypeResolver.test.ts +19 -0
- package/src/transpiler/output/codegen/helpers/__tests__/ParameterInputAdapter.test.ts +117 -0
- package/src/transpiler/output/codegen/helpers/__tests__/ParameterSignatureBuilder.test.ts +94 -2
- package/src/transpiler/output/codegen/helpers/__tests__/StringDeclHelper.test.ts +322 -9
- package/src/transpiler/output/codegen/helpers/__tests__/SymbolLookupHelper.test.ts +0 -64
- package/src/transpiler/output/codegen/helpers/__tests__/TypeRegistrationEngine.test.ts +101 -0
- package/src/transpiler/output/codegen/helpers/__tests__/VariableDeclHelper.test.ts +29 -5
- package/src/transpiler/output/codegen/subscript/SubscriptClassifier.ts +30 -11
- package/src/transpiler/output/codegen/subscript/TSubscriptKind.ts +1 -1
- package/src/transpiler/output/codegen/subscript/__tests__/SubscriptClassifier.test.ts +38 -6
- package/src/transpiler/output/codegen/types/ICallbackTypeInfo.ts +2 -1
- package/src/transpiler/output/codegen/types/IParameterInput.ts +7 -0
- package/src/transpiler/output/headers/BaseHeaderGenerator.ts +8 -0
- package/src/transpiler/output/headers/HeaderGeneratorUtils.ts +140 -24
- package/src/transpiler/output/headers/__tests__/HeaderGeneratorUtils.test.ts +280 -0
- package/src/transpiler/output/headers/generators/IHeaderTypeInput.ts +13 -0
- package/src/transpiler/output/headers/generators/generateStructHeader.ts +48 -28
- package/src/transpiler/state/CodeGenState.ts +91 -22
- package/src/transpiler/state/__tests__/CodeGenState.test.ts +253 -11
- package/src/transpiler/types/ICachedFileEntry.ts +7 -0
- package/src/utils/LiteralUtils.ts +23 -0
- package/src/utils/__tests__/LiteralUtils.test.ts +101 -0
- package/src/utils/cache/CacheManager.ts +13 -2
- package/src/utils/cache/__tests__/CacheManager.test.ts +18 -1
- package/src/utils/constants/TypeConstants.ts +13 -0
- package/src/utils/types/IParameterSymbol.ts +1 -0
|
@@ -38,97 +38,98 @@ export class CNextParser extends antlr.Parser {
|
|
|
38
38
|
public static readonly WHILE = 24;
|
|
39
39
|
public static readonly DO = 25;
|
|
40
40
|
public static readonly FOR = 26;
|
|
41
|
-
public static readonly
|
|
42
|
-
public static readonly
|
|
43
|
-
public static readonly
|
|
44
|
-
public static readonly
|
|
45
|
-
public static readonly
|
|
46
|
-
public static readonly
|
|
47
|
-
public static readonly
|
|
48
|
-
public static readonly
|
|
49
|
-
public static readonly
|
|
50
|
-
public static readonly
|
|
51
|
-
public static readonly
|
|
52
|
-
public static readonly
|
|
53
|
-
public static readonly
|
|
54
|
-
public static readonly
|
|
55
|
-
public static readonly
|
|
56
|
-
public static readonly
|
|
57
|
-
public static readonly
|
|
58
|
-
public static readonly
|
|
59
|
-
public static readonly
|
|
60
|
-
public static readonly
|
|
61
|
-
public static readonly
|
|
62
|
-
public static readonly
|
|
63
|
-
public static readonly
|
|
64
|
-
public static readonly
|
|
65
|
-
public static readonly
|
|
66
|
-
public static readonly
|
|
67
|
-
public static readonly
|
|
68
|
-
public static readonly
|
|
69
|
-
public static readonly
|
|
70
|
-
public static readonly
|
|
71
|
-
public static readonly
|
|
72
|
-
public static readonly
|
|
73
|
-
public static readonly
|
|
74
|
-
public static readonly
|
|
75
|
-
public static readonly
|
|
76
|
-
public static readonly
|
|
77
|
-
public static readonly
|
|
78
|
-
public static readonly
|
|
79
|
-
public static readonly
|
|
80
|
-
public static readonly
|
|
81
|
-
public static readonly
|
|
82
|
-
public static readonly
|
|
83
|
-
public static readonly
|
|
84
|
-
public static readonly
|
|
85
|
-
public static readonly
|
|
86
|
-
public static readonly
|
|
87
|
-
public static readonly
|
|
88
|
-
public static readonly
|
|
89
|
-
public static readonly
|
|
90
|
-
public static readonly
|
|
91
|
-
public static readonly
|
|
92
|
-
public static readonly
|
|
93
|
-
public static readonly
|
|
94
|
-
public static readonly
|
|
95
|
-
public static readonly
|
|
96
|
-
public static readonly
|
|
97
|
-
public static readonly
|
|
98
|
-
public static readonly
|
|
99
|
-
public static readonly
|
|
100
|
-
public static readonly
|
|
101
|
-
public static readonly
|
|
102
|
-
public static readonly
|
|
103
|
-
public static readonly
|
|
104
|
-
public static readonly
|
|
105
|
-
public static readonly
|
|
106
|
-
public static readonly
|
|
107
|
-
public static readonly
|
|
108
|
-
public static readonly
|
|
109
|
-
public static readonly
|
|
110
|
-
public static readonly
|
|
111
|
-
public static readonly
|
|
112
|
-
public static readonly
|
|
113
|
-
public static readonly
|
|
114
|
-
public static readonly
|
|
115
|
-
public static readonly
|
|
116
|
-
public static readonly
|
|
117
|
-
public static readonly
|
|
118
|
-
public static readonly
|
|
119
|
-
public static readonly
|
|
120
|
-
public static readonly
|
|
121
|
-
public static readonly
|
|
122
|
-
public static readonly
|
|
123
|
-
public static readonly
|
|
124
|
-
public static readonly
|
|
125
|
-
public static readonly
|
|
126
|
-
public static readonly
|
|
127
|
-
public static readonly
|
|
128
|
-
public static readonly
|
|
129
|
-
public static readonly
|
|
130
|
-
public static readonly
|
|
131
|
-
public static readonly
|
|
41
|
+
public static readonly FOREVER = 27;
|
|
42
|
+
public static readonly SWITCH = 28;
|
|
43
|
+
public static readonly CASE = 29;
|
|
44
|
+
public static readonly DEFAULT = 30;
|
|
45
|
+
public static readonly RETURN = 31;
|
|
46
|
+
public static readonly TRUE = 32;
|
|
47
|
+
public static readonly FALSE = 33;
|
|
48
|
+
public static readonly C_NULL = 34;
|
|
49
|
+
public static readonly STRING = 35;
|
|
50
|
+
public static readonly SIZEOF = 36;
|
|
51
|
+
public static readonly BITMAP8 = 37;
|
|
52
|
+
public static readonly BITMAP16 = 38;
|
|
53
|
+
public static readonly BITMAP24 = 39;
|
|
54
|
+
public static readonly BITMAP32 = 40;
|
|
55
|
+
public static readonly RW = 41;
|
|
56
|
+
public static readonly RO = 42;
|
|
57
|
+
public static readonly WO = 43;
|
|
58
|
+
public static readonly W1C = 44;
|
|
59
|
+
public static readonly W1S = 45;
|
|
60
|
+
public static readonly CLAMP = 46;
|
|
61
|
+
public static readonly WRAP = 47;
|
|
62
|
+
public static readonly ATOMIC = 48;
|
|
63
|
+
public static readonly CRITICAL = 49;
|
|
64
|
+
public static readonly SUFFIXED_FLOAT = 50;
|
|
65
|
+
public static readonly SUFFIXED_HEX = 51;
|
|
66
|
+
public static readonly SUFFIXED_BINARY = 52;
|
|
67
|
+
public static readonly SUFFIXED_DECIMAL = 53;
|
|
68
|
+
public static readonly U8 = 54;
|
|
69
|
+
public static readonly U16 = 55;
|
|
70
|
+
public static readonly U32 = 56;
|
|
71
|
+
public static readonly U64 = 57;
|
|
72
|
+
public static readonly I8 = 58;
|
|
73
|
+
public static readonly I16 = 59;
|
|
74
|
+
public static readonly I32 = 60;
|
|
75
|
+
public static readonly I64 = 61;
|
|
76
|
+
public static readonly F32 = 62;
|
|
77
|
+
public static readonly F64 = 63;
|
|
78
|
+
public static readonly BOOL = 64;
|
|
79
|
+
public static readonly ISR_TYPE = 65;
|
|
80
|
+
public static readonly LSHIFT_ASSIGN = 66;
|
|
81
|
+
public static readonly RSHIFT_ASSIGN = 67;
|
|
82
|
+
public static readonly PLUS_ASSIGN = 68;
|
|
83
|
+
public static readonly MINUS_ASSIGN = 69;
|
|
84
|
+
public static readonly STAR_ASSIGN = 70;
|
|
85
|
+
public static readonly SLASH_ASSIGN = 71;
|
|
86
|
+
public static readonly PERCENT_ASSIGN = 72;
|
|
87
|
+
public static readonly BITAND_ASSIGN = 73;
|
|
88
|
+
public static readonly BITOR_ASSIGN = 74;
|
|
89
|
+
public static readonly BITXOR_ASSIGN = 75;
|
|
90
|
+
public static readonly ASSIGN = 76;
|
|
91
|
+
public static readonly EQ = 77;
|
|
92
|
+
public static readonly NEQ = 78;
|
|
93
|
+
public static readonly LT = 79;
|
|
94
|
+
public static readonly GT = 80;
|
|
95
|
+
public static readonly LTE = 81;
|
|
96
|
+
public static readonly GTE = 82;
|
|
97
|
+
public static readonly PLUS = 83;
|
|
98
|
+
public static readonly MINUS = 84;
|
|
99
|
+
public static readonly STAR = 85;
|
|
100
|
+
public static readonly SLASH = 86;
|
|
101
|
+
public static readonly PERCENT = 87;
|
|
102
|
+
public static readonly AND = 88;
|
|
103
|
+
public static readonly OR = 89;
|
|
104
|
+
public static readonly NOT = 90;
|
|
105
|
+
public static readonly BITAND = 91;
|
|
106
|
+
public static readonly BITOR = 92;
|
|
107
|
+
public static readonly BITXOR = 93;
|
|
108
|
+
public static readonly BITNOT = 94;
|
|
109
|
+
public static readonly LSHIFT = 95;
|
|
110
|
+
public static readonly RSHIFT = 96;
|
|
111
|
+
public static readonly LPAREN = 97;
|
|
112
|
+
public static readonly RPAREN = 98;
|
|
113
|
+
public static readonly LBRACE = 99;
|
|
114
|
+
public static readonly RBRACE = 100;
|
|
115
|
+
public static readonly LBRACKET = 101;
|
|
116
|
+
public static readonly RBRACKET = 102;
|
|
117
|
+
public static readonly SEMI = 103;
|
|
118
|
+
public static readonly COMMA = 104;
|
|
119
|
+
public static readonly DOT = 105;
|
|
120
|
+
public static readonly AT = 106;
|
|
121
|
+
public static readonly COLON = 107;
|
|
122
|
+
public static readonly HEX_LITERAL = 108;
|
|
123
|
+
public static readonly BINARY_LITERAL = 109;
|
|
124
|
+
public static readonly FLOAT_LITERAL = 110;
|
|
125
|
+
public static readonly INTEGER_LITERAL = 111;
|
|
126
|
+
public static readonly STRING_LITERAL = 112;
|
|
127
|
+
public static readonly CHAR_LITERAL = 113;
|
|
128
|
+
public static readonly IDENTIFIER = 114;
|
|
129
|
+
public static readonly DOC_COMMENT = 115;
|
|
130
|
+
public static readonly LINE_COMMENT = 116;
|
|
131
|
+
public static readonly BLOCK_COMMENT = 117;
|
|
132
|
+
public static readonly WS = 118;
|
|
132
133
|
public static readonly RULE_program = 0;
|
|
133
134
|
public static readonly RULE_includeDirective = 1;
|
|
134
135
|
public static readonly RULE_preprocessorDirective = 2;
|
|
@@ -171,68 +172,69 @@ export class CNextParser extends antlr.Parser {
|
|
|
171
172
|
public static readonly RULE_whileStatement = 39;
|
|
172
173
|
public static readonly RULE_doWhileStatement = 40;
|
|
173
174
|
public static readonly RULE_forStatement = 41;
|
|
174
|
-
public static readonly
|
|
175
|
-
public static readonly
|
|
176
|
-
public static readonly
|
|
177
|
-
public static readonly
|
|
178
|
-
public static readonly
|
|
179
|
-
public static readonly
|
|
180
|
-
public static readonly
|
|
181
|
-
public static readonly
|
|
182
|
-
public static readonly
|
|
183
|
-
public static readonly
|
|
184
|
-
public static readonly
|
|
185
|
-
public static readonly
|
|
186
|
-
public static readonly
|
|
187
|
-
public static readonly
|
|
188
|
-
public static readonly
|
|
189
|
-
public static readonly
|
|
190
|
-
public static readonly
|
|
191
|
-
public static readonly
|
|
192
|
-
public static readonly
|
|
193
|
-
public static readonly
|
|
194
|
-
public static readonly
|
|
195
|
-
public static readonly
|
|
196
|
-
public static readonly
|
|
197
|
-
public static readonly
|
|
198
|
-
public static readonly
|
|
199
|
-
public static readonly
|
|
200
|
-
public static readonly
|
|
201
|
-
public static readonly
|
|
202
|
-
public static readonly
|
|
203
|
-
public static readonly
|
|
204
|
-
public static readonly
|
|
205
|
-
public static readonly
|
|
206
|
-
public static readonly
|
|
207
|
-
public static readonly
|
|
208
|
-
public static readonly
|
|
209
|
-
public static readonly
|
|
210
|
-
public static readonly
|
|
211
|
-
public static readonly
|
|
212
|
-
public static readonly
|
|
213
|
-
public static readonly
|
|
214
|
-
public static readonly
|
|
215
|
-
public static readonly
|
|
216
|
-
public static readonly
|
|
217
|
-
public static readonly
|
|
218
|
-
public static readonly
|
|
219
|
-
public static readonly
|
|
175
|
+
public static readonly RULE_foreverStatement = 42;
|
|
176
|
+
public static readonly RULE_forInit = 43;
|
|
177
|
+
public static readonly RULE_forVarDecl = 44;
|
|
178
|
+
public static readonly RULE_forAssignment = 45;
|
|
179
|
+
public static readonly RULE_forUpdate = 46;
|
|
180
|
+
public static readonly RULE_returnStatement = 47;
|
|
181
|
+
public static readonly RULE_switchStatement = 48;
|
|
182
|
+
public static readonly RULE_switchCase = 49;
|
|
183
|
+
public static readonly RULE_caseLabel = 50;
|
|
184
|
+
public static readonly RULE_defaultCase = 51;
|
|
185
|
+
public static readonly RULE_expression = 52;
|
|
186
|
+
public static readonly RULE_ternaryExpression = 53;
|
|
187
|
+
public static readonly RULE_orExpression = 54;
|
|
188
|
+
public static readonly RULE_andExpression = 55;
|
|
189
|
+
public static readonly RULE_equalityExpression = 56;
|
|
190
|
+
public static readonly RULE_relationalExpression = 57;
|
|
191
|
+
public static readonly RULE_bitwiseOrExpression = 58;
|
|
192
|
+
public static readonly RULE_bitwiseXorExpression = 59;
|
|
193
|
+
public static readonly RULE_bitwiseAndExpression = 60;
|
|
194
|
+
public static readonly RULE_shiftExpression = 61;
|
|
195
|
+
public static readonly RULE_additiveExpression = 62;
|
|
196
|
+
public static readonly RULE_multiplicativeExpression = 63;
|
|
197
|
+
public static readonly RULE_unaryExpression = 64;
|
|
198
|
+
public static readonly RULE_postfixExpression = 65;
|
|
199
|
+
public static readonly RULE_postfixOp = 66;
|
|
200
|
+
public static readonly RULE_primaryExpression = 67;
|
|
201
|
+
public static readonly RULE_sizeofExpression = 68;
|
|
202
|
+
public static readonly RULE_castExpression = 69;
|
|
203
|
+
public static readonly RULE_structInitializer = 70;
|
|
204
|
+
public static readonly RULE_fieldInitializerList = 71;
|
|
205
|
+
public static readonly RULE_fieldInitializer = 72;
|
|
206
|
+
public static readonly RULE_arrayInitializer = 73;
|
|
207
|
+
public static readonly RULE_arrayInitializerElement = 74;
|
|
208
|
+
public static readonly RULE_argumentList = 75;
|
|
209
|
+
public static readonly RULE_type = 76;
|
|
210
|
+
public static readonly RULE_scopedType = 77;
|
|
211
|
+
public static readonly RULE_globalType = 78;
|
|
212
|
+
public static readonly RULE_qualifiedType = 79;
|
|
213
|
+
public static readonly RULE_primitiveType = 80;
|
|
214
|
+
public static readonly RULE_userType = 81;
|
|
215
|
+
public static readonly RULE_templateType = 82;
|
|
216
|
+
public static readonly RULE_templateArgumentList = 83;
|
|
217
|
+
public static readonly RULE_templateArgument = 84;
|
|
218
|
+
public static readonly RULE_stringType = 85;
|
|
219
|
+
public static readonly RULE_arrayType = 86;
|
|
220
|
+
public static readonly RULE_arrayTypeDimension = 87;
|
|
221
|
+
public static readonly RULE_literal = 88;
|
|
220
222
|
|
|
221
223
|
public static readonly literalNames = [
|
|
222
224
|
null, "'?'", null, null, null, null, null, null, null, null, null,
|
|
223
225
|
"'scope'", "'struct'", "'enum'", "'this'", "'global'", "'register'",
|
|
224
226
|
"'private'", "'public'", "'const'", "'volatile'", "'void'", "'if'",
|
|
225
|
-
"'else'", "'while'", "'do'", "'for'", "'
|
|
226
|
-
"'
|
|
227
|
-
"'
|
|
228
|
-
"'wo'", "'w1c'", "'w1s'", "'clamp'", "'wrap'", "'atomic'",
|
|
229
|
-
null, null, null, null, "'u8'", "'u16'", "'u32'",
|
|
230
|
-
"'i16'", "'i32'", "'i64'", "'f32'", "'f64'", "'bool'",
|
|
231
|
-
"'<<<-'", "'>><-'", "'+<-'", "'-<-'", "'*<-'", "'/<-'",
|
|
232
|
-
"'&<-'", "'|<-'", "'^<-'", "'<-'", "'='", "'!='", "'<'",
|
|
233
|
-
"'<='", "'>='", "'+'", "'-'", "'*'", "'/'", "'%'", "'&&'",
|
|
234
|
-
"'!'", "'&'", "'|'", "'^'", "'~'", "'<<'", "'>>'", "'('",
|
|
235
|
-
"'{'", "'}'", "'['", "']'", "';'", "','", "'.'", "'@'", "':'"
|
|
227
|
+
"'else'", "'while'", "'do'", "'for'", "'forever'", "'switch'", "'case'",
|
|
228
|
+
"'default'", "'return'", "'true'", "'false'", "'NULL'", "'string'",
|
|
229
|
+
"'sizeof'", "'bitmap8'", "'bitmap16'", "'bitmap24'", "'bitmap32'",
|
|
230
|
+
"'rw'", "'ro'", "'wo'", "'w1c'", "'w1s'", "'clamp'", "'wrap'", "'atomic'",
|
|
231
|
+
"'critical'", null, null, null, null, "'u8'", "'u16'", "'u32'",
|
|
232
|
+
"'u64'", "'i8'", "'i16'", "'i32'", "'i64'", "'f32'", "'f64'", "'bool'",
|
|
233
|
+
"'ISR'", "'<<<-'", "'>><-'", "'+<-'", "'-<-'", "'*<-'", "'/<-'",
|
|
234
|
+
"'%<-'", "'&<-'", "'|<-'", "'^<-'", "'<-'", "'='", "'!='", "'<'",
|
|
235
|
+
"'>'", "'<='", "'>='", "'+'", "'-'", "'*'", "'/'", "'%'", "'&&'",
|
|
236
|
+
"'||'", "'!'", "'&'", "'|'", "'^'", "'~'", "'<<'", "'>>'", "'('",
|
|
237
|
+
"')'", "'{'", "'}'", "'['", "']'", "';'", "','", "'.'", "'@'", "':'"
|
|
236
238
|
];
|
|
237
239
|
|
|
238
240
|
public static readonly symbolicNames = [
|
|
@@ -240,21 +242,21 @@ export class CNextParser extends antlr.Parser {
|
|
|
240
242
|
"DEFINE_FLAG", "IFDEF_DIRECTIVE", "IFNDEF_DIRECTIVE", "ELSE_DIRECTIVE",
|
|
241
243
|
"ENDIF_DIRECTIVE", "PRAGMA_TARGET", "SCOPE", "STRUCT", "ENUM", "THIS",
|
|
242
244
|
"GLOBAL", "REGISTER", "PRIVATE", "PUBLIC", "CONST", "VOLATILE",
|
|
243
|
-
"VOID", "IF", "ELSE", "WHILE", "DO", "FOR", "
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"CLAMP", "WRAP", "ATOMIC", "CRITICAL", "SUFFIXED_FLOAT",
|
|
247
|
-
"SUFFIXED_BINARY", "SUFFIXED_DECIMAL", "U8", "U16",
|
|
248
|
-
"I8", "I16", "I32", "I64", "F32", "F64", "BOOL", "ISR_TYPE",
|
|
249
|
-
"
|
|
250
|
-
"
|
|
251
|
-
"
|
|
252
|
-
"
|
|
253
|
-
"
|
|
254
|
-
"
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"BLOCK_COMMENT", "WS"
|
|
245
|
+
"VOID", "IF", "ELSE", "WHILE", "DO", "FOR", "FOREVER", "SWITCH",
|
|
246
|
+
"CASE", "DEFAULT", "RETURN", "TRUE", "FALSE", "C_NULL", "STRING",
|
|
247
|
+
"SIZEOF", "BITMAP8", "BITMAP16", "BITMAP24", "BITMAP32", "RW", "RO",
|
|
248
|
+
"WO", "W1C", "W1S", "CLAMP", "WRAP", "ATOMIC", "CRITICAL", "SUFFIXED_FLOAT",
|
|
249
|
+
"SUFFIXED_HEX", "SUFFIXED_BINARY", "SUFFIXED_DECIMAL", "U8", "U16",
|
|
250
|
+
"U32", "U64", "I8", "I16", "I32", "I64", "F32", "F64", "BOOL", "ISR_TYPE",
|
|
251
|
+
"LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "PLUS_ASSIGN", "MINUS_ASSIGN",
|
|
252
|
+
"STAR_ASSIGN", "SLASH_ASSIGN", "PERCENT_ASSIGN", "BITAND_ASSIGN",
|
|
253
|
+
"BITOR_ASSIGN", "BITXOR_ASSIGN", "ASSIGN", "EQ", "NEQ", "LT", "GT",
|
|
254
|
+
"LTE", "GTE", "PLUS", "MINUS", "STAR", "SLASH", "PERCENT", "AND",
|
|
255
|
+
"OR", "NOT", "BITAND", "BITOR", "BITXOR", "BITNOT", "LSHIFT", "RSHIFT",
|
|
256
|
+
"LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACKET", "RBRACKET",
|
|
257
|
+
"SEMI", "COMMA", "DOT", "AT", "COLON", "HEX_LITERAL", "BINARY_LITERAL",
|
|
258
|
+
"FLOAT_LITERAL", "INTEGER_LITERAL", "STRING_LITERAL", "CHAR_LITERAL",
|
|
259
|
+
"IDENTIFIER", "DOC_COMMENT", "LINE_COMMENT", "BLOCK_COMMENT", "WS"
|
|
258
260
|
];
|
|
259
261
|
public static readonly ruleNames = [
|
|
260
262
|
"program", "includeDirective", "preprocessorDirective", "defineDirective",
|
|
@@ -267,19 +269,19 @@ export class CNextParser extends antlr.Parser {
|
|
|
267
269
|
"variableDeclaration", "constructorArgumentList", "block", "statement",
|
|
268
270
|
"criticalStatement", "assignmentStatement", "assignmentOperator",
|
|
269
271
|
"assignmentTarget", "postfixTargetOp", "expressionStatement", "ifStatement",
|
|
270
|
-
"whileStatement", "doWhileStatement", "forStatement", "
|
|
271
|
-
"forVarDecl", "forAssignment", "forUpdate", "returnStatement",
|
|
272
|
-
"switchCase", "caseLabel", "defaultCase", "expression",
|
|
273
|
-
"
|
|
274
|
-
"
|
|
275
|
-
"
|
|
276
|
-
"
|
|
277
|
-
"
|
|
278
|
-
"
|
|
279
|
-
"
|
|
280
|
-
"
|
|
281
|
-
"
|
|
282
|
-
"literal",
|
|
272
|
+
"whileStatement", "doWhileStatement", "forStatement", "foreverStatement",
|
|
273
|
+
"forInit", "forVarDecl", "forAssignment", "forUpdate", "returnStatement",
|
|
274
|
+
"switchStatement", "switchCase", "caseLabel", "defaultCase", "expression",
|
|
275
|
+
"ternaryExpression", "orExpression", "andExpression", "equalityExpression",
|
|
276
|
+
"relationalExpression", "bitwiseOrExpression", "bitwiseXorExpression",
|
|
277
|
+
"bitwiseAndExpression", "shiftExpression", "additiveExpression",
|
|
278
|
+
"multiplicativeExpression", "unaryExpression", "postfixExpression",
|
|
279
|
+
"postfixOp", "primaryExpression", "sizeofExpression", "castExpression",
|
|
280
|
+
"structInitializer", "fieldInitializerList", "fieldInitializer",
|
|
281
|
+
"arrayInitializer", "arrayInitializerElement", "argumentList", "type",
|
|
282
|
+
"scopedType", "globalType", "qualifiedType", "primitiveType", "userType",
|
|
283
|
+
"templateType", "templateArgumentList", "templateArgument", "stringType",
|
|
284
|
+
"arrayType", "arrayTypeDimension", "literal",
|
|
283
285
|
];
|
|
284
286
|
|
|
285
287
|
public get grammarFileName(): string { return "CNext.g4"; }
|
|
@@ -303,17 +305,17 @@ export class CNextParser extends antlr.Parser {
|
|
|
303
305
|
try {
|
|
304
306
|
this.enterOuterAlt(localContext, 1);
|
|
305
307
|
{
|
|
306
|
-
this.state =
|
|
308
|
+
this.state = 182;
|
|
307
309
|
this.errorHandler.sync(this);
|
|
308
310
|
_la = this.tokenStream.LA(1);
|
|
309
311
|
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2044) !== 0)) {
|
|
310
312
|
{
|
|
311
|
-
this.state =
|
|
313
|
+
this.state = 180;
|
|
312
314
|
this.errorHandler.sync(this);
|
|
313
315
|
switch (this.tokenStream.LA(1)) {
|
|
314
316
|
case CNextParser.INCLUDE_DIRECTIVE:
|
|
315
317
|
{
|
|
316
|
-
this.state =
|
|
318
|
+
this.state = 178;
|
|
317
319
|
this.includeDirective();
|
|
318
320
|
}
|
|
319
321
|
break;
|
|
@@ -326,7 +328,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
326
328
|
case CNextParser.ENDIF_DIRECTIVE:
|
|
327
329
|
case CNextParser.PRAGMA_TARGET:
|
|
328
330
|
{
|
|
329
|
-
this.state =
|
|
331
|
+
this.state = 179;
|
|
330
332
|
this.preprocessorDirective();
|
|
331
333
|
}
|
|
332
334
|
break;
|
|
@@ -334,25 +336,25 @@ export class CNextParser extends antlr.Parser {
|
|
|
334
336
|
throw new antlr.NoViableAltException(this);
|
|
335
337
|
}
|
|
336
338
|
}
|
|
337
|
-
this.state =
|
|
339
|
+
this.state = 184;
|
|
338
340
|
this.errorHandler.sync(this);
|
|
339
341
|
_la = this.tokenStream.LA(1);
|
|
340
342
|
}
|
|
341
|
-
this.state =
|
|
343
|
+
this.state = 188;
|
|
342
344
|
this.errorHandler.sync(this);
|
|
343
345
|
_la = this.tokenStream.LA(1);
|
|
344
|
-
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3799040) !== 0) || ((((_la -
|
|
346
|
+
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3799040) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 2146973757) !== 0) || _la === 114) {
|
|
345
347
|
{
|
|
346
348
|
{
|
|
347
|
-
this.state =
|
|
349
|
+
this.state = 185;
|
|
348
350
|
this.declaration();
|
|
349
351
|
}
|
|
350
352
|
}
|
|
351
|
-
this.state =
|
|
353
|
+
this.state = 190;
|
|
352
354
|
this.errorHandler.sync(this);
|
|
353
355
|
_la = this.tokenStream.LA(1);
|
|
354
356
|
}
|
|
355
|
-
this.state =
|
|
357
|
+
this.state = 191;
|
|
356
358
|
this.match(CNextParser.EOF);
|
|
357
359
|
}
|
|
358
360
|
}
|
|
@@ -375,7 +377,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
375
377
|
try {
|
|
376
378
|
this.enterOuterAlt(localContext, 1);
|
|
377
379
|
{
|
|
378
|
-
this.state =
|
|
380
|
+
this.state = 193;
|
|
379
381
|
this.match(CNextParser.INCLUDE_DIRECTIVE);
|
|
380
382
|
}
|
|
381
383
|
}
|
|
@@ -396,7 +398,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
396
398
|
let localContext = new PreprocessorDirectiveContext(this.context, this.state);
|
|
397
399
|
this.enterRule(localContext, 4, CNextParser.RULE_preprocessorDirective);
|
|
398
400
|
try {
|
|
399
|
-
this.state =
|
|
401
|
+
this.state = 198;
|
|
400
402
|
this.errorHandler.sync(this);
|
|
401
403
|
switch (this.tokenStream.LA(1)) {
|
|
402
404
|
case CNextParser.DEFINE_FUNCTION:
|
|
@@ -404,7 +406,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
404
406
|
case CNextParser.DEFINE_FLAG:
|
|
405
407
|
this.enterOuterAlt(localContext, 1);
|
|
406
408
|
{
|
|
407
|
-
this.state =
|
|
409
|
+
this.state = 195;
|
|
408
410
|
this.defineDirective();
|
|
409
411
|
}
|
|
410
412
|
break;
|
|
@@ -414,14 +416,14 @@ export class CNextParser extends antlr.Parser {
|
|
|
414
416
|
case CNextParser.ENDIF_DIRECTIVE:
|
|
415
417
|
this.enterOuterAlt(localContext, 2);
|
|
416
418
|
{
|
|
417
|
-
this.state =
|
|
419
|
+
this.state = 196;
|
|
418
420
|
this.conditionalDirective();
|
|
419
421
|
}
|
|
420
422
|
break;
|
|
421
423
|
case CNextParser.PRAGMA_TARGET:
|
|
422
424
|
this.enterOuterAlt(localContext, 3);
|
|
423
425
|
{
|
|
424
|
-
this.state =
|
|
426
|
+
this.state = 197;
|
|
425
427
|
this.pragmaDirective();
|
|
426
428
|
}
|
|
427
429
|
break;
|
|
@@ -449,7 +451,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
449
451
|
try {
|
|
450
452
|
this.enterOuterAlt(localContext, 1);
|
|
451
453
|
{
|
|
452
|
-
this.state =
|
|
454
|
+
this.state = 200;
|
|
453
455
|
_la = this.tokenStream.LA(1);
|
|
454
456
|
if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 56) !== 0))) {
|
|
455
457
|
this.errorHandler.recoverInline(this);
|
|
@@ -480,7 +482,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
480
482
|
try {
|
|
481
483
|
this.enterOuterAlt(localContext, 1);
|
|
482
484
|
{
|
|
483
|
-
this.state =
|
|
485
|
+
this.state = 202;
|
|
484
486
|
_la = this.tokenStream.LA(1);
|
|
485
487
|
if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 960) !== 0))) {
|
|
486
488
|
this.errorHandler.recoverInline(this);
|
|
@@ -510,7 +512,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
510
512
|
try {
|
|
511
513
|
this.enterOuterAlt(localContext, 1);
|
|
512
514
|
{
|
|
513
|
-
this.state =
|
|
515
|
+
this.state = 204;
|
|
514
516
|
this.match(CNextParser.PRAGMA_TARGET);
|
|
515
517
|
}
|
|
516
518
|
}
|
|
@@ -531,55 +533,55 @@ export class CNextParser extends antlr.Parser {
|
|
|
531
533
|
let localContext = new DeclarationContext(this.context, this.state);
|
|
532
534
|
this.enterRule(localContext, 12, CNextParser.RULE_declaration);
|
|
533
535
|
try {
|
|
534
|
-
this.state =
|
|
536
|
+
this.state = 213;
|
|
535
537
|
this.errorHandler.sync(this);
|
|
536
538
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 4, this.context) ) {
|
|
537
539
|
case 1:
|
|
538
540
|
this.enterOuterAlt(localContext, 1);
|
|
539
541
|
{
|
|
540
|
-
this.state =
|
|
542
|
+
this.state = 206;
|
|
541
543
|
this.scopeDeclaration();
|
|
542
544
|
}
|
|
543
545
|
break;
|
|
544
546
|
case 2:
|
|
545
547
|
this.enterOuterAlt(localContext, 2);
|
|
546
548
|
{
|
|
547
|
-
this.state =
|
|
549
|
+
this.state = 207;
|
|
548
550
|
this.registerDeclaration();
|
|
549
551
|
}
|
|
550
552
|
break;
|
|
551
553
|
case 3:
|
|
552
554
|
this.enterOuterAlt(localContext, 3);
|
|
553
555
|
{
|
|
554
|
-
this.state =
|
|
556
|
+
this.state = 208;
|
|
555
557
|
this.structDeclaration();
|
|
556
558
|
}
|
|
557
559
|
break;
|
|
558
560
|
case 4:
|
|
559
561
|
this.enterOuterAlt(localContext, 4);
|
|
560
562
|
{
|
|
561
|
-
this.state =
|
|
563
|
+
this.state = 209;
|
|
562
564
|
this.enumDeclaration();
|
|
563
565
|
}
|
|
564
566
|
break;
|
|
565
567
|
case 5:
|
|
566
568
|
this.enterOuterAlt(localContext, 5);
|
|
567
569
|
{
|
|
568
|
-
this.state =
|
|
570
|
+
this.state = 210;
|
|
569
571
|
this.bitmapDeclaration();
|
|
570
572
|
}
|
|
571
573
|
break;
|
|
572
574
|
case 6:
|
|
573
575
|
this.enterOuterAlt(localContext, 6);
|
|
574
576
|
{
|
|
575
|
-
this.state =
|
|
577
|
+
this.state = 211;
|
|
576
578
|
this.functionDeclaration();
|
|
577
579
|
}
|
|
578
580
|
break;
|
|
579
581
|
case 7:
|
|
580
582
|
this.enterOuterAlt(localContext, 7);
|
|
581
583
|
{
|
|
582
|
-
this.state =
|
|
584
|
+
this.state = 212;
|
|
583
585
|
this.variableDeclaration();
|
|
584
586
|
}
|
|
585
587
|
break;
|
|
@@ -605,27 +607,27 @@ export class CNextParser extends antlr.Parser {
|
|
|
605
607
|
try {
|
|
606
608
|
this.enterOuterAlt(localContext, 1);
|
|
607
609
|
{
|
|
608
|
-
this.state =
|
|
610
|
+
this.state = 215;
|
|
609
611
|
this.match(CNextParser.SCOPE);
|
|
610
|
-
this.state =
|
|
612
|
+
this.state = 216;
|
|
611
613
|
this.match(CNextParser.IDENTIFIER);
|
|
612
|
-
this.state =
|
|
614
|
+
this.state = 217;
|
|
613
615
|
this.match(CNextParser.LBRACE);
|
|
614
|
-
this.state =
|
|
616
|
+
this.state = 221;
|
|
615
617
|
this.errorHandler.sync(this);
|
|
616
618
|
_la = this.tokenStream.LA(1);
|
|
617
|
-
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4190208) !== 0) || ((((_la -
|
|
619
|
+
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4190208) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 2146973757) !== 0) || _la === 114) {
|
|
618
620
|
{
|
|
619
621
|
{
|
|
620
|
-
this.state =
|
|
622
|
+
this.state = 218;
|
|
621
623
|
this.scopeMember();
|
|
622
624
|
}
|
|
623
625
|
}
|
|
624
|
-
this.state =
|
|
626
|
+
this.state = 223;
|
|
625
627
|
this.errorHandler.sync(this);
|
|
626
628
|
_la = this.tokenStream.LA(1);
|
|
627
629
|
}
|
|
628
|
-
this.state =
|
|
630
|
+
this.state = 224;
|
|
629
631
|
this.match(CNextParser.RBRACE);
|
|
630
632
|
}
|
|
631
633
|
}
|
|
@@ -647,108 +649,108 @@ export class CNextParser extends antlr.Parser {
|
|
|
647
649
|
this.enterRule(localContext, 16, CNextParser.RULE_scopeMember);
|
|
648
650
|
let _la: number;
|
|
649
651
|
try {
|
|
650
|
-
this.state =
|
|
652
|
+
this.state = 250;
|
|
651
653
|
this.errorHandler.sync(this);
|
|
652
654
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 12, this.context) ) {
|
|
653
655
|
case 1:
|
|
654
656
|
this.enterOuterAlt(localContext, 1);
|
|
655
657
|
{
|
|
656
|
-
this.state =
|
|
658
|
+
this.state = 227;
|
|
657
659
|
this.errorHandler.sync(this);
|
|
658
660
|
_la = this.tokenStream.LA(1);
|
|
659
661
|
if (_la === 17 || _la === 18) {
|
|
660
662
|
{
|
|
661
|
-
this.state =
|
|
663
|
+
this.state = 226;
|
|
662
664
|
this.visibilityModifier();
|
|
663
665
|
}
|
|
664
666
|
}
|
|
665
667
|
|
|
666
|
-
this.state =
|
|
668
|
+
this.state = 229;
|
|
667
669
|
this.variableDeclaration();
|
|
668
670
|
}
|
|
669
671
|
break;
|
|
670
672
|
case 2:
|
|
671
673
|
this.enterOuterAlt(localContext, 2);
|
|
672
674
|
{
|
|
673
|
-
this.state =
|
|
675
|
+
this.state = 231;
|
|
674
676
|
this.errorHandler.sync(this);
|
|
675
677
|
_la = this.tokenStream.LA(1);
|
|
676
678
|
if (_la === 17 || _la === 18) {
|
|
677
679
|
{
|
|
678
|
-
this.state =
|
|
680
|
+
this.state = 230;
|
|
679
681
|
this.visibilityModifier();
|
|
680
682
|
}
|
|
681
683
|
}
|
|
682
684
|
|
|
683
|
-
this.state =
|
|
685
|
+
this.state = 233;
|
|
684
686
|
this.functionDeclaration();
|
|
685
687
|
}
|
|
686
688
|
break;
|
|
687
689
|
case 3:
|
|
688
690
|
this.enterOuterAlt(localContext, 3);
|
|
689
691
|
{
|
|
690
|
-
this.state =
|
|
692
|
+
this.state = 235;
|
|
691
693
|
this.errorHandler.sync(this);
|
|
692
694
|
_la = this.tokenStream.LA(1);
|
|
693
695
|
if (_la === 17 || _la === 18) {
|
|
694
696
|
{
|
|
695
|
-
this.state =
|
|
697
|
+
this.state = 234;
|
|
696
698
|
this.visibilityModifier();
|
|
697
699
|
}
|
|
698
700
|
}
|
|
699
701
|
|
|
700
|
-
this.state =
|
|
702
|
+
this.state = 237;
|
|
701
703
|
this.enumDeclaration();
|
|
702
704
|
}
|
|
703
705
|
break;
|
|
704
706
|
case 4:
|
|
705
707
|
this.enterOuterAlt(localContext, 4);
|
|
706
708
|
{
|
|
707
|
-
this.state =
|
|
709
|
+
this.state = 239;
|
|
708
710
|
this.errorHandler.sync(this);
|
|
709
711
|
_la = this.tokenStream.LA(1);
|
|
710
712
|
if (_la === 17 || _la === 18) {
|
|
711
713
|
{
|
|
712
|
-
this.state =
|
|
714
|
+
this.state = 238;
|
|
713
715
|
this.visibilityModifier();
|
|
714
716
|
}
|
|
715
717
|
}
|
|
716
718
|
|
|
717
|
-
this.state =
|
|
719
|
+
this.state = 241;
|
|
718
720
|
this.bitmapDeclaration();
|
|
719
721
|
}
|
|
720
722
|
break;
|
|
721
723
|
case 5:
|
|
722
724
|
this.enterOuterAlt(localContext, 5);
|
|
723
725
|
{
|
|
724
|
-
this.state =
|
|
726
|
+
this.state = 243;
|
|
725
727
|
this.errorHandler.sync(this);
|
|
726
728
|
_la = this.tokenStream.LA(1);
|
|
727
729
|
if (_la === 17 || _la === 18) {
|
|
728
730
|
{
|
|
729
|
-
this.state =
|
|
731
|
+
this.state = 242;
|
|
730
732
|
this.visibilityModifier();
|
|
731
733
|
}
|
|
732
734
|
}
|
|
733
735
|
|
|
734
|
-
this.state =
|
|
736
|
+
this.state = 245;
|
|
735
737
|
this.registerDeclaration();
|
|
736
738
|
}
|
|
737
739
|
break;
|
|
738
740
|
case 6:
|
|
739
741
|
this.enterOuterAlt(localContext, 6);
|
|
740
742
|
{
|
|
741
|
-
this.state =
|
|
743
|
+
this.state = 247;
|
|
742
744
|
this.errorHandler.sync(this);
|
|
743
745
|
_la = this.tokenStream.LA(1);
|
|
744
746
|
if (_la === 17 || _la === 18) {
|
|
745
747
|
{
|
|
746
|
-
this.state =
|
|
748
|
+
this.state = 246;
|
|
747
749
|
this.visibilityModifier();
|
|
748
750
|
}
|
|
749
751
|
}
|
|
750
752
|
|
|
751
|
-
this.state =
|
|
753
|
+
this.state = 249;
|
|
752
754
|
this.structDeclaration();
|
|
753
755
|
}
|
|
754
756
|
break;
|
|
@@ -774,7 +776,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
774
776
|
try {
|
|
775
777
|
this.enterOuterAlt(localContext, 1);
|
|
776
778
|
{
|
|
777
|
-
this.state =
|
|
779
|
+
this.state = 252;
|
|
778
780
|
_la = this.tokenStream.LA(1);
|
|
779
781
|
if(!(_la === 17 || _la === 18)) {
|
|
780
782
|
this.errorHandler.recoverInline(this);
|
|
@@ -805,31 +807,31 @@ export class CNextParser extends antlr.Parser {
|
|
|
805
807
|
try {
|
|
806
808
|
this.enterOuterAlt(localContext, 1);
|
|
807
809
|
{
|
|
808
|
-
this.state =
|
|
810
|
+
this.state = 254;
|
|
809
811
|
this.match(CNextParser.REGISTER);
|
|
810
|
-
this.state =
|
|
812
|
+
this.state = 255;
|
|
811
813
|
this.match(CNextParser.IDENTIFIER);
|
|
812
|
-
this.state =
|
|
814
|
+
this.state = 256;
|
|
813
815
|
this.match(CNextParser.AT);
|
|
814
|
-
this.state =
|
|
816
|
+
this.state = 257;
|
|
815
817
|
this.expression();
|
|
816
|
-
this.state =
|
|
818
|
+
this.state = 258;
|
|
817
819
|
this.match(CNextParser.LBRACE);
|
|
818
|
-
this.state =
|
|
820
|
+
this.state = 262;
|
|
819
821
|
this.errorHandler.sync(this);
|
|
820
822
|
_la = this.tokenStream.LA(1);
|
|
821
|
-
while (_la ===
|
|
823
|
+
while (_la === 114) {
|
|
822
824
|
{
|
|
823
825
|
{
|
|
824
|
-
this.state =
|
|
826
|
+
this.state = 259;
|
|
825
827
|
this.registerMember();
|
|
826
828
|
}
|
|
827
829
|
}
|
|
828
|
-
this.state =
|
|
830
|
+
this.state = 264;
|
|
829
831
|
this.errorHandler.sync(this);
|
|
830
832
|
_la = this.tokenStream.LA(1);
|
|
831
833
|
}
|
|
832
|
-
this.state =
|
|
834
|
+
this.state = 265;
|
|
833
835
|
this.match(CNextParser.RBRACE);
|
|
834
836
|
}
|
|
835
837
|
}
|
|
@@ -853,24 +855,24 @@ export class CNextParser extends antlr.Parser {
|
|
|
853
855
|
try {
|
|
854
856
|
this.enterOuterAlt(localContext, 1);
|
|
855
857
|
{
|
|
856
|
-
this.state =
|
|
858
|
+
this.state = 267;
|
|
857
859
|
this.match(CNextParser.IDENTIFIER);
|
|
858
|
-
this.state =
|
|
860
|
+
this.state = 268;
|
|
859
861
|
this.match(CNextParser.COLON);
|
|
860
|
-
this.state =
|
|
862
|
+
this.state = 269;
|
|
861
863
|
this.type_();
|
|
862
|
-
this.state =
|
|
864
|
+
this.state = 270;
|
|
863
865
|
this.accessModifier();
|
|
864
|
-
this.state =
|
|
866
|
+
this.state = 271;
|
|
865
867
|
this.match(CNextParser.AT);
|
|
866
|
-
this.state = 270;
|
|
867
|
-
this.expression();
|
|
868
868
|
this.state = 272;
|
|
869
|
+
this.expression();
|
|
870
|
+
this.state = 274;
|
|
869
871
|
this.errorHandler.sync(this);
|
|
870
872
|
_la = this.tokenStream.LA(1);
|
|
871
|
-
if (_la ===
|
|
873
|
+
if (_la === 104) {
|
|
872
874
|
{
|
|
873
|
-
this.state =
|
|
875
|
+
this.state = 273;
|
|
874
876
|
this.match(CNextParser.COMMA);
|
|
875
877
|
}
|
|
876
878
|
}
|
|
@@ -897,9 +899,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
897
899
|
try {
|
|
898
900
|
this.enterOuterAlt(localContext, 1);
|
|
899
901
|
{
|
|
900
|
-
this.state =
|
|
902
|
+
this.state = 276;
|
|
901
903
|
_la = this.tokenStream.LA(1);
|
|
902
|
-
if(!(((((_la -
|
|
904
|
+
if(!(((((_la - 41)) & ~0x1F) === 0 && ((1 << (_la - 41)) & 31) !== 0))) {
|
|
903
905
|
this.errorHandler.recoverInline(this);
|
|
904
906
|
}
|
|
905
907
|
else {
|
|
@@ -928,27 +930,27 @@ export class CNextParser extends antlr.Parser {
|
|
|
928
930
|
try {
|
|
929
931
|
this.enterOuterAlt(localContext, 1);
|
|
930
932
|
{
|
|
931
|
-
this.state =
|
|
933
|
+
this.state = 278;
|
|
932
934
|
this.match(CNextParser.STRUCT);
|
|
933
|
-
this.state =
|
|
935
|
+
this.state = 279;
|
|
934
936
|
this.match(CNextParser.IDENTIFIER);
|
|
935
|
-
this.state =
|
|
937
|
+
this.state = 280;
|
|
936
938
|
this.match(CNextParser.LBRACE);
|
|
937
|
-
this.state =
|
|
939
|
+
this.state = 284;
|
|
938
940
|
this.errorHandler.sync(this);
|
|
939
941
|
_la = this.tokenStream.LA(1);
|
|
940
|
-
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2146304) !== 0) || ((((_la -
|
|
942
|
+
while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2146304) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 2146959361) !== 0) || _la === 114) {
|
|
941
943
|
{
|
|
942
944
|
{
|
|
943
|
-
this.state =
|
|
945
|
+
this.state = 281;
|
|
944
946
|
this.structMember();
|
|
945
947
|
}
|
|
946
948
|
}
|
|
947
|
-
this.state =
|
|
949
|
+
this.state = 286;
|
|
948
950
|
this.errorHandler.sync(this);
|
|
949
951
|
_la = this.tokenStream.LA(1);
|
|
950
952
|
}
|
|
951
|
-
this.state =
|
|
953
|
+
this.state = 287;
|
|
952
954
|
this.match(CNextParser.RBRACE);
|
|
953
955
|
}
|
|
954
956
|
}
|
|
@@ -972,25 +974,25 @@ export class CNextParser extends antlr.Parser {
|
|
|
972
974
|
try {
|
|
973
975
|
this.enterOuterAlt(localContext, 1);
|
|
974
976
|
{
|
|
975
|
-
this.state =
|
|
977
|
+
this.state = 289;
|
|
976
978
|
this.type_();
|
|
977
|
-
this.state =
|
|
979
|
+
this.state = 290;
|
|
978
980
|
this.match(CNextParser.IDENTIFIER);
|
|
979
|
-
this.state =
|
|
981
|
+
this.state = 294;
|
|
980
982
|
this.errorHandler.sync(this);
|
|
981
983
|
_la = this.tokenStream.LA(1);
|
|
982
|
-
while (_la ===
|
|
984
|
+
while (_la === 101) {
|
|
983
985
|
{
|
|
984
986
|
{
|
|
985
|
-
this.state =
|
|
987
|
+
this.state = 291;
|
|
986
988
|
this.arrayDimension();
|
|
987
989
|
}
|
|
988
990
|
}
|
|
989
|
-
this.state =
|
|
991
|
+
this.state = 296;
|
|
990
992
|
this.errorHandler.sync(this);
|
|
991
993
|
_la = this.tokenStream.LA(1);
|
|
992
994
|
}
|
|
993
|
-
this.state =
|
|
995
|
+
this.state = 297;
|
|
994
996
|
this.match(CNextParser.SEMI);
|
|
995
997
|
}
|
|
996
998
|
}
|
|
@@ -1015,43 +1017,43 @@ export class CNextParser extends antlr.Parser {
|
|
|
1015
1017
|
let alternative: number;
|
|
1016
1018
|
this.enterOuterAlt(localContext, 1);
|
|
1017
1019
|
{
|
|
1018
|
-
this.state =
|
|
1020
|
+
this.state = 299;
|
|
1019
1021
|
this.match(CNextParser.ENUM);
|
|
1020
|
-
this.state =
|
|
1022
|
+
this.state = 300;
|
|
1021
1023
|
this.match(CNextParser.IDENTIFIER);
|
|
1022
|
-
this.state =
|
|
1024
|
+
this.state = 301;
|
|
1023
1025
|
this.match(CNextParser.LBRACE);
|
|
1024
|
-
this.state =
|
|
1026
|
+
this.state = 302;
|
|
1025
1027
|
this.enumMember();
|
|
1026
|
-
this.state =
|
|
1028
|
+
this.state = 307;
|
|
1027
1029
|
this.errorHandler.sync(this);
|
|
1028
1030
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 17, this.context);
|
|
1029
1031
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
1030
1032
|
if (alternative === 1) {
|
|
1031
1033
|
{
|
|
1032
1034
|
{
|
|
1033
|
-
this.state =
|
|
1035
|
+
this.state = 303;
|
|
1034
1036
|
this.match(CNextParser.COMMA);
|
|
1035
|
-
this.state =
|
|
1037
|
+
this.state = 304;
|
|
1036
1038
|
this.enumMember();
|
|
1037
1039
|
}
|
|
1038
1040
|
}
|
|
1039
1041
|
}
|
|
1040
|
-
this.state =
|
|
1042
|
+
this.state = 309;
|
|
1041
1043
|
this.errorHandler.sync(this);
|
|
1042
1044
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 17, this.context);
|
|
1043
1045
|
}
|
|
1044
|
-
this.state =
|
|
1046
|
+
this.state = 311;
|
|
1045
1047
|
this.errorHandler.sync(this);
|
|
1046
1048
|
_la = this.tokenStream.LA(1);
|
|
1047
|
-
if (_la ===
|
|
1049
|
+
if (_la === 104) {
|
|
1048
1050
|
{
|
|
1049
|
-
this.state =
|
|
1051
|
+
this.state = 310;
|
|
1050
1052
|
this.match(CNextParser.COMMA);
|
|
1051
1053
|
}
|
|
1052
1054
|
}
|
|
1053
1055
|
|
|
1054
|
-
this.state =
|
|
1056
|
+
this.state = 313;
|
|
1055
1057
|
this.match(CNextParser.RBRACE);
|
|
1056
1058
|
}
|
|
1057
1059
|
}
|
|
@@ -1075,16 +1077,16 @@ export class CNextParser extends antlr.Parser {
|
|
|
1075
1077
|
try {
|
|
1076
1078
|
this.enterOuterAlt(localContext, 1);
|
|
1077
1079
|
{
|
|
1078
|
-
this.state =
|
|
1080
|
+
this.state = 315;
|
|
1079
1081
|
this.match(CNextParser.IDENTIFIER);
|
|
1080
|
-
this.state =
|
|
1082
|
+
this.state = 318;
|
|
1081
1083
|
this.errorHandler.sync(this);
|
|
1082
1084
|
_la = this.tokenStream.LA(1);
|
|
1083
|
-
if (_la ===
|
|
1085
|
+
if (_la === 76) {
|
|
1084
1086
|
{
|
|
1085
|
-
this.state =
|
|
1087
|
+
this.state = 316;
|
|
1086
1088
|
this.match(CNextParser.ASSIGN);
|
|
1087
|
-
this.state =
|
|
1089
|
+
this.state = 317;
|
|
1088
1090
|
this.expression();
|
|
1089
1091
|
}
|
|
1090
1092
|
}
|
|
@@ -1112,43 +1114,43 @@ export class CNextParser extends antlr.Parser {
|
|
|
1112
1114
|
let alternative: number;
|
|
1113
1115
|
this.enterOuterAlt(localContext, 1);
|
|
1114
1116
|
{
|
|
1115
|
-
this.state =
|
|
1117
|
+
this.state = 320;
|
|
1116
1118
|
this.bitmapType();
|
|
1117
|
-
this.state =
|
|
1119
|
+
this.state = 321;
|
|
1118
1120
|
this.match(CNextParser.IDENTIFIER);
|
|
1119
|
-
this.state =
|
|
1121
|
+
this.state = 322;
|
|
1120
1122
|
this.match(CNextParser.LBRACE);
|
|
1121
|
-
this.state =
|
|
1123
|
+
this.state = 323;
|
|
1122
1124
|
this.bitmapMember();
|
|
1123
|
-
this.state =
|
|
1125
|
+
this.state = 328;
|
|
1124
1126
|
this.errorHandler.sync(this);
|
|
1125
1127
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 20, this.context);
|
|
1126
1128
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
1127
1129
|
if (alternative === 1) {
|
|
1128
1130
|
{
|
|
1129
1131
|
{
|
|
1130
|
-
this.state =
|
|
1132
|
+
this.state = 324;
|
|
1131
1133
|
this.match(CNextParser.COMMA);
|
|
1132
|
-
this.state =
|
|
1134
|
+
this.state = 325;
|
|
1133
1135
|
this.bitmapMember();
|
|
1134
1136
|
}
|
|
1135
1137
|
}
|
|
1136
1138
|
}
|
|
1137
|
-
this.state =
|
|
1139
|
+
this.state = 330;
|
|
1138
1140
|
this.errorHandler.sync(this);
|
|
1139
1141
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 20, this.context);
|
|
1140
1142
|
}
|
|
1141
|
-
this.state =
|
|
1143
|
+
this.state = 332;
|
|
1142
1144
|
this.errorHandler.sync(this);
|
|
1143
1145
|
_la = this.tokenStream.LA(1);
|
|
1144
|
-
if (_la ===
|
|
1146
|
+
if (_la === 104) {
|
|
1145
1147
|
{
|
|
1146
|
-
this.state =
|
|
1148
|
+
this.state = 331;
|
|
1147
1149
|
this.match(CNextParser.COMMA);
|
|
1148
1150
|
}
|
|
1149
1151
|
}
|
|
1150
1152
|
|
|
1151
|
-
this.state =
|
|
1153
|
+
this.state = 334;
|
|
1152
1154
|
this.match(CNextParser.RBRACE);
|
|
1153
1155
|
}
|
|
1154
1156
|
}
|
|
@@ -1172,9 +1174,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
1172
1174
|
try {
|
|
1173
1175
|
this.enterOuterAlt(localContext, 1);
|
|
1174
1176
|
{
|
|
1175
|
-
this.state =
|
|
1177
|
+
this.state = 336;
|
|
1176
1178
|
_la = this.tokenStream.LA(1);
|
|
1177
|
-
if(!(((((_la -
|
|
1179
|
+
if(!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 15) !== 0))) {
|
|
1178
1180
|
this.errorHandler.recoverInline(this);
|
|
1179
1181
|
}
|
|
1180
1182
|
else {
|
|
@@ -1203,18 +1205,18 @@ export class CNextParser extends antlr.Parser {
|
|
|
1203
1205
|
try {
|
|
1204
1206
|
this.enterOuterAlt(localContext, 1);
|
|
1205
1207
|
{
|
|
1206
|
-
this.state =
|
|
1208
|
+
this.state = 338;
|
|
1207
1209
|
this.match(CNextParser.IDENTIFIER);
|
|
1208
|
-
this.state =
|
|
1210
|
+
this.state = 342;
|
|
1209
1211
|
this.errorHandler.sync(this);
|
|
1210
1212
|
_la = this.tokenStream.LA(1);
|
|
1211
|
-
if (_la ===
|
|
1213
|
+
if (_la === 101) {
|
|
1212
1214
|
{
|
|
1213
|
-
this.state =
|
|
1215
|
+
this.state = 339;
|
|
1214
1216
|
this.match(CNextParser.LBRACKET);
|
|
1215
|
-
this.state =
|
|
1217
|
+
this.state = 340;
|
|
1216
1218
|
this.match(CNextParser.INTEGER_LITERAL);
|
|
1217
|
-
this.state =
|
|
1219
|
+
this.state = 341;
|
|
1218
1220
|
this.match(CNextParser.RBRACKET);
|
|
1219
1221
|
}
|
|
1220
1222
|
}
|
|
@@ -1241,25 +1243,25 @@ export class CNextParser extends antlr.Parser {
|
|
|
1241
1243
|
try {
|
|
1242
1244
|
this.enterOuterAlt(localContext, 1);
|
|
1243
1245
|
{
|
|
1244
|
-
this.state =
|
|
1246
|
+
this.state = 344;
|
|
1245
1247
|
this.type_();
|
|
1246
|
-
this.state =
|
|
1248
|
+
this.state = 345;
|
|
1247
1249
|
this.match(CNextParser.IDENTIFIER);
|
|
1248
|
-
this.state = 344;
|
|
1249
|
-
this.match(CNextParser.LPAREN);
|
|
1250
1250
|
this.state = 346;
|
|
1251
|
+
this.match(CNextParser.LPAREN);
|
|
1252
|
+
this.state = 348;
|
|
1251
1253
|
this.errorHandler.sync(this);
|
|
1252
1254
|
_la = this.tokenStream.LA(1);
|
|
1253
|
-
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2670592) !== 0) || ((((_la -
|
|
1255
|
+
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2670592) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 2146959361) !== 0) || _la === 114) {
|
|
1254
1256
|
{
|
|
1255
|
-
this.state =
|
|
1257
|
+
this.state = 347;
|
|
1256
1258
|
this.parameterList();
|
|
1257
1259
|
}
|
|
1258
1260
|
}
|
|
1259
1261
|
|
|
1260
|
-
this.state =
|
|
1262
|
+
this.state = 350;
|
|
1261
1263
|
this.match(CNextParser.RPAREN);
|
|
1262
|
-
this.state =
|
|
1264
|
+
this.state = 351;
|
|
1263
1265
|
this.block();
|
|
1264
1266
|
}
|
|
1265
1267
|
}
|
|
@@ -1283,21 +1285,21 @@ export class CNextParser extends antlr.Parser {
|
|
|
1283
1285
|
try {
|
|
1284
1286
|
this.enterOuterAlt(localContext, 1);
|
|
1285
1287
|
{
|
|
1286
|
-
this.state =
|
|
1288
|
+
this.state = 353;
|
|
1287
1289
|
this.parameter();
|
|
1288
|
-
this.state =
|
|
1290
|
+
this.state = 358;
|
|
1289
1291
|
this.errorHandler.sync(this);
|
|
1290
1292
|
_la = this.tokenStream.LA(1);
|
|
1291
|
-
while (_la ===
|
|
1293
|
+
while (_la === 104) {
|
|
1292
1294
|
{
|
|
1293
1295
|
{
|
|
1294
|
-
this.state =
|
|
1296
|
+
this.state = 354;
|
|
1295
1297
|
this.match(CNextParser.COMMA);
|
|
1296
|
-
this.state =
|
|
1298
|
+
this.state = 355;
|
|
1297
1299
|
this.parameter();
|
|
1298
1300
|
}
|
|
1299
1301
|
}
|
|
1300
|
-
this.state =
|
|
1302
|
+
this.state = 360;
|
|
1301
1303
|
this.errorHandler.sync(this);
|
|
1302
1304
|
_la = this.tokenStream.LA(1);
|
|
1303
1305
|
}
|
|
@@ -1323,31 +1325,31 @@ export class CNextParser extends antlr.Parser {
|
|
|
1323
1325
|
try {
|
|
1324
1326
|
this.enterOuterAlt(localContext, 1);
|
|
1325
1327
|
{
|
|
1326
|
-
this.state =
|
|
1328
|
+
this.state = 362;
|
|
1327
1329
|
this.errorHandler.sync(this);
|
|
1328
1330
|
_la = this.tokenStream.LA(1);
|
|
1329
1331
|
if (_la === 19) {
|
|
1330
1332
|
{
|
|
1331
|
-
this.state =
|
|
1333
|
+
this.state = 361;
|
|
1332
1334
|
this.constModifier();
|
|
1333
1335
|
}
|
|
1334
1336
|
}
|
|
1335
1337
|
|
|
1336
|
-
this.state =
|
|
1338
|
+
this.state = 364;
|
|
1337
1339
|
this.type_();
|
|
1338
|
-
this.state =
|
|
1340
|
+
this.state = 365;
|
|
1339
1341
|
this.match(CNextParser.IDENTIFIER);
|
|
1340
|
-
this.state =
|
|
1342
|
+
this.state = 369;
|
|
1341
1343
|
this.errorHandler.sync(this);
|
|
1342
1344
|
_la = this.tokenStream.LA(1);
|
|
1343
|
-
while (_la ===
|
|
1345
|
+
while (_la === 101) {
|
|
1344
1346
|
{
|
|
1345
1347
|
{
|
|
1346
|
-
this.state =
|
|
1348
|
+
this.state = 366;
|
|
1347
1349
|
this.arrayDimension();
|
|
1348
1350
|
}
|
|
1349
1351
|
}
|
|
1350
|
-
this.state =
|
|
1352
|
+
this.state = 371;
|
|
1351
1353
|
this.errorHandler.sync(this);
|
|
1352
1354
|
_la = this.tokenStream.LA(1);
|
|
1353
1355
|
}
|
|
@@ -1372,7 +1374,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
1372
1374
|
try {
|
|
1373
1375
|
this.enterOuterAlt(localContext, 1);
|
|
1374
1376
|
{
|
|
1375
|
-
this.state =
|
|
1377
|
+
this.state = 372;
|
|
1376
1378
|
this.match(CNextParser.CONST);
|
|
1377
1379
|
}
|
|
1378
1380
|
}
|
|
@@ -1395,7 +1397,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
1395
1397
|
try {
|
|
1396
1398
|
this.enterOuterAlt(localContext, 1);
|
|
1397
1399
|
{
|
|
1398
|
-
this.state =
|
|
1400
|
+
this.state = 374;
|
|
1399
1401
|
this.match(CNextParser.VOLATILE);
|
|
1400
1402
|
}
|
|
1401
1403
|
}
|
|
@@ -1419,9 +1421,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
1419
1421
|
try {
|
|
1420
1422
|
this.enterOuterAlt(localContext, 1);
|
|
1421
1423
|
{
|
|
1422
|
-
this.state =
|
|
1424
|
+
this.state = 376;
|
|
1423
1425
|
_la = this.tokenStream.LA(1);
|
|
1424
|
-
if(!(_la ===
|
|
1426
|
+
if(!(_la === 46 || _la === 47)) {
|
|
1425
1427
|
this.errorHandler.recoverInline(this);
|
|
1426
1428
|
}
|
|
1427
1429
|
else {
|
|
@@ -1449,7 +1451,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
1449
1451
|
try {
|
|
1450
1452
|
this.enterOuterAlt(localContext, 1);
|
|
1451
1453
|
{
|
|
1452
|
-
this.state =
|
|
1454
|
+
this.state = 378;
|
|
1453
1455
|
this.match(CNextParser.ATOMIC);
|
|
1454
1456
|
}
|
|
1455
1457
|
}
|
|
@@ -1473,19 +1475,19 @@ export class CNextParser extends antlr.Parser {
|
|
|
1473
1475
|
try {
|
|
1474
1476
|
this.enterOuterAlt(localContext, 1);
|
|
1475
1477
|
{
|
|
1476
|
-
this.state = 378;
|
|
1477
|
-
this.match(CNextParser.LBRACKET);
|
|
1478
1478
|
this.state = 380;
|
|
1479
|
+
this.match(CNextParser.LBRACKET);
|
|
1480
|
+
this.state = 382;
|
|
1479
1481
|
this.errorHandler.sync(this);
|
|
1480
1482
|
_la = this.tokenStream.LA(1);
|
|
1481
|
-
if (
|
|
1483
|
+
if (_la === 14 || _la === 15 || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932183) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
1482
1484
|
{
|
|
1483
|
-
this.state =
|
|
1485
|
+
this.state = 381;
|
|
1484
1486
|
this.expression();
|
|
1485
1487
|
}
|
|
1486
1488
|
}
|
|
1487
1489
|
|
|
1488
|
-
this.state =
|
|
1490
|
+
this.state = 384;
|
|
1489
1491
|
this.match(CNextParser.RBRACKET);
|
|
1490
1492
|
}
|
|
1491
1493
|
}
|
|
@@ -1507,100 +1509,100 @@ export class CNextParser extends antlr.Parser {
|
|
|
1507
1509
|
this.enterRule(localContext, 56, CNextParser.RULE_variableDeclaration);
|
|
1508
1510
|
let _la: number;
|
|
1509
1511
|
try {
|
|
1510
|
-
this.state =
|
|
1512
|
+
this.state = 419;
|
|
1511
1513
|
this.errorHandler.sync(this);
|
|
1512
1514
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 34, this.context) ) {
|
|
1513
1515
|
case 1:
|
|
1514
1516
|
this.enterOuterAlt(localContext, 1);
|
|
1515
1517
|
{
|
|
1516
|
-
this.state =
|
|
1518
|
+
this.state = 387;
|
|
1517
1519
|
this.errorHandler.sync(this);
|
|
1518
1520
|
_la = this.tokenStream.LA(1);
|
|
1519
|
-
if (_la ===
|
|
1521
|
+
if (_la === 48) {
|
|
1520
1522
|
{
|
|
1521
|
-
this.state =
|
|
1523
|
+
this.state = 386;
|
|
1522
1524
|
this.atomicModifier();
|
|
1523
1525
|
}
|
|
1524
1526
|
}
|
|
1525
1527
|
|
|
1526
|
-
this.state =
|
|
1528
|
+
this.state = 390;
|
|
1527
1529
|
this.errorHandler.sync(this);
|
|
1528
1530
|
_la = this.tokenStream.LA(1);
|
|
1529
1531
|
if (_la === 20) {
|
|
1530
1532
|
{
|
|
1531
|
-
this.state =
|
|
1533
|
+
this.state = 389;
|
|
1532
1534
|
this.volatileModifier();
|
|
1533
1535
|
}
|
|
1534
1536
|
}
|
|
1535
1537
|
|
|
1536
|
-
this.state =
|
|
1538
|
+
this.state = 393;
|
|
1537
1539
|
this.errorHandler.sync(this);
|
|
1538
1540
|
_la = this.tokenStream.LA(1);
|
|
1539
1541
|
if (_la === 19) {
|
|
1540
1542
|
{
|
|
1541
|
-
this.state =
|
|
1543
|
+
this.state = 392;
|
|
1542
1544
|
this.constModifier();
|
|
1543
1545
|
}
|
|
1544
1546
|
}
|
|
1545
1547
|
|
|
1546
|
-
this.state =
|
|
1548
|
+
this.state = 396;
|
|
1547
1549
|
this.errorHandler.sync(this);
|
|
1548
1550
|
_la = this.tokenStream.LA(1);
|
|
1549
|
-
if (_la ===
|
|
1551
|
+
if (_la === 46 || _la === 47) {
|
|
1550
1552
|
{
|
|
1551
|
-
this.state =
|
|
1553
|
+
this.state = 395;
|
|
1552
1554
|
this.overflowModifier();
|
|
1553
1555
|
}
|
|
1554
1556
|
}
|
|
1555
1557
|
|
|
1556
|
-
this.state =
|
|
1558
|
+
this.state = 398;
|
|
1557
1559
|
this.type_();
|
|
1558
|
-
this.state =
|
|
1560
|
+
this.state = 399;
|
|
1559
1561
|
this.match(CNextParser.IDENTIFIER);
|
|
1560
|
-
this.state =
|
|
1562
|
+
this.state = 403;
|
|
1561
1563
|
this.errorHandler.sync(this);
|
|
1562
1564
|
_la = this.tokenStream.LA(1);
|
|
1563
|
-
while (_la ===
|
|
1565
|
+
while (_la === 101) {
|
|
1564
1566
|
{
|
|
1565
1567
|
{
|
|
1566
|
-
this.state =
|
|
1568
|
+
this.state = 400;
|
|
1567
1569
|
this.arrayDimension();
|
|
1568
1570
|
}
|
|
1569
1571
|
}
|
|
1570
|
-
this.state =
|
|
1572
|
+
this.state = 405;
|
|
1571
1573
|
this.errorHandler.sync(this);
|
|
1572
1574
|
_la = this.tokenStream.LA(1);
|
|
1573
1575
|
}
|
|
1574
|
-
this.state =
|
|
1576
|
+
this.state = 408;
|
|
1575
1577
|
this.errorHandler.sync(this);
|
|
1576
1578
|
_la = this.tokenStream.LA(1);
|
|
1577
|
-
if (_la ===
|
|
1579
|
+
if (_la === 76) {
|
|
1578
1580
|
{
|
|
1579
|
-
this.state =
|
|
1581
|
+
this.state = 406;
|
|
1580
1582
|
this.match(CNextParser.ASSIGN);
|
|
1581
|
-
this.state =
|
|
1583
|
+
this.state = 407;
|
|
1582
1584
|
this.expression();
|
|
1583
1585
|
}
|
|
1584
1586
|
}
|
|
1585
1587
|
|
|
1586
|
-
this.state =
|
|
1588
|
+
this.state = 410;
|
|
1587
1589
|
this.match(CNextParser.SEMI);
|
|
1588
1590
|
}
|
|
1589
1591
|
break;
|
|
1590
1592
|
case 2:
|
|
1591
1593
|
this.enterOuterAlt(localContext, 2);
|
|
1592
1594
|
{
|
|
1593
|
-
this.state =
|
|
1595
|
+
this.state = 412;
|
|
1594
1596
|
this.type_();
|
|
1595
|
-
this.state =
|
|
1597
|
+
this.state = 413;
|
|
1596
1598
|
this.match(CNextParser.IDENTIFIER);
|
|
1597
|
-
this.state =
|
|
1599
|
+
this.state = 414;
|
|
1598
1600
|
this.match(CNextParser.LPAREN);
|
|
1599
|
-
this.state =
|
|
1601
|
+
this.state = 415;
|
|
1600
1602
|
this.constructorArgumentList();
|
|
1601
|
-
this.state =
|
|
1603
|
+
this.state = 416;
|
|
1602
1604
|
this.match(CNextParser.RPAREN);
|
|
1603
|
-
this.state =
|
|
1605
|
+
this.state = 417;
|
|
1604
1606
|
this.match(CNextParser.SEMI);
|
|
1605
1607
|
}
|
|
1606
1608
|
break;
|
|
@@ -1626,21 +1628,21 @@ export class CNextParser extends antlr.Parser {
|
|
|
1626
1628
|
try {
|
|
1627
1629
|
this.enterOuterAlt(localContext, 1);
|
|
1628
1630
|
{
|
|
1629
|
-
this.state =
|
|
1631
|
+
this.state = 421;
|
|
1630
1632
|
this.match(CNextParser.IDENTIFIER);
|
|
1631
|
-
this.state =
|
|
1633
|
+
this.state = 426;
|
|
1632
1634
|
this.errorHandler.sync(this);
|
|
1633
1635
|
_la = this.tokenStream.LA(1);
|
|
1634
|
-
while (_la ===
|
|
1636
|
+
while (_la === 104) {
|
|
1635
1637
|
{
|
|
1636
1638
|
{
|
|
1637
|
-
this.state =
|
|
1639
|
+
this.state = 422;
|
|
1638
1640
|
this.match(CNextParser.COMMA);
|
|
1639
|
-
this.state =
|
|
1641
|
+
this.state = 423;
|
|
1640
1642
|
this.match(CNextParser.IDENTIFIER);
|
|
1641
1643
|
}
|
|
1642
1644
|
}
|
|
1643
|
-
this.state =
|
|
1645
|
+
this.state = 428;
|
|
1644
1646
|
this.errorHandler.sync(this);
|
|
1645
1647
|
_la = this.tokenStream.LA(1);
|
|
1646
1648
|
}
|
|
@@ -1666,23 +1668,23 @@ export class CNextParser extends antlr.Parser {
|
|
|
1666
1668
|
try {
|
|
1667
1669
|
this.enterOuterAlt(localContext, 1);
|
|
1668
1670
|
{
|
|
1669
|
-
this.state =
|
|
1671
|
+
this.state = 429;
|
|
1670
1672
|
this.match(CNextParser.LBRACE);
|
|
1671
|
-
this.state =
|
|
1673
|
+
this.state = 433;
|
|
1672
1674
|
this.errorHandler.sync(this);
|
|
1673
1675
|
_la = this.tokenStream.LA(1);
|
|
1674
|
-
while (((((_la - 14)) & ~0x1F) === 0 && ((1 << (_la - 14)) &
|
|
1676
|
+
while (((((_la - 14)) & ~0x1F) === 0 && ((1 << (_la - 14)) & 8289763) !== 0) || ((((_la - 46)) & ~0x1F) === 0 && ((1 << (_la - 46)) & 1048575) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
1675
1677
|
{
|
|
1676
1678
|
{
|
|
1677
|
-
this.state =
|
|
1679
|
+
this.state = 430;
|
|
1678
1680
|
this.statement();
|
|
1679
1681
|
}
|
|
1680
1682
|
}
|
|
1681
|
-
this.state =
|
|
1683
|
+
this.state = 435;
|
|
1682
1684
|
this.errorHandler.sync(this);
|
|
1683
1685
|
_la = this.tokenStream.LA(1);
|
|
1684
1686
|
}
|
|
1685
|
-
this.state =
|
|
1687
|
+
this.state = 436;
|
|
1686
1688
|
this.match(CNextParser.RBRACE);
|
|
1687
1689
|
}
|
|
1688
1690
|
}
|
|
@@ -1703,83 +1705,90 @@ export class CNextParser extends antlr.Parser {
|
|
|
1703
1705
|
let localContext = new StatementContext(this.context, this.state);
|
|
1704
1706
|
this.enterRule(localContext, 62, CNextParser.RULE_statement);
|
|
1705
1707
|
try {
|
|
1706
|
-
this.state =
|
|
1708
|
+
this.state = 450;
|
|
1707
1709
|
this.errorHandler.sync(this);
|
|
1708
1710
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 37, this.context) ) {
|
|
1709
1711
|
case 1:
|
|
1710
1712
|
this.enterOuterAlt(localContext, 1);
|
|
1711
1713
|
{
|
|
1712
|
-
this.state =
|
|
1714
|
+
this.state = 438;
|
|
1713
1715
|
this.variableDeclaration();
|
|
1714
1716
|
}
|
|
1715
1717
|
break;
|
|
1716
1718
|
case 2:
|
|
1717
1719
|
this.enterOuterAlt(localContext, 2);
|
|
1718
1720
|
{
|
|
1719
|
-
this.state =
|
|
1721
|
+
this.state = 439;
|
|
1720
1722
|
this.assignmentStatement();
|
|
1721
1723
|
}
|
|
1722
1724
|
break;
|
|
1723
1725
|
case 3:
|
|
1724
1726
|
this.enterOuterAlt(localContext, 3);
|
|
1725
1727
|
{
|
|
1726
|
-
this.state =
|
|
1728
|
+
this.state = 440;
|
|
1727
1729
|
this.expressionStatement();
|
|
1728
1730
|
}
|
|
1729
1731
|
break;
|
|
1730
1732
|
case 4:
|
|
1731
1733
|
this.enterOuterAlt(localContext, 4);
|
|
1732
1734
|
{
|
|
1733
|
-
this.state =
|
|
1735
|
+
this.state = 441;
|
|
1734
1736
|
this.ifStatement();
|
|
1735
1737
|
}
|
|
1736
1738
|
break;
|
|
1737
1739
|
case 5:
|
|
1738
1740
|
this.enterOuterAlt(localContext, 5);
|
|
1739
1741
|
{
|
|
1740
|
-
this.state =
|
|
1742
|
+
this.state = 442;
|
|
1741
1743
|
this.whileStatement();
|
|
1742
1744
|
}
|
|
1743
1745
|
break;
|
|
1744
1746
|
case 6:
|
|
1745
1747
|
this.enterOuterAlt(localContext, 6);
|
|
1746
1748
|
{
|
|
1747
|
-
this.state =
|
|
1749
|
+
this.state = 443;
|
|
1748
1750
|
this.doWhileStatement();
|
|
1749
1751
|
}
|
|
1750
1752
|
break;
|
|
1751
1753
|
case 7:
|
|
1752
1754
|
this.enterOuterAlt(localContext, 7);
|
|
1753
1755
|
{
|
|
1754
|
-
this.state =
|
|
1756
|
+
this.state = 444;
|
|
1755
1757
|
this.forStatement();
|
|
1756
1758
|
}
|
|
1757
1759
|
break;
|
|
1758
1760
|
case 8:
|
|
1759
1761
|
this.enterOuterAlt(localContext, 8);
|
|
1760
1762
|
{
|
|
1761
|
-
this.state =
|
|
1762
|
-
this.
|
|
1763
|
+
this.state = 445;
|
|
1764
|
+
this.foreverStatement();
|
|
1763
1765
|
}
|
|
1764
1766
|
break;
|
|
1765
1767
|
case 9:
|
|
1766
1768
|
this.enterOuterAlt(localContext, 9);
|
|
1767
1769
|
{
|
|
1768
|
-
this.state =
|
|
1769
|
-
this.
|
|
1770
|
+
this.state = 446;
|
|
1771
|
+
this.switchStatement();
|
|
1770
1772
|
}
|
|
1771
1773
|
break;
|
|
1772
1774
|
case 10:
|
|
1773
1775
|
this.enterOuterAlt(localContext, 10);
|
|
1774
1776
|
{
|
|
1775
|
-
this.state =
|
|
1776
|
-
this.
|
|
1777
|
+
this.state = 447;
|
|
1778
|
+
this.returnStatement();
|
|
1777
1779
|
}
|
|
1778
1780
|
break;
|
|
1779
1781
|
case 11:
|
|
1780
1782
|
this.enterOuterAlt(localContext, 11);
|
|
1781
1783
|
{
|
|
1782
|
-
this.state =
|
|
1784
|
+
this.state = 448;
|
|
1785
|
+
this.criticalStatement();
|
|
1786
|
+
}
|
|
1787
|
+
break;
|
|
1788
|
+
case 12:
|
|
1789
|
+
this.enterOuterAlt(localContext, 12);
|
|
1790
|
+
{
|
|
1791
|
+
this.state = 449;
|
|
1783
1792
|
this.block();
|
|
1784
1793
|
}
|
|
1785
1794
|
break;
|
|
@@ -1804,9 +1813,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
1804
1813
|
try {
|
|
1805
1814
|
this.enterOuterAlt(localContext, 1);
|
|
1806
1815
|
{
|
|
1807
|
-
this.state =
|
|
1816
|
+
this.state = 452;
|
|
1808
1817
|
this.match(CNextParser.CRITICAL);
|
|
1809
|
-
this.state =
|
|
1818
|
+
this.state = 453;
|
|
1810
1819
|
this.block();
|
|
1811
1820
|
}
|
|
1812
1821
|
}
|
|
@@ -1829,13 +1838,13 @@ export class CNextParser extends antlr.Parser {
|
|
|
1829
1838
|
try {
|
|
1830
1839
|
this.enterOuterAlt(localContext, 1);
|
|
1831
1840
|
{
|
|
1832
|
-
this.state =
|
|
1841
|
+
this.state = 455;
|
|
1833
1842
|
this.assignmentTarget();
|
|
1834
|
-
this.state =
|
|
1843
|
+
this.state = 456;
|
|
1835
1844
|
this.assignmentOperator();
|
|
1836
|
-
this.state =
|
|
1845
|
+
this.state = 457;
|
|
1837
1846
|
this.expression();
|
|
1838
|
-
this.state =
|
|
1847
|
+
this.state = 458;
|
|
1839
1848
|
this.match(CNextParser.SEMI);
|
|
1840
1849
|
}
|
|
1841
1850
|
}
|
|
@@ -1859,9 +1868,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
1859
1868
|
try {
|
|
1860
1869
|
this.enterOuterAlt(localContext, 1);
|
|
1861
1870
|
{
|
|
1862
|
-
this.state =
|
|
1871
|
+
this.state = 460;
|
|
1863
1872
|
_la = this.tokenStream.LA(1);
|
|
1864
|
-
if(!(((((_la -
|
|
1873
|
+
if(!(((((_la - 66)) & ~0x1F) === 0 && ((1 << (_la - 66)) & 2047) !== 0))) {
|
|
1865
1874
|
this.errorHandler.recoverInline(this);
|
|
1866
1875
|
}
|
|
1867
1876
|
else {
|
|
@@ -1888,29 +1897,29 @@ export class CNextParser extends antlr.Parser {
|
|
|
1888
1897
|
this.enterRule(localContext, 70, CNextParser.RULE_assignmentTarget);
|
|
1889
1898
|
let _la: number;
|
|
1890
1899
|
try {
|
|
1891
|
-
this.state =
|
|
1900
|
+
this.state = 487;
|
|
1892
1901
|
this.errorHandler.sync(this);
|
|
1893
1902
|
switch (this.tokenStream.LA(1)) {
|
|
1894
1903
|
case CNextParser.GLOBAL:
|
|
1895
1904
|
this.enterOuterAlt(localContext, 1);
|
|
1896
1905
|
{
|
|
1897
|
-
this.state =
|
|
1906
|
+
this.state = 462;
|
|
1898
1907
|
this.match(CNextParser.GLOBAL);
|
|
1899
|
-
this.state =
|
|
1908
|
+
this.state = 463;
|
|
1900
1909
|
this.match(CNextParser.DOT);
|
|
1901
|
-
this.state =
|
|
1910
|
+
this.state = 464;
|
|
1902
1911
|
this.match(CNextParser.IDENTIFIER);
|
|
1903
|
-
this.state =
|
|
1912
|
+
this.state = 468;
|
|
1904
1913
|
this.errorHandler.sync(this);
|
|
1905
1914
|
_la = this.tokenStream.LA(1);
|
|
1906
|
-
while (_la ===
|
|
1915
|
+
while (_la === 101 || _la === 105) {
|
|
1907
1916
|
{
|
|
1908
1917
|
{
|
|
1909
|
-
this.state =
|
|
1918
|
+
this.state = 465;
|
|
1910
1919
|
this.postfixTargetOp();
|
|
1911
1920
|
}
|
|
1912
1921
|
}
|
|
1913
|
-
this.state =
|
|
1922
|
+
this.state = 470;
|
|
1914
1923
|
this.errorHandler.sync(this);
|
|
1915
1924
|
_la = this.tokenStream.LA(1);
|
|
1916
1925
|
}
|
|
@@ -1919,23 +1928,23 @@ export class CNextParser extends antlr.Parser {
|
|
|
1919
1928
|
case CNextParser.THIS:
|
|
1920
1929
|
this.enterOuterAlt(localContext, 2);
|
|
1921
1930
|
{
|
|
1922
|
-
this.state =
|
|
1931
|
+
this.state = 471;
|
|
1923
1932
|
this.match(CNextParser.THIS);
|
|
1924
|
-
this.state =
|
|
1933
|
+
this.state = 472;
|
|
1925
1934
|
this.match(CNextParser.DOT);
|
|
1926
|
-
this.state =
|
|
1935
|
+
this.state = 473;
|
|
1927
1936
|
this.match(CNextParser.IDENTIFIER);
|
|
1928
|
-
this.state =
|
|
1937
|
+
this.state = 477;
|
|
1929
1938
|
this.errorHandler.sync(this);
|
|
1930
1939
|
_la = this.tokenStream.LA(1);
|
|
1931
|
-
while (_la ===
|
|
1940
|
+
while (_la === 101 || _la === 105) {
|
|
1932
1941
|
{
|
|
1933
1942
|
{
|
|
1934
|
-
this.state =
|
|
1943
|
+
this.state = 474;
|
|
1935
1944
|
this.postfixTargetOp();
|
|
1936
1945
|
}
|
|
1937
1946
|
}
|
|
1938
|
-
this.state =
|
|
1947
|
+
this.state = 479;
|
|
1939
1948
|
this.errorHandler.sync(this);
|
|
1940
1949
|
_la = this.tokenStream.LA(1);
|
|
1941
1950
|
}
|
|
@@ -1944,19 +1953,19 @@ export class CNextParser extends antlr.Parser {
|
|
|
1944
1953
|
case CNextParser.IDENTIFIER:
|
|
1945
1954
|
this.enterOuterAlt(localContext, 3);
|
|
1946
1955
|
{
|
|
1947
|
-
this.state =
|
|
1956
|
+
this.state = 480;
|
|
1948
1957
|
this.match(CNextParser.IDENTIFIER);
|
|
1949
|
-
this.state =
|
|
1958
|
+
this.state = 484;
|
|
1950
1959
|
this.errorHandler.sync(this);
|
|
1951
1960
|
_la = this.tokenStream.LA(1);
|
|
1952
|
-
while (_la ===
|
|
1961
|
+
while (_la === 101 || _la === 105) {
|
|
1953
1962
|
{
|
|
1954
1963
|
{
|
|
1955
|
-
this.state =
|
|
1964
|
+
this.state = 481;
|
|
1956
1965
|
this.postfixTargetOp();
|
|
1957
1966
|
}
|
|
1958
1967
|
}
|
|
1959
|
-
this.state =
|
|
1968
|
+
this.state = 486;
|
|
1960
1969
|
this.errorHandler.sync(this);
|
|
1961
1970
|
_la = this.tokenStream.LA(1);
|
|
1962
1971
|
}
|
|
@@ -1983,41 +1992,41 @@ export class CNextParser extends antlr.Parser {
|
|
|
1983
1992
|
let localContext = new PostfixTargetOpContext(this.context, this.state);
|
|
1984
1993
|
this.enterRule(localContext, 72, CNextParser.RULE_postfixTargetOp);
|
|
1985
1994
|
try {
|
|
1986
|
-
this.state =
|
|
1995
|
+
this.state = 501;
|
|
1987
1996
|
this.errorHandler.sync(this);
|
|
1988
1997
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 42, this.context) ) {
|
|
1989
1998
|
case 1:
|
|
1990
1999
|
this.enterOuterAlt(localContext, 1);
|
|
1991
2000
|
{
|
|
1992
|
-
this.state =
|
|
2001
|
+
this.state = 489;
|
|
1993
2002
|
this.match(CNextParser.DOT);
|
|
1994
|
-
this.state =
|
|
2003
|
+
this.state = 490;
|
|
1995
2004
|
this.match(CNextParser.IDENTIFIER);
|
|
1996
2005
|
}
|
|
1997
2006
|
break;
|
|
1998
2007
|
case 2:
|
|
1999
2008
|
this.enterOuterAlt(localContext, 2);
|
|
2000
2009
|
{
|
|
2001
|
-
this.state =
|
|
2010
|
+
this.state = 491;
|
|
2002
2011
|
this.match(CNextParser.LBRACKET);
|
|
2003
|
-
this.state =
|
|
2012
|
+
this.state = 492;
|
|
2004
2013
|
this.expression();
|
|
2005
|
-
this.state =
|
|
2014
|
+
this.state = 493;
|
|
2006
2015
|
this.match(CNextParser.RBRACKET);
|
|
2007
2016
|
}
|
|
2008
2017
|
break;
|
|
2009
2018
|
case 3:
|
|
2010
2019
|
this.enterOuterAlt(localContext, 3);
|
|
2011
2020
|
{
|
|
2012
|
-
this.state =
|
|
2021
|
+
this.state = 495;
|
|
2013
2022
|
this.match(CNextParser.LBRACKET);
|
|
2014
|
-
this.state =
|
|
2023
|
+
this.state = 496;
|
|
2015
2024
|
this.expression();
|
|
2016
|
-
this.state =
|
|
2025
|
+
this.state = 497;
|
|
2017
2026
|
this.match(CNextParser.COMMA);
|
|
2018
|
-
this.state =
|
|
2027
|
+
this.state = 498;
|
|
2019
2028
|
this.expression();
|
|
2020
|
-
this.state =
|
|
2029
|
+
this.state = 499;
|
|
2021
2030
|
this.match(CNextParser.RBRACKET);
|
|
2022
2031
|
}
|
|
2023
2032
|
break;
|
|
@@ -2042,9 +2051,9 @@ export class CNextParser extends antlr.Parser {
|
|
|
2042
2051
|
try {
|
|
2043
2052
|
this.enterOuterAlt(localContext, 1);
|
|
2044
2053
|
{
|
|
2045
|
-
this.state =
|
|
2054
|
+
this.state = 503;
|
|
2046
2055
|
this.expression();
|
|
2047
|
-
this.state =
|
|
2056
|
+
this.state = 504;
|
|
2048
2057
|
this.match(CNextParser.SEMI);
|
|
2049
2058
|
}
|
|
2050
2059
|
}
|
|
@@ -2067,24 +2076,24 @@ export class CNextParser extends antlr.Parser {
|
|
|
2067
2076
|
try {
|
|
2068
2077
|
this.enterOuterAlt(localContext, 1);
|
|
2069
2078
|
{
|
|
2070
|
-
this.state =
|
|
2079
|
+
this.state = 506;
|
|
2071
2080
|
this.match(CNextParser.IF);
|
|
2072
|
-
this.state =
|
|
2081
|
+
this.state = 507;
|
|
2073
2082
|
this.match(CNextParser.LPAREN);
|
|
2074
|
-
this.state =
|
|
2083
|
+
this.state = 508;
|
|
2075
2084
|
this.expression();
|
|
2076
|
-
this.state =
|
|
2085
|
+
this.state = 509;
|
|
2077
2086
|
this.match(CNextParser.RPAREN);
|
|
2078
|
-
this.state = 507;
|
|
2079
|
-
this.statement();
|
|
2080
2087
|
this.state = 510;
|
|
2088
|
+
this.statement();
|
|
2089
|
+
this.state = 513;
|
|
2081
2090
|
this.errorHandler.sync(this);
|
|
2082
2091
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 43, this.context) ) {
|
|
2083
2092
|
case 1:
|
|
2084
2093
|
{
|
|
2085
|
-
this.state =
|
|
2094
|
+
this.state = 511;
|
|
2086
2095
|
this.match(CNextParser.ELSE);
|
|
2087
|
-
this.state =
|
|
2096
|
+
this.state = 512;
|
|
2088
2097
|
this.statement();
|
|
2089
2098
|
}
|
|
2090
2099
|
break;
|
|
@@ -2110,15 +2119,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
2110
2119
|
try {
|
|
2111
2120
|
this.enterOuterAlt(localContext, 1);
|
|
2112
2121
|
{
|
|
2113
|
-
this.state =
|
|
2122
|
+
this.state = 515;
|
|
2114
2123
|
this.match(CNextParser.WHILE);
|
|
2115
|
-
this.state =
|
|
2124
|
+
this.state = 516;
|
|
2116
2125
|
this.match(CNextParser.LPAREN);
|
|
2117
|
-
this.state =
|
|
2126
|
+
this.state = 517;
|
|
2118
2127
|
this.expression();
|
|
2119
|
-
this.state =
|
|
2128
|
+
this.state = 518;
|
|
2120
2129
|
this.match(CNextParser.RPAREN);
|
|
2121
|
-
this.state =
|
|
2130
|
+
this.state = 519;
|
|
2122
2131
|
this.statement();
|
|
2123
2132
|
}
|
|
2124
2133
|
}
|
|
@@ -2141,19 +2150,19 @@ export class CNextParser extends antlr.Parser {
|
|
|
2141
2150
|
try {
|
|
2142
2151
|
this.enterOuterAlt(localContext, 1);
|
|
2143
2152
|
{
|
|
2144
|
-
this.state =
|
|
2153
|
+
this.state = 521;
|
|
2145
2154
|
this.match(CNextParser.DO);
|
|
2146
|
-
this.state =
|
|
2155
|
+
this.state = 522;
|
|
2147
2156
|
this.block();
|
|
2148
|
-
this.state =
|
|
2157
|
+
this.state = 523;
|
|
2149
2158
|
this.match(CNextParser.WHILE);
|
|
2150
|
-
this.state =
|
|
2159
|
+
this.state = 524;
|
|
2151
2160
|
this.match(CNextParser.LPAREN);
|
|
2152
|
-
this.state =
|
|
2161
|
+
this.state = 525;
|
|
2153
2162
|
this.expression();
|
|
2154
|
-
this.state =
|
|
2163
|
+
this.state = 526;
|
|
2155
2164
|
this.match(CNextParser.RPAREN);
|
|
2156
|
-
this.state =
|
|
2165
|
+
this.state = 527;
|
|
2157
2166
|
this.match(CNextParser.SEMI);
|
|
2158
2167
|
}
|
|
2159
2168
|
}
|
|
@@ -2177,47 +2186,47 @@ export class CNextParser extends antlr.Parser {
|
|
|
2177
2186
|
try {
|
|
2178
2187
|
this.enterOuterAlt(localContext, 1);
|
|
2179
2188
|
{
|
|
2180
|
-
this.state =
|
|
2189
|
+
this.state = 529;
|
|
2181
2190
|
this.match(CNextParser.FOR);
|
|
2182
|
-
this.state =
|
|
2191
|
+
this.state = 530;
|
|
2183
2192
|
this.match(CNextParser.LPAREN);
|
|
2184
|
-
this.state =
|
|
2193
|
+
this.state = 532;
|
|
2185
2194
|
this.errorHandler.sync(this);
|
|
2186
2195
|
_la = this.tokenStream.LA(1);
|
|
2187
|
-
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3194880) !== 0) || ((((_la -
|
|
2196
|
+
if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3194880) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 2146973697) !== 0) || _la === 114) {
|
|
2188
2197
|
{
|
|
2189
|
-
this.state =
|
|
2198
|
+
this.state = 531;
|
|
2190
2199
|
this.forInit();
|
|
2191
2200
|
}
|
|
2192
2201
|
}
|
|
2193
2202
|
|
|
2194
|
-
this.state =
|
|
2203
|
+
this.state = 534;
|
|
2195
2204
|
this.match(CNextParser.SEMI);
|
|
2196
|
-
this.state =
|
|
2205
|
+
this.state = 536;
|
|
2197
2206
|
this.errorHandler.sync(this);
|
|
2198
2207
|
_la = this.tokenStream.LA(1);
|
|
2199
|
-
if (
|
|
2208
|
+
if (_la === 14 || _la === 15 || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932183) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
2200
2209
|
{
|
|
2201
|
-
this.state =
|
|
2210
|
+
this.state = 535;
|
|
2202
2211
|
this.expression();
|
|
2203
2212
|
}
|
|
2204
2213
|
}
|
|
2205
2214
|
|
|
2206
|
-
this.state =
|
|
2215
|
+
this.state = 538;
|
|
2207
2216
|
this.match(CNextParser.SEMI);
|
|
2208
|
-
this.state =
|
|
2217
|
+
this.state = 540;
|
|
2209
2218
|
this.errorHandler.sync(this);
|
|
2210
2219
|
_la = this.tokenStream.LA(1);
|
|
2211
|
-
if (_la === 14 || _la === 15 || _la ===
|
|
2220
|
+
if (_la === 14 || _la === 15 || _la === 114) {
|
|
2212
2221
|
{
|
|
2213
|
-
this.state =
|
|
2222
|
+
this.state = 539;
|
|
2214
2223
|
this.forUpdate();
|
|
2215
2224
|
}
|
|
2216
2225
|
}
|
|
2217
2226
|
|
|
2218
|
-
this.state =
|
|
2227
|
+
this.state = 542;
|
|
2219
2228
|
this.match(CNextParser.RPAREN);
|
|
2220
|
-
this.state =
|
|
2229
|
+
this.state = 543;
|
|
2221
2230
|
this.statement();
|
|
2222
2231
|
}
|
|
2223
2232
|
}
|
|
@@ -2234,24 +2243,49 @@ export class CNextParser extends antlr.Parser {
|
|
|
2234
2243
|
}
|
|
2235
2244
|
return localContext;
|
|
2236
2245
|
}
|
|
2246
|
+
public foreverStatement(): ForeverStatementContext {
|
|
2247
|
+
let localContext = new ForeverStatementContext(this.context, this.state);
|
|
2248
|
+
this.enterRule(localContext, 84, CNextParser.RULE_foreverStatement);
|
|
2249
|
+
try {
|
|
2250
|
+
this.enterOuterAlt(localContext, 1);
|
|
2251
|
+
{
|
|
2252
|
+
this.state = 545;
|
|
2253
|
+
this.match(CNextParser.FOREVER);
|
|
2254
|
+
this.state = 546;
|
|
2255
|
+
this.block();
|
|
2256
|
+
}
|
|
2257
|
+
}
|
|
2258
|
+
catch (re) {
|
|
2259
|
+
if (re instanceof antlr.RecognitionException) {
|
|
2260
|
+
this.errorHandler.reportError(this, re);
|
|
2261
|
+
this.errorHandler.recover(this, re);
|
|
2262
|
+
} else {
|
|
2263
|
+
throw re;
|
|
2264
|
+
}
|
|
2265
|
+
}
|
|
2266
|
+
finally {
|
|
2267
|
+
this.exitRule();
|
|
2268
|
+
}
|
|
2269
|
+
return localContext;
|
|
2270
|
+
}
|
|
2237
2271
|
public forInit(): ForInitContext {
|
|
2238
2272
|
let localContext = new ForInitContext(this.context, this.state);
|
|
2239
|
-
this.enterRule(localContext,
|
|
2273
|
+
this.enterRule(localContext, 86, CNextParser.RULE_forInit);
|
|
2240
2274
|
try {
|
|
2241
|
-
this.state =
|
|
2275
|
+
this.state = 550;
|
|
2242
2276
|
this.errorHandler.sync(this);
|
|
2243
2277
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 47, this.context) ) {
|
|
2244
2278
|
case 1:
|
|
2245
2279
|
this.enterOuterAlt(localContext, 1);
|
|
2246
2280
|
{
|
|
2247
|
-
this.state =
|
|
2281
|
+
this.state = 548;
|
|
2248
2282
|
this.forVarDecl();
|
|
2249
2283
|
}
|
|
2250
2284
|
break;
|
|
2251
2285
|
case 2:
|
|
2252
2286
|
this.enterOuterAlt(localContext, 2);
|
|
2253
2287
|
{
|
|
2254
|
-
this.state =
|
|
2288
|
+
this.state = 549;
|
|
2255
2289
|
this.forAssignment();
|
|
2256
2290
|
}
|
|
2257
2291
|
break;
|
|
@@ -2272,67 +2306,67 @@ export class CNextParser extends antlr.Parser {
|
|
|
2272
2306
|
}
|
|
2273
2307
|
public forVarDecl(): ForVarDeclContext {
|
|
2274
2308
|
let localContext = new ForVarDeclContext(this.context, this.state);
|
|
2275
|
-
this.enterRule(localContext,
|
|
2309
|
+
this.enterRule(localContext, 88, CNextParser.RULE_forVarDecl);
|
|
2276
2310
|
let _la: number;
|
|
2277
2311
|
try {
|
|
2278
2312
|
this.enterOuterAlt(localContext, 1);
|
|
2279
2313
|
{
|
|
2280
|
-
this.state =
|
|
2314
|
+
this.state = 553;
|
|
2281
2315
|
this.errorHandler.sync(this);
|
|
2282
2316
|
_la = this.tokenStream.LA(1);
|
|
2283
|
-
if (_la ===
|
|
2317
|
+
if (_la === 48) {
|
|
2284
2318
|
{
|
|
2285
|
-
this.state =
|
|
2319
|
+
this.state = 552;
|
|
2286
2320
|
this.atomicModifier();
|
|
2287
2321
|
}
|
|
2288
2322
|
}
|
|
2289
2323
|
|
|
2290
|
-
this.state =
|
|
2324
|
+
this.state = 556;
|
|
2291
2325
|
this.errorHandler.sync(this);
|
|
2292
2326
|
_la = this.tokenStream.LA(1);
|
|
2293
2327
|
if (_la === 20) {
|
|
2294
2328
|
{
|
|
2295
|
-
this.state =
|
|
2329
|
+
this.state = 555;
|
|
2296
2330
|
this.volatileModifier();
|
|
2297
2331
|
}
|
|
2298
2332
|
}
|
|
2299
2333
|
|
|
2300
|
-
this.state =
|
|
2334
|
+
this.state = 559;
|
|
2301
2335
|
this.errorHandler.sync(this);
|
|
2302
2336
|
_la = this.tokenStream.LA(1);
|
|
2303
|
-
if (_la ===
|
|
2337
|
+
if (_la === 46 || _la === 47) {
|
|
2304
2338
|
{
|
|
2305
|
-
this.state =
|
|
2339
|
+
this.state = 558;
|
|
2306
2340
|
this.overflowModifier();
|
|
2307
2341
|
}
|
|
2308
2342
|
}
|
|
2309
2343
|
|
|
2310
|
-
this.state =
|
|
2344
|
+
this.state = 561;
|
|
2311
2345
|
this.type_();
|
|
2312
|
-
this.state =
|
|
2346
|
+
this.state = 562;
|
|
2313
2347
|
this.match(CNextParser.IDENTIFIER);
|
|
2314
|
-
this.state =
|
|
2348
|
+
this.state = 566;
|
|
2315
2349
|
this.errorHandler.sync(this);
|
|
2316
2350
|
_la = this.tokenStream.LA(1);
|
|
2317
|
-
while (_la ===
|
|
2351
|
+
while (_la === 101) {
|
|
2318
2352
|
{
|
|
2319
2353
|
{
|
|
2320
|
-
this.state =
|
|
2354
|
+
this.state = 563;
|
|
2321
2355
|
this.arrayDimension();
|
|
2322
2356
|
}
|
|
2323
2357
|
}
|
|
2324
|
-
this.state =
|
|
2358
|
+
this.state = 568;
|
|
2325
2359
|
this.errorHandler.sync(this);
|
|
2326
2360
|
_la = this.tokenStream.LA(1);
|
|
2327
2361
|
}
|
|
2328
|
-
this.state =
|
|
2362
|
+
this.state = 571;
|
|
2329
2363
|
this.errorHandler.sync(this);
|
|
2330
2364
|
_la = this.tokenStream.LA(1);
|
|
2331
|
-
if (_la ===
|
|
2365
|
+
if (_la === 76) {
|
|
2332
2366
|
{
|
|
2333
|
-
this.state =
|
|
2367
|
+
this.state = 569;
|
|
2334
2368
|
this.match(CNextParser.ASSIGN);
|
|
2335
|
-
this.state =
|
|
2369
|
+
this.state = 570;
|
|
2336
2370
|
this.expression();
|
|
2337
2371
|
}
|
|
2338
2372
|
}
|
|
@@ -2354,15 +2388,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
2354
2388
|
}
|
|
2355
2389
|
public forAssignment(): ForAssignmentContext {
|
|
2356
2390
|
let localContext = new ForAssignmentContext(this.context, this.state);
|
|
2357
|
-
this.enterRule(localContext,
|
|
2391
|
+
this.enterRule(localContext, 90, CNextParser.RULE_forAssignment);
|
|
2358
2392
|
try {
|
|
2359
2393
|
this.enterOuterAlt(localContext, 1);
|
|
2360
2394
|
{
|
|
2361
|
-
this.state =
|
|
2395
|
+
this.state = 573;
|
|
2362
2396
|
this.assignmentTarget();
|
|
2363
|
-
this.state =
|
|
2397
|
+
this.state = 574;
|
|
2364
2398
|
this.assignmentOperator();
|
|
2365
|
-
this.state =
|
|
2399
|
+
this.state = 575;
|
|
2366
2400
|
this.expression();
|
|
2367
2401
|
}
|
|
2368
2402
|
}
|
|
@@ -2381,15 +2415,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
2381
2415
|
}
|
|
2382
2416
|
public forUpdate(): ForUpdateContext {
|
|
2383
2417
|
let localContext = new ForUpdateContext(this.context, this.state);
|
|
2384
|
-
this.enterRule(localContext,
|
|
2418
|
+
this.enterRule(localContext, 92, CNextParser.RULE_forUpdate);
|
|
2385
2419
|
try {
|
|
2386
2420
|
this.enterOuterAlt(localContext, 1);
|
|
2387
2421
|
{
|
|
2388
|
-
this.state =
|
|
2422
|
+
this.state = 577;
|
|
2389
2423
|
this.assignmentTarget();
|
|
2390
|
-
this.state =
|
|
2424
|
+
this.state = 578;
|
|
2391
2425
|
this.assignmentOperator();
|
|
2392
|
-
this.state =
|
|
2426
|
+
this.state = 579;
|
|
2393
2427
|
this.expression();
|
|
2394
2428
|
}
|
|
2395
2429
|
}
|
|
@@ -2408,24 +2442,24 @@ export class CNextParser extends antlr.Parser {
|
|
|
2408
2442
|
}
|
|
2409
2443
|
public returnStatement(): ReturnStatementContext {
|
|
2410
2444
|
let localContext = new ReturnStatementContext(this.context, this.state);
|
|
2411
|
-
this.enterRule(localContext,
|
|
2445
|
+
this.enterRule(localContext, 94, CNextParser.RULE_returnStatement);
|
|
2412
2446
|
let _la: number;
|
|
2413
2447
|
try {
|
|
2414
2448
|
this.enterOuterAlt(localContext, 1);
|
|
2415
2449
|
{
|
|
2416
|
-
this.state =
|
|
2450
|
+
this.state = 581;
|
|
2417
2451
|
this.match(CNextParser.RETURN);
|
|
2418
|
-
this.state =
|
|
2452
|
+
this.state = 583;
|
|
2419
2453
|
this.errorHandler.sync(this);
|
|
2420
2454
|
_la = this.tokenStream.LA(1);
|
|
2421
|
-
if (
|
|
2455
|
+
if (_la === 14 || _la === 15 || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932183) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
2422
2456
|
{
|
|
2423
|
-
this.state =
|
|
2457
|
+
this.state = 582;
|
|
2424
2458
|
this.expression();
|
|
2425
2459
|
}
|
|
2426
2460
|
}
|
|
2427
2461
|
|
|
2428
|
-
this.state =
|
|
2462
|
+
this.state = 585;
|
|
2429
2463
|
this.match(CNextParser.SEMI);
|
|
2430
2464
|
}
|
|
2431
2465
|
}
|
|
@@ -2444,46 +2478,46 @@ export class CNextParser extends antlr.Parser {
|
|
|
2444
2478
|
}
|
|
2445
2479
|
public switchStatement(): SwitchStatementContext {
|
|
2446
2480
|
let localContext = new SwitchStatementContext(this.context, this.state);
|
|
2447
|
-
this.enterRule(localContext,
|
|
2481
|
+
this.enterRule(localContext, 96, CNextParser.RULE_switchStatement);
|
|
2448
2482
|
let _la: number;
|
|
2449
2483
|
try {
|
|
2450
2484
|
this.enterOuterAlt(localContext, 1);
|
|
2451
2485
|
{
|
|
2452
|
-
this.state =
|
|
2486
|
+
this.state = 587;
|
|
2453
2487
|
this.match(CNextParser.SWITCH);
|
|
2454
|
-
this.state =
|
|
2488
|
+
this.state = 588;
|
|
2455
2489
|
this.match(CNextParser.LPAREN);
|
|
2456
|
-
this.state =
|
|
2490
|
+
this.state = 589;
|
|
2457
2491
|
this.expression();
|
|
2458
|
-
this.state =
|
|
2492
|
+
this.state = 590;
|
|
2459
2493
|
this.match(CNextParser.RPAREN);
|
|
2460
|
-
this.state =
|
|
2494
|
+
this.state = 591;
|
|
2461
2495
|
this.match(CNextParser.LBRACE);
|
|
2462
|
-
this.state =
|
|
2496
|
+
this.state = 593;
|
|
2463
2497
|
this.errorHandler.sync(this);
|
|
2464
2498
|
_la = this.tokenStream.LA(1);
|
|
2465
2499
|
do {
|
|
2466
2500
|
{
|
|
2467
2501
|
{
|
|
2468
|
-
this.state =
|
|
2502
|
+
this.state = 592;
|
|
2469
2503
|
this.switchCase();
|
|
2470
2504
|
}
|
|
2471
2505
|
}
|
|
2472
|
-
this.state =
|
|
2506
|
+
this.state = 595;
|
|
2473
2507
|
this.errorHandler.sync(this);
|
|
2474
2508
|
_la = this.tokenStream.LA(1);
|
|
2475
|
-
} while (_la ===
|
|
2476
|
-
this.state =
|
|
2509
|
+
} while (_la === 29);
|
|
2510
|
+
this.state = 598;
|
|
2477
2511
|
this.errorHandler.sync(this);
|
|
2478
2512
|
_la = this.tokenStream.LA(1);
|
|
2479
|
-
if (_la ===
|
|
2513
|
+
if (_la === 30) {
|
|
2480
2514
|
{
|
|
2481
|
-
this.state =
|
|
2515
|
+
this.state = 597;
|
|
2482
2516
|
this.defaultCase();
|
|
2483
2517
|
}
|
|
2484
2518
|
}
|
|
2485
2519
|
|
|
2486
|
-
this.state =
|
|
2520
|
+
this.state = 600;
|
|
2487
2521
|
this.match(CNextParser.RBRACE);
|
|
2488
2522
|
}
|
|
2489
2523
|
}
|
|
@@ -2502,32 +2536,32 @@ export class CNextParser extends antlr.Parser {
|
|
|
2502
2536
|
}
|
|
2503
2537
|
public switchCase(): SwitchCaseContext {
|
|
2504
2538
|
let localContext = new SwitchCaseContext(this.context, this.state);
|
|
2505
|
-
this.enterRule(localContext,
|
|
2539
|
+
this.enterRule(localContext, 98, CNextParser.RULE_switchCase);
|
|
2506
2540
|
let _la: number;
|
|
2507
2541
|
try {
|
|
2508
2542
|
this.enterOuterAlt(localContext, 1);
|
|
2509
2543
|
{
|
|
2510
|
-
this.state =
|
|
2544
|
+
this.state = 602;
|
|
2511
2545
|
this.match(CNextParser.CASE);
|
|
2512
|
-
this.state =
|
|
2546
|
+
this.state = 603;
|
|
2513
2547
|
this.caseLabel();
|
|
2514
|
-
this.state =
|
|
2548
|
+
this.state = 608;
|
|
2515
2549
|
this.errorHandler.sync(this);
|
|
2516
2550
|
_la = this.tokenStream.LA(1);
|
|
2517
|
-
while (_la ===
|
|
2551
|
+
while (_la === 89) {
|
|
2518
2552
|
{
|
|
2519
2553
|
{
|
|
2520
|
-
this.state =
|
|
2554
|
+
this.state = 604;
|
|
2521
2555
|
this.match(CNextParser.OR);
|
|
2522
|
-
this.state =
|
|
2556
|
+
this.state = 605;
|
|
2523
2557
|
this.caseLabel();
|
|
2524
2558
|
}
|
|
2525
2559
|
}
|
|
2526
|
-
this.state =
|
|
2560
|
+
this.state = 610;
|
|
2527
2561
|
this.errorHandler.sync(this);
|
|
2528
2562
|
_la = this.tokenStream.LA(1);
|
|
2529
2563
|
}
|
|
2530
|
-
this.state =
|
|
2564
|
+
this.state = 611;
|
|
2531
2565
|
this.block();
|
|
2532
2566
|
}
|
|
2533
2567
|
}
|
|
@@ -2546,71 +2580,71 @@ export class CNextParser extends antlr.Parser {
|
|
|
2546
2580
|
}
|
|
2547
2581
|
public caseLabel(): CaseLabelContext {
|
|
2548
2582
|
let localContext = new CaseLabelContext(this.context, this.state);
|
|
2549
|
-
this.enterRule(localContext,
|
|
2583
|
+
this.enterRule(localContext, 100, CNextParser.RULE_caseLabel);
|
|
2550
2584
|
let _la: number;
|
|
2551
2585
|
try {
|
|
2552
|
-
this.state =
|
|
2586
|
+
this.state = 625;
|
|
2553
2587
|
this.errorHandler.sync(this);
|
|
2554
2588
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context) ) {
|
|
2555
2589
|
case 1:
|
|
2556
2590
|
this.enterOuterAlt(localContext, 1);
|
|
2557
2591
|
{
|
|
2558
|
-
this.state =
|
|
2592
|
+
this.state = 613;
|
|
2559
2593
|
this.qualifiedType();
|
|
2560
2594
|
}
|
|
2561
2595
|
break;
|
|
2562
2596
|
case 2:
|
|
2563
2597
|
this.enterOuterAlt(localContext, 2);
|
|
2564
2598
|
{
|
|
2565
|
-
this.state =
|
|
2599
|
+
this.state = 614;
|
|
2566
2600
|
this.match(CNextParser.IDENTIFIER);
|
|
2567
2601
|
}
|
|
2568
2602
|
break;
|
|
2569
2603
|
case 3:
|
|
2570
2604
|
this.enterOuterAlt(localContext, 3);
|
|
2571
2605
|
{
|
|
2572
|
-
this.state =
|
|
2606
|
+
this.state = 616;
|
|
2573
2607
|
this.errorHandler.sync(this);
|
|
2574
2608
|
_la = this.tokenStream.LA(1);
|
|
2575
|
-
if (_la ===
|
|
2609
|
+
if (_la === 84) {
|
|
2576
2610
|
{
|
|
2577
|
-
this.state =
|
|
2611
|
+
this.state = 615;
|
|
2578
2612
|
this.match(CNextParser.MINUS);
|
|
2579
2613
|
}
|
|
2580
2614
|
}
|
|
2581
2615
|
|
|
2582
|
-
this.state =
|
|
2616
|
+
this.state = 618;
|
|
2583
2617
|
this.match(CNextParser.INTEGER_LITERAL);
|
|
2584
2618
|
}
|
|
2585
2619
|
break;
|
|
2586
2620
|
case 4:
|
|
2587
2621
|
this.enterOuterAlt(localContext, 4);
|
|
2588
2622
|
{
|
|
2589
|
-
this.state =
|
|
2623
|
+
this.state = 620;
|
|
2590
2624
|
this.errorHandler.sync(this);
|
|
2591
2625
|
_la = this.tokenStream.LA(1);
|
|
2592
|
-
if (_la ===
|
|
2626
|
+
if (_la === 84) {
|
|
2593
2627
|
{
|
|
2594
|
-
this.state =
|
|
2628
|
+
this.state = 619;
|
|
2595
2629
|
this.match(CNextParser.MINUS);
|
|
2596
2630
|
}
|
|
2597
2631
|
}
|
|
2598
2632
|
|
|
2599
|
-
this.state =
|
|
2633
|
+
this.state = 622;
|
|
2600
2634
|
this.match(CNextParser.HEX_LITERAL);
|
|
2601
2635
|
}
|
|
2602
2636
|
break;
|
|
2603
2637
|
case 5:
|
|
2604
2638
|
this.enterOuterAlt(localContext, 5);
|
|
2605
2639
|
{
|
|
2606
|
-
this.state =
|
|
2640
|
+
this.state = 623;
|
|
2607
2641
|
this.match(CNextParser.BINARY_LITERAL);
|
|
2608
2642
|
}
|
|
2609
2643
|
break;
|
|
2610
2644
|
case 6:
|
|
2611
2645
|
this.enterOuterAlt(localContext, 6);
|
|
2612
2646
|
{
|
|
2613
|
-
this.state =
|
|
2647
|
+
this.state = 624;
|
|
2614
2648
|
this.match(CNextParser.CHAR_LITERAL);
|
|
2615
2649
|
}
|
|
2616
2650
|
break;
|
|
@@ -2631,28 +2665,28 @@ export class CNextParser extends antlr.Parser {
|
|
|
2631
2665
|
}
|
|
2632
2666
|
public defaultCase(): DefaultCaseContext {
|
|
2633
2667
|
let localContext = new DefaultCaseContext(this.context, this.state);
|
|
2634
|
-
this.enterRule(localContext,
|
|
2668
|
+
this.enterRule(localContext, 102, CNextParser.RULE_defaultCase);
|
|
2635
2669
|
let _la: number;
|
|
2636
2670
|
try {
|
|
2637
2671
|
this.enterOuterAlt(localContext, 1);
|
|
2638
2672
|
{
|
|
2639
|
-
this.state =
|
|
2673
|
+
this.state = 627;
|
|
2640
2674
|
this.match(CNextParser.DEFAULT);
|
|
2641
|
-
this.state =
|
|
2675
|
+
this.state = 631;
|
|
2642
2676
|
this.errorHandler.sync(this);
|
|
2643
2677
|
_la = this.tokenStream.LA(1);
|
|
2644
|
-
if (_la ===
|
|
2678
|
+
if (_la === 97) {
|
|
2645
2679
|
{
|
|
2646
|
-
this.state =
|
|
2680
|
+
this.state = 628;
|
|
2647
2681
|
this.match(CNextParser.LPAREN);
|
|
2648
|
-
this.state =
|
|
2682
|
+
this.state = 629;
|
|
2649
2683
|
this.match(CNextParser.INTEGER_LITERAL);
|
|
2650
|
-
this.state =
|
|
2684
|
+
this.state = 630;
|
|
2651
2685
|
this.match(CNextParser.RPAREN);
|
|
2652
2686
|
}
|
|
2653
2687
|
}
|
|
2654
2688
|
|
|
2655
|
-
this.state =
|
|
2689
|
+
this.state = 633;
|
|
2656
2690
|
this.block();
|
|
2657
2691
|
}
|
|
2658
2692
|
}
|
|
@@ -2671,11 +2705,11 @@ export class CNextParser extends antlr.Parser {
|
|
|
2671
2705
|
}
|
|
2672
2706
|
public expression(): ExpressionContext {
|
|
2673
2707
|
let localContext = new ExpressionContext(this.context, this.state);
|
|
2674
|
-
this.enterRule(localContext,
|
|
2708
|
+
this.enterRule(localContext, 104, CNextParser.RULE_expression);
|
|
2675
2709
|
try {
|
|
2676
2710
|
this.enterOuterAlt(localContext, 1);
|
|
2677
2711
|
{
|
|
2678
|
-
this.state =
|
|
2712
|
+
this.state = 635;
|
|
2679
2713
|
this.ternaryExpression();
|
|
2680
2714
|
}
|
|
2681
2715
|
}
|
|
@@ -2694,34 +2728,34 @@ export class CNextParser extends antlr.Parser {
|
|
|
2694
2728
|
}
|
|
2695
2729
|
public ternaryExpression(): TernaryExpressionContext {
|
|
2696
2730
|
let localContext = new TernaryExpressionContext(this.context, this.state);
|
|
2697
|
-
this.enterRule(localContext,
|
|
2731
|
+
this.enterRule(localContext, 106, CNextParser.RULE_ternaryExpression);
|
|
2698
2732
|
try {
|
|
2699
|
-
this.state =
|
|
2733
|
+
this.state = 646;
|
|
2700
2734
|
this.errorHandler.sync(this);
|
|
2701
2735
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 61, this.context) ) {
|
|
2702
2736
|
case 1:
|
|
2703
2737
|
this.enterOuterAlt(localContext, 1);
|
|
2704
2738
|
{
|
|
2705
|
-
this.state =
|
|
2739
|
+
this.state = 637;
|
|
2706
2740
|
this.match(CNextParser.LPAREN);
|
|
2707
|
-
this.state =
|
|
2741
|
+
this.state = 638;
|
|
2708
2742
|
this.orExpression();
|
|
2709
|
-
this.state =
|
|
2743
|
+
this.state = 639;
|
|
2710
2744
|
this.match(CNextParser.RPAREN);
|
|
2711
|
-
this.state =
|
|
2745
|
+
this.state = 640;
|
|
2712
2746
|
this.match(CNextParser.T__0);
|
|
2713
|
-
this.state =
|
|
2747
|
+
this.state = 641;
|
|
2714
2748
|
this.orExpression();
|
|
2715
|
-
this.state =
|
|
2749
|
+
this.state = 642;
|
|
2716
2750
|
this.match(CNextParser.COLON);
|
|
2717
|
-
this.state =
|
|
2751
|
+
this.state = 643;
|
|
2718
2752
|
this.orExpression();
|
|
2719
2753
|
}
|
|
2720
2754
|
break;
|
|
2721
2755
|
case 2:
|
|
2722
2756
|
this.enterOuterAlt(localContext, 2);
|
|
2723
2757
|
{
|
|
2724
|
-
this.state =
|
|
2758
|
+
this.state = 645;
|
|
2725
2759
|
this.orExpression();
|
|
2726
2760
|
}
|
|
2727
2761
|
break;
|
|
@@ -2742,26 +2776,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
2742
2776
|
}
|
|
2743
2777
|
public orExpression(): OrExpressionContext {
|
|
2744
2778
|
let localContext = new OrExpressionContext(this.context, this.state);
|
|
2745
|
-
this.enterRule(localContext,
|
|
2779
|
+
this.enterRule(localContext, 108, CNextParser.RULE_orExpression);
|
|
2746
2780
|
let _la: number;
|
|
2747
2781
|
try {
|
|
2748
2782
|
this.enterOuterAlt(localContext, 1);
|
|
2749
2783
|
{
|
|
2750
|
-
this.state =
|
|
2784
|
+
this.state = 648;
|
|
2751
2785
|
this.andExpression();
|
|
2752
|
-
this.state =
|
|
2786
|
+
this.state = 653;
|
|
2753
2787
|
this.errorHandler.sync(this);
|
|
2754
2788
|
_la = this.tokenStream.LA(1);
|
|
2755
|
-
while (_la ===
|
|
2789
|
+
while (_la === 89) {
|
|
2756
2790
|
{
|
|
2757
2791
|
{
|
|
2758
|
-
this.state =
|
|
2792
|
+
this.state = 649;
|
|
2759
2793
|
this.match(CNextParser.OR);
|
|
2760
|
-
this.state =
|
|
2794
|
+
this.state = 650;
|
|
2761
2795
|
this.andExpression();
|
|
2762
2796
|
}
|
|
2763
2797
|
}
|
|
2764
|
-
this.state =
|
|
2798
|
+
this.state = 655;
|
|
2765
2799
|
this.errorHandler.sync(this);
|
|
2766
2800
|
_la = this.tokenStream.LA(1);
|
|
2767
2801
|
}
|
|
@@ -2782,26 +2816,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
2782
2816
|
}
|
|
2783
2817
|
public andExpression(): AndExpressionContext {
|
|
2784
2818
|
let localContext = new AndExpressionContext(this.context, this.state);
|
|
2785
|
-
this.enterRule(localContext,
|
|
2819
|
+
this.enterRule(localContext, 110, CNextParser.RULE_andExpression);
|
|
2786
2820
|
let _la: number;
|
|
2787
2821
|
try {
|
|
2788
2822
|
this.enterOuterAlt(localContext, 1);
|
|
2789
2823
|
{
|
|
2790
|
-
this.state =
|
|
2824
|
+
this.state = 656;
|
|
2791
2825
|
this.equalityExpression();
|
|
2792
|
-
this.state =
|
|
2826
|
+
this.state = 661;
|
|
2793
2827
|
this.errorHandler.sync(this);
|
|
2794
2828
|
_la = this.tokenStream.LA(1);
|
|
2795
|
-
while (_la ===
|
|
2829
|
+
while (_la === 88) {
|
|
2796
2830
|
{
|
|
2797
2831
|
{
|
|
2798
|
-
this.state =
|
|
2832
|
+
this.state = 657;
|
|
2799
2833
|
this.match(CNextParser.AND);
|
|
2800
|
-
this.state =
|
|
2834
|
+
this.state = 658;
|
|
2801
2835
|
this.equalityExpression();
|
|
2802
2836
|
}
|
|
2803
2837
|
}
|
|
2804
|
-
this.state =
|
|
2838
|
+
this.state = 663;
|
|
2805
2839
|
this.errorHandler.sync(this);
|
|
2806
2840
|
_la = this.tokenStream.LA(1);
|
|
2807
2841
|
}
|
|
@@ -2822,33 +2856,33 @@ export class CNextParser extends antlr.Parser {
|
|
|
2822
2856
|
}
|
|
2823
2857
|
public equalityExpression(): EqualityExpressionContext {
|
|
2824
2858
|
let localContext = new EqualityExpressionContext(this.context, this.state);
|
|
2825
|
-
this.enterRule(localContext,
|
|
2859
|
+
this.enterRule(localContext, 112, CNextParser.RULE_equalityExpression);
|
|
2826
2860
|
let _la: number;
|
|
2827
2861
|
try {
|
|
2828
2862
|
this.enterOuterAlt(localContext, 1);
|
|
2829
2863
|
{
|
|
2830
|
-
this.state =
|
|
2864
|
+
this.state = 664;
|
|
2831
2865
|
this.relationalExpression();
|
|
2832
|
-
this.state =
|
|
2866
|
+
this.state = 669;
|
|
2833
2867
|
this.errorHandler.sync(this);
|
|
2834
2868
|
_la = this.tokenStream.LA(1);
|
|
2835
|
-
while (_la ===
|
|
2869
|
+
while (_la === 77 || _la === 78) {
|
|
2836
2870
|
{
|
|
2837
2871
|
{
|
|
2838
|
-
this.state =
|
|
2872
|
+
this.state = 665;
|
|
2839
2873
|
_la = this.tokenStream.LA(1);
|
|
2840
|
-
if(!(_la ===
|
|
2874
|
+
if(!(_la === 77 || _la === 78)) {
|
|
2841
2875
|
this.errorHandler.recoverInline(this);
|
|
2842
2876
|
}
|
|
2843
2877
|
else {
|
|
2844
2878
|
this.errorHandler.reportMatch(this);
|
|
2845
2879
|
this.consume();
|
|
2846
2880
|
}
|
|
2847
|
-
this.state =
|
|
2881
|
+
this.state = 666;
|
|
2848
2882
|
this.relationalExpression();
|
|
2849
2883
|
}
|
|
2850
2884
|
}
|
|
2851
|
-
this.state =
|
|
2885
|
+
this.state = 671;
|
|
2852
2886
|
this.errorHandler.sync(this);
|
|
2853
2887
|
_la = this.tokenStream.LA(1);
|
|
2854
2888
|
}
|
|
@@ -2869,33 +2903,33 @@ export class CNextParser extends antlr.Parser {
|
|
|
2869
2903
|
}
|
|
2870
2904
|
public relationalExpression(): RelationalExpressionContext {
|
|
2871
2905
|
let localContext = new RelationalExpressionContext(this.context, this.state);
|
|
2872
|
-
this.enterRule(localContext,
|
|
2906
|
+
this.enterRule(localContext, 114, CNextParser.RULE_relationalExpression);
|
|
2873
2907
|
let _la: number;
|
|
2874
2908
|
try {
|
|
2875
2909
|
this.enterOuterAlt(localContext, 1);
|
|
2876
2910
|
{
|
|
2877
|
-
this.state =
|
|
2911
|
+
this.state = 672;
|
|
2878
2912
|
this.bitwiseOrExpression();
|
|
2879
|
-
this.state =
|
|
2913
|
+
this.state = 677;
|
|
2880
2914
|
this.errorHandler.sync(this);
|
|
2881
2915
|
_la = this.tokenStream.LA(1);
|
|
2882
|
-
while (((((_la -
|
|
2916
|
+
while (((((_la - 79)) & ~0x1F) === 0 && ((1 << (_la - 79)) & 15) !== 0)) {
|
|
2883
2917
|
{
|
|
2884
2918
|
{
|
|
2885
|
-
this.state =
|
|
2919
|
+
this.state = 673;
|
|
2886
2920
|
_la = this.tokenStream.LA(1);
|
|
2887
|
-
if(!(((((_la -
|
|
2921
|
+
if(!(((((_la - 79)) & ~0x1F) === 0 && ((1 << (_la - 79)) & 15) !== 0))) {
|
|
2888
2922
|
this.errorHandler.recoverInline(this);
|
|
2889
2923
|
}
|
|
2890
2924
|
else {
|
|
2891
2925
|
this.errorHandler.reportMatch(this);
|
|
2892
2926
|
this.consume();
|
|
2893
2927
|
}
|
|
2894
|
-
this.state =
|
|
2928
|
+
this.state = 674;
|
|
2895
2929
|
this.bitwiseOrExpression();
|
|
2896
2930
|
}
|
|
2897
2931
|
}
|
|
2898
|
-
this.state =
|
|
2932
|
+
this.state = 679;
|
|
2899
2933
|
this.errorHandler.sync(this);
|
|
2900
2934
|
_la = this.tokenStream.LA(1);
|
|
2901
2935
|
}
|
|
@@ -2916,26 +2950,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
2916
2950
|
}
|
|
2917
2951
|
public bitwiseOrExpression(): BitwiseOrExpressionContext {
|
|
2918
2952
|
let localContext = new BitwiseOrExpressionContext(this.context, this.state);
|
|
2919
|
-
this.enterRule(localContext,
|
|
2953
|
+
this.enterRule(localContext, 116, CNextParser.RULE_bitwiseOrExpression);
|
|
2920
2954
|
let _la: number;
|
|
2921
2955
|
try {
|
|
2922
2956
|
this.enterOuterAlt(localContext, 1);
|
|
2923
2957
|
{
|
|
2924
|
-
this.state =
|
|
2958
|
+
this.state = 680;
|
|
2925
2959
|
this.bitwiseXorExpression();
|
|
2926
|
-
this.state =
|
|
2960
|
+
this.state = 685;
|
|
2927
2961
|
this.errorHandler.sync(this);
|
|
2928
2962
|
_la = this.tokenStream.LA(1);
|
|
2929
|
-
while (_la ===
|
|
2963
|
+
while (_la === 92) {
|
|
2930
2964
|
{
|
|
2931
2965
|
{
|
|
2932
|
-
this.state =
|
|
2966
|
+
this.state = 681;
|
|
2933
2967
|
this.match(CNextParser.BITOR);
|
|
2934
|
-
this.state =
|
|
2968
|
+
this.state = 682;
|
|
2935
2969
|
this.bitwiseXorExpression();
|
|
2936
2970
|
}
|
|
2937
2971
|
}
|
|
2938
|
-
this.state =
|
|
2972
|
+
this.state = 687;
|
|
2939
2973
|
this.errorHandler.sync(this);
|
|
2940
2974
|
_la = this.tokenStream.LA(1);
|
|
2941
2975
|
}
|
|
@@ -2956,26 +2990,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
2956
2990
|
}
|
|
2957
2991
|
public bitwiseXorExpression(): BitwiseXorExpressionContext {
|
|
2958
2992
|
let localContext = new BitwiseXorExpressionContext(this.context, this.state);
|
|
2959
|
-
this.enterRule(localContext,
|
|
2993
|
+
this.enterRule(localContext, 118, CNextParser.RULE_bitwiseXorExpression);
|
|
2960
2994
|
let _la: number;
|
|
2961
2995
|
try {
|
|
2962
2996
|
this.enterOuterAlt(localContext, 1);
|
|
2963
2997
|
{
|
|
2964
|
-
this.state =
|
|
2998
|
+
this.state = 688;
|
|
2965
2999
|
this.bitwiseAndExpression();
|
|
2966
|
-
this.state =
|
|
3000
|
+
this.state = 693;
|
|
2967
3001
|
this.errorHandler.sync(this);
|
|
2968
3002
|
_la = this.tokenStream.LA(1);
|
|
2969
|
-
while (_la ===
|
|
3003
|
+
while (_la === 93) {
|
|
2970
3004
|
{
|
|
2971
3005
|
{
|
|
2972
|
-
this.state =
|
|
3006
|
+
this.state = 689;
|
|
2973
3007
|
this.match(CNextParser.BITXOR);
|
|
2974
|
-
this.state =
|
|
3008
|
+
this.state = 690;
|
|
2975
3009
|
this.bitwiseAndExpression();
|
|
2976
3010
|
}
|
|
2977
3011
|
}
|
|
2978
|
-
this.state =
|
|
3012
|
+
this.state = 695;
|
|
2979
3013
|
this.errorHandler.sync(this);
|
|
2980
3014
|
_la = this.tokenStream.LA(1);
|
|
2981
3015
|
}
|
|
@@ -2996,26 +3030,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
2996
3030
|
}
|
|
2997
3031
|
public bitwiseAndExpression(): BitwiseAndExpressionContext {
|
|
2998
3032
|
let localContext = new BitwiseAndExpressionContext(this.context, this.state);
|
|
2999
|
-
this.enterRule(localContext,
|
|
3033
|
+
this.enterRule(localContext, 120, CNextParser.RULE_bitwiseAndExpression);
|
|
3000
3034
|
let _la: number;
|
|
3001
3035
|
try {
|
|
3002
3036
|
this.enterOuterAlt(localContext, 1);
|
|
3003
3037
|
{
|
|
3004
|
-
this.state =
|
|
3038
|
+
this.state = 696;
|
|
3005
3039
|
this.shiftExpression();
|
|
3006
|
-
this.state =
|
|
3040
|
+
this.state = 701;
|
|
3007
3041
|
this.errorHandler.sync(this);
|
|
3008
3042
|
_la = this.tokenStream.LA(1);
|
|
3009
|
-
while (_la ===
|
|
3043
|
+
while (_la === 91) {
|
|
3010
3044
|
{
|
|
3011
3045
|
{
|
|
3012
|
-
this.state =
|
|
3046
|
+
this.state = 697;
|
|
3013
3047
|
this.match(CNextParser.BITAND);
|
|
3014
|
-
this.state =
|
|
3048
|
+
this.state = 698;
|
|
3015
3049
|
this.shiftExpression();
|
|
3016
3050
|
}
|
|
3017
3051
|
}
|
|
3018
|
-
this.state =
|
|
3052
|
+
this.state = 703;
|
|
3019
3053
|
this.errorHandler.sync(this);
|
|
3020
3054
|
_la = this.tokenStream.LA(1);
|
|
3021
3055
|
}
|
|
@@ -3036,33 +3070,33 @@ export class CNextParser extends antlr.Parser {
|
|
|
3036
3070
|
}
|
|
3037
3071
|
public shiftExpression(): ShiftExpressionContext {
|
|
3038
3072
|
let localContext = new ShiftExpressionContext(this.context, this.state);
|
|
3039
|
-
this.enterRule(localContext,
|
|
3073
|
+
this.enterRule(localContext, 122, CNextParser.RULE_shiftExpression);
|
|
3040
3074
|
let _la: number;
|
|
3041
3075
|
try {
|
|
3042
3076
|
this.enterOuterAlt(localContext, 1);
|
|
3043
3077
|
{
|
|
3044
|
-
this.state =
|
|
3078
|
+
this.state = 704;
|
|
3045
3079
|
this.additiveExpression();
|
|
3046
|
-
this.state =
|
|
3080
|
+
this.state = 709;
|
|
3047
3081
|
this.errorHandler.sync(this);
|
|
3048
3082
|
_la = this.tokenStream.LA(1);
|
|
3049
|
-
while (_la ===
|
|
3083
|
+
while (_la === 95 || _la === 96) {
|
|
3050
3084
|
{
|
|
3051
3085
|
{
|
|
3052
|
-
this.state =
|
|
3086
|
+
this.state = 705;
|
|
3053
3087
|
_la = this.tokenStream.LA(1);
|
|
3054
|
-
if(!(_la ===
|
|
3088
|
+
if(!(_la === 95 || _la === 96)) {
|
|
3055
3089
|
this.errorHandler.recoverInline(this);
|
|
3056
3090
|
}
|
|
3057
3091
|
else {
|
|
3058
3092
|
this.errorHandler.reportMatch(this);
|
|
3059
3093
|
this.consume();
|
|
3060
3094
|
}
|
|
3061
|
-
this.state =
|
|
3095
|
+
this.state = 706;
|
|
3062
3096
|
this.additiveExpression();
|
|
3063
3097
|
}
|
|
3064
3098
|
}
|
|
3065
|
-
this.state =
|
|
3099
|
+
this.state = 711;
|
|
3066
3100
|
this.errorHandler.sync(this);
|
|
3067
3101
|
_la = this.tokenStream.LA(1);
|
|
3068
3102
|
}
|
|
@@ -3083,33 +3117,33 @@ export class CNextParser extends antlr.Parser {
|
|
|
3083
3117
|
}
|
|
3084
3118
|
public additiveExpression(): AdditiveExpressionContext {
|
|
3085
3119
|
let localContext = new AdditiveExpressionContext(this.context, this.state);
|
|
3086
|
-
this.enterRule(localContext,
|
|
3120
|
+
this.enterRule(localContext, 124, CNextParser.RULE_additiveExpression);
|
|
3087
3121
|
let _la: number;
|
|
3088
3122
|
try {
|
|
3089
3123
|
this.enterOuterAlt(localContext, 1);
|
|
3090
3124
|
{
|
|
3091
|
-
this.state =
|
|
3125
|
+
this.state = 712;
|
|
3092
3126
|
this.multiplicativeExpression();
|
|
3093
|
-
this.state =
|
|
3127
|
+
this.state = 717;
|
|
3094
3128
|
this.errorHandler.sync(this);
|
|
3095
3129
|
_la = this.tokenStream.LA(1);
|
|
3096
|
-
while (_la ===
|
|
3130
|
+
while (_la === 83 || _la === 84) {
|
|
3097
3131
|
{
|
|
3098
3132
|
{
|
|
3099
|
-
this.state =
|
|
3133
|
+
this.state = 713;
|
|
3100
3134
|
_la = this.tokenStream.LA(1);
|
|
3101
|
-
if(!(_la ===
|
|
3135
|
+
if(!(_la === 83 || _la === 84)) {
|
|
3102
3136
|
this.errorHandler.recoverInline(this);
|
|
3103
3137
|
}
|
|
3104
3138
|
else {
|
|
3105
3139
|
this.errorHandler.reportMatch(this);
|
|
3106
3140
|
this.consume();
|
|
3107
3141
|
}
|
|
3108
|
-
this.state =
|
|
3142
|
+
this.state = 714;
|
|
3109
3143
|
this.multiplicativeExpression();
|
|
3110
3144
|
}
|
|
3111
3145
|
}
|
|
3112
|
-
this.state =
|
|
3146
|
+
this.state = 719;
|
|
3113
3147
|
this.errorHandler.sync(this);
|
|
3114
3148
|
_la = this.tokenStream.LA(1);
|
|
3115
3149
|
}
|
|
@@ -3130,36 +3164,36 @@ export class CNextParser extends antlr.Parser {
|
|
|
3130
3164
|
}
|
|
3131
3165
|
public multiplicativeExpression(): MultiplicativeExpressionContext {
|
|
3132
3166
|
let localContext = new MultiplicativeExpressionContext(this.context, this.state);
|
|
3133
|
-
this.enterRule(localContext,
|
|
3167
|
+
this.enterRule(localContext, 126, CNextParser.RULE_multiplicativeExpression);
|
|
3134
3168
|
let _la: number;
|
|
3135
3169
|
try {
|
|
3136
3170
|
let alternative: number;
|
|
3137
3171
|
this.enterOuterAlt(localContext, 1);
|
|
3138
3172
|
{
|
|
3139
|
-
this.state =
|
|
3173
|
+
this.state = 720;
|
|
3140
3174
|
this.unaryExpression();
|
|
3141
|
-
this.state =
|
|
3175
|
+
this.state = 725;
|
|
3142
3176
|
this.errorHandler.sync(this);
|
|
3143
3177
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 71, this.context);
|
|
3144
3178
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3145
3179
|
if (alternative === 1) {
|
|
3146
3180
|
{
|
|
3147
3181
|
{
|
|
3148
|
-
this.state =
|
|
3182
|
+
this.state = 721;
|
|
3149
3183
|
_la = this.tokenStream.LA(1);
|
|
3150
|
-
if(!(((((_la -
|
|
3184
|
+
if(!(((((_la - 85)) & ~0x1F) === 0 && ((1 << (_la - 85)) & 7) !== 0))) {
|
|
3151
3185
|
this.errorHandler.recoverInline(this);
|
|
3152
3186
|
}
|
|
3153
3187
|
else {
|
|
3154
3188
|
this.errorHandler.reportMatch(this);
|
|
3155
3189
|
this.consume();
|
|
3156
3190
|
}
|
|
3157
|
-
this.state =
|
|
3191
|
+
this.state = 722;
|
|
3158
3192
|
this.unaryExpression();
|
|
3159
3193
|
}
|
|
3160
3194
|
}
|
|
3161
3195
|
}
|
|
3162
|
-
this.state =
|
|
3196
|
+
this.state = 727;
|
|
3163
3197
|
this.errorHandler.sync(this);
|
|
3164
3198
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 71, this.context);
|
|
3165
3199
|
}
|
|
@@ -3180,44 +3214,44 @@ export class CNextParser extends antlr.Parser {
|
|
|
3180
3214
|
}
|
|
3181
3215
|
public unaryExpression(): UnaryExpressionContext {
|
|
3182
3216
|
let localContext = new UnaryExpressionContext(this.context, this.state);
|
|
3183
|
-
this.enterRule(localContext,
|
|
3217
|
+
this.enterRule(localContext, 128, CNextParser.RULE_unaryExpression);
|
|
3184
3218
|
try {
|
|
3185
|
-
this.state =
|
|
3219
|
+
this.state = 737;
|
|
3186
3220
|
this.errorHandler.sync(this);
|
|
3187
3221
|
switch (this.tokenStream.LA(1)) {
|
|
3188
3222
|
case CNextParser.NOT:
|
|
3189
3223
|
this.enterOuterAlt(localContext, 1);
|
|
3190
3224
|
{
|
|
3191
|
-
this.state =
|
|
3225
|
+
this.state = 728;
|
|
3192
3226
|
this.match(CNextParser.NOT);
|
|
3193
|
-
this.state =
|
|
3227
|
+
this.state = 729;
|
|
3194
3228
|
this.unaryExpression();
|
|
3195
3229
|
}
|
|
3196
3230
|
break;
|
|
3197
3231
|
case CNextParser.MINUS:
|
|
3198
3232
|
this.enterOuterAlt(localContext, 2);
|
|
3199
3233
|
{
|
|
3200
|
-
this.state =
|
|
3234
|
+
this.state = 730;
|
|
3201
3235
|
this.match(CNextParser.MINUS);
|
|
3202
|
-
this.state =
|
|
3236
|
+
this.state = 731;
|
|
3203
3237
|
this.unaryExpression();
|
|
3204
3238
|
}
|
|
3205
3239
|
break;
|
|
3206
3240
|
case CNextParser.BITNOT:
|
|
3207
3241
|
this.enterOuterAlt(localContext, 3);
|
|
3208
3242
|
{
|
|
3209
|
-
this.state =
|
|
3243
|
+
this.state = 732;
|
|
3210
3244
|
this.match(CNextParser.BITNOT);
|
|
3211
|
-
this.state =
|
|
3245
|
+
this.state = 733;
|
|
3212
3246
|
this.unaryExpression();
|
|
3213
3247
|
}
|
|
3214
3248
|
break;
|
|
3215
3249
|
case CNextParser.BITAND:
|
|
3216
3250
|
this.enterOuterAlt(localContext, 4);
|
|
3217
3251
|
{
|
|
3218
|
-
this.state =
|
|
3252
|
+
this.state = 734;
|
|
3219
3253
|
this.match(CNextParser.BITAND);
|
|
3220
|
-
this.state =
|
|
3254
|
+
this.state = 735;
|
|
3221
3255
|
this.unaryExpression();
|
|
3222
3256
|
}
|
|
3223
3257
|
break;
|
|
@@ -3243,7 +3277,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
3243
3277
|
case CNextParser.IDENTIFIER:
|
|
3244
3278
|
this.enterOuterAlt(localContext, 5);
|
|
3245
3279
|
{
|
|
3246
|
-
this.state =
|
|
3280
|
+
this.state = 736;
|
|
3247
3281
|
this.postfixExpression();
|
|
3248
3282
|
}
|
|
3249
3283
|
break;
|
|
@@ -3266,26 +3300,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
3266
3300
|
}
|
|
3267
3301
|
public postfixExpression(): PostfixExpressionContext {
|
|
3268
3302
|
let localContext = new PostfixExpressionContext(this.context, this.state);
|
|
3269
|
-
this.enterRule(localContext,
|
|
3303
|
+
this.enterRule(localContext, 130, CNextParser.RULE_postfixExpression);
|
|
3270
3304
|
try {
|
|
3271
3305
|
let alternative: number;
|
|
3272
3306
|
this.enterOuterAlt(localContext, 1);
|
|
3273
3307
|
{
|
|
3274
|
-
this.state =
|
|
3308
|
+
this.state = 739;
|
|
3275
3309
|
this.primaryExpression();
|
|
3276
|
-
this.state =
|
|
3310
|
+
this.state = 743;
|
|
3277
3311
|
this.errorHandler.sync(this);
|
|
3278
3312
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 73, this.context);
|
|
3279
3313
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3280
3314
|
if (alternative === 1) {
|
|
3281
3315
|
{
|
|
3282
3316
|
{
|
|
3283
|
-
this.state =
|
|
3317
|
+
this.state = 740;
|
|
3284
3318
|
this.postfixOp();
|
|
3285
3319
|
}
|
|
3286
3320
|
}
|
|
3287
3321
|
}
|
|
3288
|
-
this.state =
|
|
3322
|
+
this.state = 745;
|
|
3289
3323
|
this.errorHandler.sync(this);
|
|
3290
3324
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 73, this.context);
|
|
3291
3325
|
}
|
|
@@ -3306,63 +3340,63 @@ export class CNextParser extends antlr.Parser {
|
|
|
3306
3340
|
}
|
|
3307
3341
|
public postfixOp(): PostfixOpContext {
|
|
3308
3342
|
let localContext = new PostfixOpContext(this.context, this.state);
|
|
3309
|
-
this.enterRule(localContext,
|
|
3343
|
+
this.enterRule(localContext, 132, CNextParser.RULE_postfixOp);
|
|
3310
3344
|
let _la: number;
|
|
3311
3345
|
try {
|
|
3312
|
-
this.state =
|
|
3346
|
+
this.state = 763;
|
|
3313
3347
|
this.errorHandler.sync(this);
|
|
3314
3348
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 75, this.context) ) {
|
|
3315
3349
|
case 1:
|
|
3316
3350
|
this.enterOuterAlt(localContext, 1);
|
|
3317
3351
|
{
|
|
3318
|
-
this.state =
|
|
3352
|
+
this.state = 746;
|
|
3319
3353
|
this.match(CNextParser.DOT);
|
|
3320
|
-
this.state =
|
|
3354
|
+
this.state = 747;
|
|
3321
3355
|
this.match(CNextParser.IDENTIFIER);
|
|
3322
3356
|
}
|
|
3323
3357
|
break;
|
|
3324
3358
|
case 2:
|
|
3325
3359
|
this.enterOuterAlt(localContext, 2);
|
|
3326
3360
|
{
|
|
3327
|
-
this.state =
|
|
3361
|
+
this.state = 748;
|
|
3328
3362
|
this.match(CNextParser.LBRACKET);
|
|
3329
|
-
this.state =
|
|
3363
|
+
this.state = 749;
|
|
3330
3364
|
this.expression();
|
|
3331
|
-
this.state =
|
|
3365
|
+
this.state = 750;
|
|
3332
3366
|
this.match(CNextParser.RBRACKET);
|
|
3333
3367
|
}
|
|
3334
3368
|
break;
|
|
3335
3369
|
case 3:
|
|
3336
3370
|
this.enterOuterAlt(localContext, 3);
|
|
3337
3371
|
{
|
|
3338
|
-
this.state =
|
|
3372
|
+
this.state = 752;
|
|
3339
3373
|
this.match(CNextParser.LBRACKET);
|
|
3340
|
-
this.state =
|
|
3374
|
+
this.state = 753;
|
|
3341
3375
|
this.expression();
|
|
3342
|
-
this.state =
|
|
3376
|
+
this.state = 754;
|
|
3343
3377
|
this.match(CNextParser.COMMA);
|
|
3344
|
-
this.state =
|
|
3378
|
+
this.state = 755;
|
|
3345
3379
|
this.expression();
|
|
3346
|
-
this.state =
|
|
3380
|
+
this.state = 756;
|
|
3347
3381
|
this.match(CNextParser.RBRACKET);
|
|
3348
3382
|
}
|
|
3349
3383
|
break;
|
|
3350
3384
|
case 4:
|
|
3351
3385
|
this.enterOuterAlt(localContext, 4);
|
|
3352
3386
|
{
|
|
3353
|
-
this.state =
|
|
3387
|
+
this.state = 758;
|
|
3354
3388
|
this.match(CNextParser.LPAREN);
|
|
3355
|
-
this.state =
|
|
3389
|
+
this.state = 760;
|
|
3356
3390
|
this.errorHandler.sync(this);
|
|
3357
3391
|
_la = this.tokenStream.LA(1);
|
|
3358
|
-
if (
|
|
3392
|
+
if (_la === 14 || _la === 15 || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932183) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
3359
3393
|
{
|
|
3360
|
-
this.state =
|
|
3394
|
+
this.state = 759;
|
|
3361
3395
|
this.argumentList();
|
|
3362
3396
|
}
|
|
3363
3397
|
}
|
|
3364
3398
|
|
|
3365
|
-
this.state =
|
|
3399
|
+
this.state = 762;
|
|
3366
3400
|
this.match(CNextParser.RPAREN);
|
|
3367
3401
|
}
|
|
3368
3402
|
break;
|
|
@@ -3383,75 +3417,75 @@ export class CNextParser extends antlr.Parser {
|
|
|
3383
3417
|
}
|
|
3384
3418
|
public primaryExpression(): PrimaryExpressionContext {
|
|
3385
3419
|
let localContext = new PrimaryExpressionContext(this.context, this.state);
|
|
3386
|
-
this.enterRule(localContext,
|
|
3420
|
+
this.enterRule(localContext, 134, CNextParser.RULE_primaryExpression);
|
|
3387
3421
|
try {
|
|
3388
|
-
this.state =
|
|
3422
|
+
this.state = 777;
|
|
3389
3423
|
this.errorHandler.sync(this);
|
|
3390
3424
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 76, this.context) ) {
|
|
3391
3425
|
case 1:
|
|
3392
3426
|
this.enterOuterAlt(localContext, 1);
|
|
3393
3427
|
{
|
|
3394
|
-
this.state =
|
|
3428
|
+
this.state = 765;
|
|
3395
3429
|
this.sizeofExpression();
|
|
3396
3430
|
}
|
|
3397
3431
|
break;
|
|
3398
3432
|
case 2:
|
|
3399
3433
|
this.enterOuterAlt(localContext, 2);
|
|
3400
3434
|
{
|
|
3401
|
-
this.state =
|
|
3435
|
+
this.state = 766;
|
|
3402
3436
|
this.castExpression();
|
|
3403
3437
|
}
|
|
3404
3438
|
break;
|
|
3405
3439
|
case 3:
|
|
3406
3440
|
this.enterOuterAlt(localContext, 3);
|
|
3407
3441
|
{
|
|
3408
|
-
this.state =
|
|
3442
|
+
this.state = 767;
|
|
3409
3443
|
this.structInitializer();
|
|
3410
3444
|
}
|
|
3411
3445
|
break;
|
|
3412
3446
|
case 4:
|
|
3413
3447
|
this.enterOuterAlt(localContext, 4);
|
|
3414
3448
|
{
|
|
3415
|
-
this.state =
|
|
3449
|
+
this.state = 768;
|
|
3416
3450
|
this.arrayInitializer();
|
|
3417
3451
|
}
|
|
3418
3452
|
break;
|
|
3419
3453
|
case 5:
|
|
3420
3454
|
this.enterOuterAlt(localContext, 5);
|
|
3421
3455
|
{
|
|
3422
|
-
this.state =
|
|
3456
|
+
this.state = 769;
|
|
3423
3457
|
this.match(CNextParser.THIS);
|
|
3424
3458
|
}
|
|
3425
3459
|
break;
|
|
3426
3460
|
case 6:
|
|
3427
3461
|
this.enterOuterAlt(localContext, 6);
|
|
3428
3462
|
{
|
|
3429
|
-
this.state =
|
|
3463
|
+
this.state = 770;
|
|
3430
3464
|
this.match(CNextParser.GLOBAL);
|
|
3431
3465
|
}
|
|
3432
3466
|
break;
|
|
3433
3467
|
case 7:
|
|
3434
3468
|
this.enterOuterAlt(localContext, 7);
|
|
3435
3469
|
{
|
|
3436
|
-
this.state =
|
|
3470
|
+
this.state = 771;
|
|
3437
3471
|
this.match(CNextParser.IDENTIFIER);
|
|
3438
3472
|
}
|
|
3439
3473
|
break;
|
|
3440
3474
|
case 8:
|
|
3441
3475
|
this.enterOuterAlt(localContext, 8);
|
|
3442
3476
|
{
|
|
3443
|
-
this.state =
|
|
3477
|
+
this.state = 772;
|
|
3444
3478
|
this.literal();
|
|
3445
3479
|
}
|
|
3446
3480
|
break;
|
|
3447
3481
|
case 9:
|
|
3448
3482
|
this.enterOuterAlt(localContext, 9);
|
|
3449
3483
|
{
|
|
3450
|
-
this.state =
|
|
3484
|
+
this.state = 773;
|
|
3451
3485
|
this.match(CNextParser.LPAREN);
|
|
3452
|
-
this.state =
|
|
3486
|
+
this.state = 774;
|
|
3453
3487
|
this.expression();
|
|
3454
|
-
this.state =
|
|
3488
|
+
this.state = 775;
|
|
3455
3489
|
this.match(CNextParser.RPAREN);
|
|
3456
3490
|
}
|
|
3457
3491
|
break;
|
|
@@ -3472,31 +3506,31 @@ export class CNextParser extends antlr.Parser {
|
|
|
3472
3506
|
}
|
|
3473
3507
|
public sizeofExpression(): SizeofExpressionContext {
|
|
3474
3508
|
let localContext = new SizeofExpressionContext(this.context, this.state);
|
|
3475
|
-
this.enterRule(localContext,
|
|
3509
|
+
this.enterRule(localContext, 136, CNextParser.RULE_sizeofExpression);
|
|
3476
3510
|
try {
|
|
3477
3511
|
this.enterOuterAlt(localContext, 1);
|
|
3478
3512
|
{
|
|
3479
|
-
this.state =
|
|
3513
|
+
this.state = 779;
|
|
3480
3514
|
this.match(CNextParser.SIZEOF);
|
|
3481
|
-
this.state =
|
|
3515
|
+
this.state = 780;
|
|
3482
3516
|
this.match(CNextParser.LPAREN);
|
|
3483
|
-
this.state =
|
|
3517
|
+
this.state = 783;
|
|
3484
3518
|
this.errorHandler.sync(this);
|
|
3485
3519
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 77, this.context) ) {
|
|
3486
3520
|
case 1:
|
|
3487
3521
|
{
|
|
3488
|
-
this.state =
|
|
3522
|
+
this.state = 781;
|
|
3489
3523
|
this.type_();
|
|
3490
3524
|
}
|
|
3491
3525
|
break;
|
|
3492
3526
|
case 2:
|
|
3493
3527
|
{
|
|
3494
|
-
this.state =
|
|
3528
|
+
this.state = 782;
|
|
3495
3529
|
this.expression();
|
|
3496
3530
|
}
|
|
3497
3531
|
break;
|
|
3498
3532
|
}
|
|
3499
|
-
this.state =
|
|
3533
|
+
this.state = 785;
|
|
3500
3534
|
this.match(CNextParser.RPAREN);
|
|
3501
3535
|
}
|
|
3502
3536
|
}
|
|
@@ -3515,17 +3549,17 @@ export class CNextParser extends antlr.Parser {
|
|
|
3515
3549
|
}
|
|
3516
3550
|
public castExpression(): CastExpressionContext {
|
|
3517
3551
|
let localContext = new CastExpressionContext(this.context, this.state);
|
|
3518
|
-
this.enterRule(localContext,
|
|
3552
|
+
this.enterRule(localContext, 138, CNextParser.RULE_castExpression);
|
|
3519
3553
|
try {
|
|
3520
3554
|
this.enterOuterAlt(localContext, 1);
|
|
3521
3555
|
{
|
|
3522
|
-
this.state =
|
|
3556
|
+
this.state = 787;
|
|
3523
3557
|
this.match(CNextParser.LPAREN);
|
|
3524
|
-
this.state =
|
|
3558
|
+
this.state = 788;
|
|
3525
3559
|
this.type_();
|
|
3526
|
-
this.state =
|
|
3560
|
+
this.state = 789;
|
|
3527
3561
|
this.match(CNextParser.RPAREN);
|
|
3528
|
-
this.state =
|
|
3562
|
+
this.state = 790;
|
|
3529
3563
|
this.unaryExpression();
|
|
3530
3564
|
}
|
|
3531
3565
|
}
|
|
@@ -3544,41 +3578,41 @@ export class CNextParser extends antlr.Parser {
|
|
|
3544
3578
|
}
|
|
3545
3579
|
public structInitializer(): StructInitializerContext {
|
|
3546
3580
|
let localContext = new StructInitializerContext(this.context, this.state);
|
|
3547
|
-
this.enterRule(localContext,
|
|
3581
|
+
this.enterRule(localContext, 140, CNextParser.RULE_structInitializer);
|
|
3548
3582
|
let _la: number;
|
|
3549
3583
|
try {
|
|
3550
|
-
this.state =
|
|
3584
|
+
this.state = 802;
|
|
3551
3585
|
this.errorHandler.sync(this);
|
|
3552
3586
|
switch (this.tokenStream.LA(1)) {
|
|
3553
3587
|
case CNextParser.IDENTIFIER:
|
|
3554
3588
|
this.enterOuterAlt(localContext, 1);
|
|
3555
3589
|
{
|
|
3556
|
-
this.state =
|
|
3590
|
+
this.state = 792;
|
|
3557
3591
|
this.match(CNextParser.IDENTIFIER);
|
|
3558
|
-
this.state =
|
|
3592
|
+
this.state = 793;
|
|
3559
3593
|
this.match(CNextParser.LBRACE);
|
|
3560
|
-
this.state =
|
|
3594
|
+
this.state = 795;
|
|
3561
3595
|
this.errorHandler.sync(this);
|
|
3562
3596
|
_la = this.tokenStream.LA(1);
|
|
3563
|
-
if (_la ===
|
|
3597
|
+
if (_la === 114) {
|
|
3564
3598
|
{
|
|
3565
|
-
this.state =
|
|
3599
|
+
this.state = 794;
|
|
3566
3600
|
this.fieldInitializerList();
|
|
3567
3601
|
}
|
|
3568
3602
|
}
|
|
3569
3603
|
|
|
3570
|
-
this.state =
|
|
3604
|
+
this.state = 797;
|
|
3571
3605
|
this.match(CNextParser.RBRACE);
|
|
3572
3606
|
}
|
|
3573
3607
|
break;
|
|
3574
3608
|
case CNextParser.LBRACE:
|
|
3575
3609
|
this.enterOuterAlt(localContext, 2);
|
|
3576
3610
|
{
|
|
3577
|
-
this.state =
|
|
3611
|
+
this.state = 798;
|
|
3578
3612
|
this.match(CNextParser.LBRACE);
|
|
3579
|
-
this.state =
|
|
3613
|
+
this.state = 799;
|
|
3580
3614
|
this.fieldInitializerList();
|
|
3581
|
-
this.state =
|
|
3615
|
+
this.state = 800;
|
|
3582
3616
|
this.match(CNextParser.RBRACE);
|
|
3583
3617
|
}
|
|
3584
3618
|
break;
|
|
@@ -3601,38 +3635,38 @@ export class CNextParser extends antlr.Parser {
|
|
|
3601
3635
|
}
|
|
3602
3636
|
public fieldInitializerList(): FieldInitializerListContext {
|
|
3603
3637
|
let localContext = new FieldInitializerListContext(this.context, this.state);
|
|
3604
|
-
this.enterRule(localContext,
|
|
3638
|
+
this.enterRule(localContext, 142, CNextParser.RULE_fieldInitializerList);
|
|
3605
3639
|
let _la: number;
|
|
3606
3640
|
try {
|
|
3607
3641
|
let alternative: number;
|
|
3608
3642
|
this.enterOuterAlt(localContext, 1);
|
|
3609
3643
|
{
|
|
3610
|
-
this.state =
|
|
3644
|
+
this.state = 804;
|
|
3611
3645
|
this.fieldInitializer();
|
|
3612
|
-
this.state =
|
|
3646
|
+
this.state = 809;
|
|
3613
3647
|
this.errorHandler.sync(this);
|
|
3614
3648
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 80, this.context);
|
|
3615
3649
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3616
3650
|
if (alternative === 1) {
|
|
3617
3651
|
{
|
|
3618
3652
|
{
|
|
3619
|
-
this.state =
|
|
3653
|
+
this.state = 805;
|
|
3620
3654
|
this.match(CNextParser.COMMA);
|
|
3621
|
-
this.state =
|
|
3655
|
+
this.state = 806;
|
|
3622
3656
|
this.fieldInitializer();
|
|
3623
3657
|
}
|
|
3624
3658
|
}
|
|
3625
3659
|
}
|
|
3626
|
-
this.state =
|
|
3660
|
+
this.state = 811;
|
|
3627
3661
|
this.errorHandler.sync(this);
|
|
3628
3662
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 80, this.context);
|
|
3629
3663
|
}
|
|
3630
|
-
this.state =
|
|
3664
|
+
this.state = 813;
|
|
3631
3665
|
this.errorHandler.sync(this);
|
|
3632
3666
|
_la = this.tokenStream.LA(1);
|
|
3633
|
-
if (_la ===
|
|
3667
|
+
if (_la === 104) {
|
|
3634
3668
|
{
|
|
3635
|
-
this.state =
|
|
3669
|
+
this.state = 812;
|
|
3636
3670
|
this.match(CNextParser.COMMA);
|
|
3637
3671
|
}
|
|
3638
3672
|
}
|
|
@@ -3654,15 +3688,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
3654
3688
|
}
|
|
3655
3689
|
public fieldInitializer(): FieldInitializerContext {
|
|
3656
3690
|
let localContext = new FieldInitializerContext(this.context, this.state);
|
|
3657
|
-
this.enterRule(localContext,
|
|
3691
|
+
this.enterRule(localContext, 144, CNextParser.RULE_fieldInitializer);
|
|
3658
3692
|
try {
|
|
3659
3693
|
this.enterOuterAlt(localContext, 1);
|
|
3660
3694
|
{
|
|
3661
|
-
this.state =
|
|
3695
|
+
this.state = 815;
|
|
3662
3696
|
this.match(CNextParser.IDENTIFIER);
|
|
3663
|
-
this.state =
|
|
3697
|
+
this.state = 816;
|
|
3664
3698
|
this.match(CNextParser.COLON);
|
|
3665
|
-
this.state =
|
|
3699
|
+
this.state = 817;
|
|
3666
3700
|
this.expression();
|
|
3667
3701
|
}
|
|
3668
3702
|
}
|
|
@@ -3681,62 +3715,62 @@ export class CNextParser extends antlr.Parser {
|
|
|
3681
3715
|
}
|
|
3682
3716
|
public arrayInitializer(): ArrayInitializerContext {
|
|
3683
3717
|
let localContext = new ArrayInitializerContext(this.context, this.state);
|
|
3684
|
-
this.enterRule(localContext,
|
|
3718
|
+
this.enterRule(localContext, 146, CNextParser.RULE_arrayInitializer);
|
|
3685
3719
|
let _la: number;
|
|
3686
3720
|
try {
|
|
3687
3721
|
let alternative: number;
|
|
3688
|
-
this.state =
|
|
3722
|
+
this.state = 838;
|
|
3689
3723
|
this.errorHandler.sync(this);
|
|
3690
3724
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 84, this.context) ) {
|
|
3691
3725
|
case 1:
|
|
3692
3726
|
this.enterOuterAlt(localContext, 1);
|
|
3693
3727
|
{
|
|
3694
|
-
this.state =
|
|
3728
|
+
this.state = 819;
|
|
3695
3729
|
this.match(CNextParser.LBRACKET);
|
|
3696
|
-
this.state =
|
|
3730
|
+
this.state = 820;
|
|
3697
3731
|
this.arrayInitializerElement();
|
|
3698
|
-
this.state =
|
|
3732
|
+
this.state = 825;
|
|
3699
3733
|
this.errorHandler.sync(this);
|
|
3700
3734
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 82, this.context);
|
|
3701
3735
|
while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
|
|
3702
3736
|
if (alternative === 1) {
|
|
3703
3737
|
{
|
|
3704
3738
|
{
|
|
3705
|
-
this.state =
|
|
3739
|
+
this.state = 821;
|
|
3706
3740
|
this.match(CNextParser.COMMA);
|
|
3707
|
-
this.state =
|
|
3741
|
+
this.state = 822;
|
|
3708
3742
|
this.arrayInitializerElement();
|
|
3709
3743
|
}
|
|
3710
3744
|
}
|
|
3711
3745
|
}
|
|
3712
|
-
this.state =
|
|
3746
|
+
this.state = 827;
|
|
3713
3747
|
this.errorHandler.sync(this);
|
|
3714
3748
|
alternative = this.interpreter.adaptivePredict(this.tokenStream, 82, this.context);
|
|
3715
3749
|
}
|
|
3716
|
-
this.state =
|
|
3750
|
+
this.state = 829;
|
|
3717
3751
|
this.errorHandler.sync(this);
|
|
3718
3752
|
_la = this.tokenStream.LA(1);
|
|
3719
|
-
if (_la ===
|
|
3753
|
+
if (_la === 104) {
|
|
3720
3754
|
{
|
|
3721
|
-
this.state =
|
|
3755
|
+
this.state = 828;
|
|
3722
3756
|
this.match(CNextParser.COMMA);
|
|
3723
3757
|
}
|
|
3724
3758
|
}
|
|
3725
3759
|
|
|
3726
|
-
this.state =
|
|
3760
|
+
this.state = 831;
|
|
3727
3761
|
this.match(CNextParser.RBRACKET);
|
|
3728
3762
|
}
|
|
3729
3763
|
break;
|
|
3730
3764
|
case 2:
|
|
3731
3765
|
this.enterOuterAlt(localContext, 2);
|
|
3732
3766
|
{
|
|
3733
|
-
this.state =
|
|
3767
|
+
this.state = 833;
|
|
3734
3768
|
this.match(CNextParser.LBRACKET);
|
|
3735
|
-
this.state =
|
|
3769
|
+
this.state = 834;
|
|
3736
3770
|
this.expression();
|
|
3737
|
-
this.state =
|
|
3771
|
+
this.state = 835;
|
|
3738
3772
|
this.match(CNextParser.STAR);
|
|
3739
|
-
this.state =
|
|
3773
|
+
this.state = 836;
|
|
3740
3774
|
this.match(CNextParser.RBRACKET);
|
|
3741
3775
|
}
|
|
3742
3776
|
break;
|
|
@@ -3757,29 +3791,29 @@ export class CNextParser extends antlr.Parser {
|
|
|
3757
3791
|
}
|
|
3758
3792
|
public arrayInitializerElement(): ArrayInitializerElementContext {
|
|
3759
3793
|
let localContext = new ArrayInitializerElementContext(this.context, this.state);
|
|
3760
|
-
this.enterRule(localContext,
|
|
3794
|
+
this.enterRule(localContext, 148, CNextParser.RULE_arrayInitializerElement);
|
|
3761
3795
|
try {
|
|
3762
|
-
this.state =
|
|
3796
|
+
this.state = 843;
|
|
3763
3797
|
this.errorHandler.sync(this);
|
|
3764
3798
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 85, this.context) ) {
|
|
3765
3799
|
case 1:
|
|
3766
3800
|
this.enterOuterAlt(localContext, 1);
|
|
3767
3801
|
{
|
|
3768
|
-
this.state =
|
|
3802
|
+
this.state = 840;
|
|
3769
3803
|
this.expression();
|
|
3770
3804
|
}
|
|
3771
3805
|
break;
|
|
3772
3806
|
case 2:
|
|
3773
3807
|
this.enterOuterAlt(localContext, 2);
|
|
3774
3808
|
{
|
|
3775
|
-
this.state =
|
|
3809
|
+
this.state = 841;
|
|
3776
3810
|
this.structInitializer();
|
|
3777
3811
|
}
|
|
3778
3812
|
break;
|
|
3779
3813
|
case 3:
|
|
3780
3814
|
this.enterOuterAlt(localContext, 3);
|
|
3781
3815
|
{
|
|
3782
|
-
this.state =
|
|
3816
|
+
this.state = 842;
|
|
3783
3817
|
this.arrayInitializer();
|
|
3784
3818
|
}
|
|
3785
3819
|
break;
|
|
@@ -3800,26 +3834,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
3800
3834
|
}
|
|
3801
3835
|
public argumentList(): ArgumentListContext {
|
|
3802
3836
|
let localContext = new ArgumentListContext(this.context, this.state);
|
|
3803
|
-
this.enterRule(localContext,
|
|
3837
|
+
this.enterRule(localContext, 150, CNextParser.RULE_argumentList);
|
|
3804
3838
|
let _la: number;
|
|
3805
3839
|
try {
|
|
3806
3840
|
this.enterOuterAlt(localContext, 1);
|
|
3807
3841
|
{
|
|
3808
|
-
this.state =
|
|
3842
|
+
this.state = 845;
|
|
3809
3843
|
this.expression();
|
|
3810
|
-
this.state =
|
|
3844
|
+
this.state = 850;
|
|
3811
3845
|
this.errorHandler.sync(this);
|
|
3812
3846
|
_la = this.tokenStream.LA(1);
|
|
3813
|
-
while (_la ===
|
|
3847
|
+
while (_la === 104) {
|
|
3814
3848
|
{
|
|
3815
3849
|
{
|
|
3816
|
-
this.state =
|
|
3850
|
+
this.state = 846;
|
|
3817
3851
|
this.match(CNextParser.COMMA);
|
|
3818
|
-
this.state =
|
|
3852
|
+
this.state = 847;
|
|
3819
3853
|
this.expression();
|
|
3820
3854
|
}
|
|
3821
3855
|
}
|
|
3822
|
-
this.state =
|
|
3856
|
+
this.state = 852;
|
|
3823
3857
|
this.errorHandler.sync(this);
|
|
3824
3858
|
_la = this.tokenStream.LA(1);
|
|
3825
3859
|
}
|
|
@@ -3840,71 +3874,71 @@ export class CNextParser extends antlr.Parser {
|
|
|
3840
3874
|
}
|
|
3841
3875
|
public type_(): TypeContext {
|
|
3842
3876
|
let localContext = new TypeContext(this.context, this.state);
|
|
3843
|
-
this.enterRule(localContext,
|
|
3877
|
+
this.enterRule(localContext, 152, CNextParser.RULE_type);
|
|
3844
3878
|
try {
|
|
3845
|
-
this.state =
|
|
3879
|
+
this.state = 862;
|
|
3846
3880
|
this.errorHandler.sync(this);
|
|
3847
3881
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 87, this.context) ) {
|
|
3848
3882
|
case 1:
|
|
3849
3883
|
this.enterOuterAlt(localContext, 1);
|
|
3850
3884
|
{
|
|
3851
|
-
this.state =
|
|
3885
|
+
this.state = 853;
|
|
3852
3886
|
this.primitiveType();
|
|
3853
3887
|
}
|
|
3854
3888
|
break;
|
|
3855
3889
|
case 2:
|
|
3856
3890
|
this.enterOuterAlt(localContext, 2);
|
|
3857
3891
|
{
|
|
3858
|
-
this.state =
|
|
3892
|
+
this.state = 854;
|
|
3859
3893
|
this.stringType();
|
|
3860
3894
|
}
|
|
3861
3895
|
break;
|
|
3862
3896
|
case 3:
|
|
3863
3897
|
this.enterOuterAlt(localContext, 3);
|
|
3864
3898
|
{
|
|
3865
|
-
this.state =
|
|
3899
|
+
this.state = 855;
|
|
3866
3900
|
this.scopedType();
|
|
3867
3901
|
}
|
|
3868
3902
|
break;
|
|
3869
3903
|
case 4:
|
|
3870
3904
|
this.enterOuterAlt(localContext, 4);
|
|
3871
3905
|
{
|
|
3872
|
-
this.state =
|
|
3906
|
+
this.state = 856;
|
|
3873
3907
|
this.globalType();
|
|
3874
3908
|
}
|
|
3875
3909
|
break;
|
|
3876
3910
|
case 5:
|
|
3877
3911
|
this.enterOuterAlt(localContext, 5);
|
|
3878
3912
|
{
|
|
3879
|
-
this.state =
|
|
3913
|
+
this.state = 857;
|
|
3880
3914
|
this.qualifiedType();
|
|
3881
3915
|
}
|
|
3882
3916
|
break;
|
|
3883
3917
|
case 6:
|
|
3884
3918
|
this.enterOuterAlt(localContext, 6);
|
|
3885
3919
|
{
|
|
3886
|
-
this.state =
|
|
3920
|
+
this.state = 858;
|
|
3887
3921
|
this.templateType();
|
|
3888
3922
|
}
|
|
3889
3923
|
break;
|
|
3890
3924
|
case 7:
|
|
3891
3925
|
this.enterOuterAlt(localContext, 7);
|
|
3892
3926
|
{
|
|
3893
|
-
this.state =
|
|
3927
|
+
this.state = 859;
|
|
3894
3928
|
this.userType();
|
|
3895
3929
|
}
|
|
3896
3930
|
break;
|
|
3897
3931
|
case 8:
|
|
3898
3932
|
this.enterOuterAlt(localContext, 8);
|
|
3899
3933
|
{
|
|
3900
|
-
this.state =
|
|
3934
|
+
this.state = 860;
|
|
3901
3935
|
this.arrayType();
|
|
3902
3936
|
}
|
|
3903
3937
|
break;
|
|
3904
3938
|
case 9:
|
|
3905
3939
|
this.enterOuterAlt(localContext, 9);
|
|
3906
3940
|
{
|
|
3907
|
-
this.state =
|
|
3941
|
+
this.state = 861;
|
|
3908
3942
|
this.match(CNextParser.VOID);
|
|
3909
3943
|
}
|
|
3910
3944
|
break;
|
|
@@ -3925,15 +3959,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
3925
3959
|
}
|
|
3926
3960
|
public scopedType(): ScopedTypeContext {
|
|
3927
3961
|
let localContext = new ScopedTypeContext(this.context, this.state);
|
|
3928
|
-
this.enterRule(localContext,
|
|
3962
|
+
this.enterRule(localContext, 154, CNextParser.RULE_scopedType);
|
|
3929
3963
|
try {
|
|
3930
3964
|
this.enterOuterAlt(localContext, 1);
|
|
3931
3965
|
{
|
|
3932
|
-
this.state =
|
|
3966
|
+
this.state = 864;
|
|
3933
3967
|
this.match(CNextParser.THIS);
|
|
3934
|
-
this.state =
|
|
3968
|
+
this.state = 865;
|
|
3935
3969
|
this.match(CNextParser.DOT);
|
|
3936
|
-
this.state =
|
|
3970
|
+
this.state = 866;
|
|
3937
3971
|
this.match(CNextParser.IDENTIFIER);
|
|
3938
3972
|
}
|
|
3939
3973
|
}
|
|
@@ -3952,15 +3986,15 @@ export class CNextParser extends antlr.Parser {
|
|
|
3952
3986
|
}
|
|
3953
3987
|
public globalType(): GlobalTypeContext {
|
|
3954
3988
|
let localContext = new GlobalTypeContext(this.context, this.state);
|
|
3955
|
-
this.enterRule(localContext,
|
|
3989
|
+
this.enterRule(localContext, 156, CNextParser.RULE_globalType);
|
|
3956
3990
|
try {
|
|
3957
3991
|
this.enterOuterAlt(localContext, 1);
|
|
3958
3992
|
{
|
|
3959
|
-
this.state =
|
|
3993
|
+
this.state = 868;
|
|
3960
3994
|
this.match(CNextParser.GLOBAL);
|
|
3961
|
-
this.state =
|
|
3995
|
+
this.state = 869;
|
|
3962
3996
|
this.match(CNextParser.DOT);
|
|
3963
|
-
this.state =
|
|
3997
|
+
this.state = 870;
|
|
3964
3998
|
this.match(CNextParser.IDENTIFIER);
|
|
3965
3999
|
}
|
|
3966
4000
|
}
|
|
@@ -3979,29 +4013,29 @@ export class CNextParser extends antlr.Parser {
|
|
|
3979
4013
|
}
|
|
3980
4014
|
public qualifiedType(): QualifiedTypeContext {
|
|
3981
4015
|
let localContext = new QualifiedTypeContext(this.context, this.state);
|
|
3982
|
-
this.enterRule(localContext,
|
|
4016
|
+
this.enterRule(localContext, 158, CNextParser.RULE_qualifiedType);
|
|
3983
4017
|
let _la: number;
|
|
3984
4018
|
try {
|
|
3985
4019
|
this.enterOuterAlt(localContext, 1);
|
|
3986
4020
|
{
|
|
3987
|
-
this.state =
|
|
4021
|
+
this.state = 872;
|
|
3988
4022
|
this.match(CNextParser.IDENTIFIER);
|
|
3989
|
-
this.state =
|
|
4023
|
+
this.state = 875;
|
|
3990
4024
|
this.errorHandler.sync(this);
|
|
3991
4025
|
_la = this.tokenStream.LA(1);
|
|
3992
4026
|
do {
|
|
3993
4027
|
{
|
|
3994
4028
|
{
|
|
3995
|
-
this.state =
|
|
4029
|
+
this.state = 873;
|
|
3996
4030
|
this.match(CNextParser.DOT);
|
|
3997
|
-
this.state =
|
|
4031
|
+
this.state = 874;
|
|
3998
4032
|
this.match(CNextParser.IDENTIFIER);
|
|
3999
4033
|
}
|
|
4000
4034
|
}
|
|
4001
|
-
this.state =
|
|
4035
|
+
this.state = 877;
|
|
4002
4036
|
this.errorHandler.sync(this);
|
|
4003
4037
|
_la = this.tokenStream.LA(1);
|
|
4004
|
-
} while (_la ===
|
|
4038
|
+
} while (_la === 105);
|
|
4005
4039
|
}
|
|
4006
4040
|
}
|
|
4007
4041
|
catch (re) {
|
|
@@ -4019,14 +4053,14 @@ export class CNextParser extends antlr.Parser {
|
|
|
4019
4053
|
}
|
|
4020
4054
|
public primitiveType(): PrimitiveTypeContext {
|
|
4021
4055
|
let localContext = new PrimitiveTypeContext(this.context, this.state);
|
|
4022
|
-
this.enterRule(localContext,
|
|
4056
|
+
this.enterRule(localContext, 160, CNextParser.RULE_primitiveType);
|
|
4023
4057
|
let _la: number;
|
|
4024
4058
|
try {
|
|
4025
4059
|
this.enterOuterAlt(localContext, 1);
|
|
4026
4060
|
{
|
|
4027
|
-
this.state =
|
|
4061
|
+
this.state = 879;
|
|
4028
4062
|
_la = this.tokenStream.LA(1);
|
|
4029
|
-
if(!(((((_la -
|
|
4063
|
+
if(!(((((_la - 54)) & ~0x1F) === 0 && ((1 << (_la - 54)) & 4095) !== 0))) {
|
|
4030
4064
|
this.errorHandler.recoverInline(this);
|
|
4031
4065
|
}
|
|
4032
4066
|
else {
|
|
@@ -4050,11 +4084,11 @@ export class CNextParser extends antlr.Parser {
|
|
|
4050
4084
|
}
|
|
4051
4085
|
public userType(): UserTypeContext {
|
|
4052
4086
|
let localContext = new UserTypeContext(this.context, this.state);
|
|
4053
|
-
this.enterRule(localContext,
|
|
4087
|
+
this.enterRule(localContext, 162, CNextParser.RULE_userType);
|
|
4054
4088
|
try {
|
|
4055
4089
|
this.enterOuterAlt(localContext, 1);
|
|
4056
4090
|
{
|
|
4057
|
-
this.state =
|
|
4091
|
+
this.state = 881;
|
|
4058
4092
|
this.match(CNextParser.IDENTIFIER);
|
|
4059
4093
|
}
|
|
4060
4094
|
}
|
|
@@ -4073,17 +4107,17 @@ export class CNextParser extends antlr.Parser {
|
|
|
4073
4107
|
}
|
|
4074
4108
|
public templateType(): TemplateTypeContext {
|
|
4075
4109
|
let localContext = new TemplateTypeContext(this.context, this.state);
|
|
4076
|
-
this.enterRule(localContext,
|
|
4110
|
+
this.enterRule(localContext, 164, CNextParser.RULE_templateType);
|
|
4077
4111
|
try {
|
|
4078
4112
|
this.enterOuterAlt(localContext, 1);
|
|
4079
4113
|
{
|
|
4080
|
-
this.state =
|
|
4114
|
+
this.state = 883;
|
|
4081
4115
|
this.match(CNextParser.IDENTIFIER);
|
|
4082
|
-
this.state =
|
|
4116
|
+
this.state = 884;
|
|
4083
4117
|
this.match(CNextParser.LT);
|
|
4084
|
-
this.state =
|
|
4118
|
+
this.state = 885;
|
|
4085
4119
|
this.templateArgumentList();
|
|
4086
|
-
this.state =
|
|
4120
|
+
this.state = 886;
|
|
4087
4121
|
this.match(CNextParser.GT);
|
|
4088
4122
|
}
|
|
4089
4123
|
}
|
|
@@ -4102,26 +4136,26 @@ export class CNextParser extends antlr.Parser {
|
|
|
4102
4136
|
}
|
|
4103
4137
|
public templateArgumentList(): TemplateArgumentListContext {
|
|
4104
4138
|
let localContext = new TemplateArgumentListContext(this.context, this.state);
|
|
4105
|
-
this.enterRule(localContext,
|
|
4139
|
+
this.enterRule(localContext, 166, CNextParser.RULE_templateArgumentList);
|
|
4106
4140
|
let _la: number;
|
|
4107
4141
|
try {
|
|
4108
4142
|
this.enterOuterAlt(localContext, 1);
|
|
4109
4143
|
{
|
|
4110
|
-
this.state =
|
|
4144
|
+
this.state = 888;
|
|
4111
4145
|
this.templateArgument();
|
|
4112
|
-
this.state =
|
|
4146
|
+
this.state = 893;
|
|
4113
4147
|
this.errorHandler.sync(this);
|
|
4114
4148
|
_la = this.tokenStream.LA(1);
|
|
4115
|
-
while (_la ===
|
|
4149
|
+
while (_la === 104) {
|
|
4116
4150
|
{
|
|
4117
4151
|
{
|
|
4118
|
-
this.state =
|
|
4152
|
+
this.state = 889;
|
|
4119
4153
|
this.match(CNextParser.COMMA);
|
|
4120
|
-
this.state =
|
|
4154
|
+
this.state = 890;
|
|
4121
4155
|
this.templateArgument();
|
|
4122
4156
|
}
|
|
4123
4157
|
}
|
|
4124
|
-
this.state =
|
|
4158
|
+
this.state = 895;
|
|
4125
4159
|
this.errorHandler.sync(this);
|
|
4126
4160
|
_la = this.tokenStream.LA(1);
|
|
4127
4161
|
}
|
|
@@ -4142,36 +4176,36 @@ export class CNextParser extends antlr.Parser {
|
|
|
4142
4176
|
}
|
|
4143
4177
|
public templateArgument(): TemplateArgumentContext {
|
|
4144
4178
|
let localContext = new TemplateArgumentContext(this.context, this.state);
|
|
4145
|
-
this.enterRule(localContext,
|
|
4179
|
+
this.enterRule(localContext, 168, CNextParser.RULE_templateArgument);
|
|
4146
4180
|
try {
|
|
4147
|
-
this.state =
|
|
4181
|
+
this.state = 900;
|
|
4148
4182
|
this.errorHandler.sync(this);
|
|
4149
4183
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 90, this.context) ) {
|
|
4150
4184
|
case 1:
|
|
4151
4185
|
this.enterOuterAlt(localContext, 1);
|
|
4152
4186
|
{
|
|
4153
|
-
this.state =
|
|
4187
|
+
this.state = 896;
|
|
4154
4188
|
this.templateType();
|
|
4155
4189
|
}
|
|
4156
4190
|
break;
|
|
4157
4191
|
case 2:
|
|
4158
4192
|
this.enterOuterAlt(localContext, 2);
|
|
4159
4193
|
{
|
|
4160
|
-
this.state =
|
|
4194
|
+
this.state = 897;
|
|
4161
4195
|
this.primitiveType();
|
|
4162
4196
|
}
|
|
4163
4197
|
break;
|
|
4164
4198
|
case 3:
|
|
4165
4199
|
this.enterOuterAlt(localContext, 3);
|
|
4166
4200
|
{
|
|
4167
|
-
this.state =
|
|
4201
|
+
this.state = 898;
|
|
4168
4202
|
this.match(CNextParser.IDENTIFIER);
|
|
4169
4203
|
}
|
|
4170
4204
|
break;
|
|
4171
4205
|
case 4:
|
|
4172
4206
|
this.enterOuterAlt(localContext, 4);
|
|
4173
4207
|
{
|
|
4174
|
-
this.state =
|
|
4208
|
+
this.state = 899;
|
|
4175
4209
|
this.match(CNextParser.INTEGER_LITERAL);
|
|
4176
4210
|
}
|
|
4177
4211
|
break;
|
|
@@ -4192,28 +4226,28 @@ export class CNextParser extends antlr.Parser {
|
|
|
4192
4226
|
}
|
|
4193
4227
|
public stringType(): StringTypeContext {
|
|
4194
4228
|
let localContext = new StringTypeContext(this.context, this.state);
|
|
4195
|
-
this.enterRule(localContext,
|
|
4229
|
+
this.enterRule(localContext, 170, CNextParser.RULE_stringType);
|
|
4196
4230
|
try {
|
|
4197
|
-
this.state =
|
|
4231
|
+
this.state = 907;
|
|
4198
4232
|
this.errorHandler.sync(this);
|
|
4199
4233
|
switch (this.interpreter.adaptivePredict(this.tokenStream, 91, this.context) ) {
|
|
4200
4234
|
case 1:
|
|
4201
4235
|
this.enterOuterAlt(localContext, 1);
|
|
4202
4236
|
{
|
|
4203
|
-
this.state =
|
|
4237
|
+
this.state = 902;
|
|
4204
4238
|
this.match(CNextParser.STRING);
|
|
4205
|
-
this.state =
|
|
4239
|
+
this.state = 903;
|
|
4206
4240
|
this.match(CNextParser.LT);
|
|
4207
|
-
this.state =
|
|
4241
|
+
this.state = 904;
|
|
4208
4242
|
this.match(CNextParser.INTEGER_LITERAL);
|
|
4209
|
-
this.state =
|
|
4243
|
+
this.state = 905;
|
|
4210
4244
|
this.match(CNextParser.GT);
|
|
4211
4245
|
}
|
|
4212
4246
|
break;
|
|
4213
4247
|
case 2:
|
|
4214
4248
|
this.enterOuterAlt(localContext, 2);
|
|
4215
4249
|
{
|
|
4216
|
-
this.state =
|
|
4250
|
+
this.state = 906;
|
|
4217
4251
|
this.match(CNextParser.STRING);
|
|
4218
4252
|
}
|
|
4219
4253
|
break;
|
|
@@ -4234,88 +4268,138 @@ export class CNextParser extends antlr.Parser {
|
|
|
4234
4268
|
}
|
|
4235
4269
|
public arrayType(): ArrayTypeContext {
|
|
4236
4270
|
let localContext = new ArrayTypeContext(this.context, this.state);
|
|
4237
|
-
this.enterRule(localContext,
|
|
4271
|
+
this.enterRule(localContext, 172, CNextParser.RULE_arrayType);
|
|
4238
4272
|
let _la: number;
|
|
4239
4273
|
try {
|
|
4240
|
-
this.state =
|
|
4274
|
+
this.state = 945;
|
|
4241
4275
|
this.errorHandler.sync(this);
|
|
4242
|
-
switch (this.tokenStream.
|
|
4243
|
-
case
|
|
4244
|
-
case CNextParser.U16:
|
|
4245
|
-
case CNextParser.U32:
|
|
4246
|
-
case CNextParser.U64:
|
|
4247
|
-
case CNextParser.I8:
|
|
4248
|
-
case CNextParser.I16:
|
|
4249
|
-
case CNextParser.I32:
|
|
4250
|
-
case CNextParser.I64:
|
|
4251
|
-
case CNextParser.F32:
|
|
4252
|
-
case CNextParser.F64:
|
|
4253
|
-
case CNextParser.BOOL:
|
|
4254
|
-
case CNextParser.ISR_TYPE:
|
|
4276
|
+
switch (this.interpreter.adaptivePredict(this.tokenStream, 98, this.context) ) {
|
|
4277
|
+
case 1:
|
|
4255
4278
|
this.enterOuterAlt(localContext, 1);
|
|
4256
4279
|
{
|
|
4257
|
-
this.state =
|
|
4280
|
+
this.state = 909;
|
|
4258
4281
|
this.primitiveType();
|
|
4259
|
-
this.state =
|
|
4282
|
+
this.state = 911;
|
|
4260
4283
|
this.errorHandler.sync(this);
|
|
4261
4284
|
_la = this.tokenStream.LA(1);
|
|
4262
4285
|
do {
|
|
4263
4286
|
{
|
|
4264
4287
|
{
|
|
4265
|
-
this.state =
|
|
4288
|
+
this.state = 910;
|
|
4266
4289
|
this.arrayTypeDimension();
|
|
4267
4290
|
}
|
|
4268
4291
|
}
|
|
4269
|
-
this.state =
|
|
4292
|
+
this.state = 913;
|
|
4270
4293
|
this.errorHandler.sync(this);
|
|
4271
4294
|
_la = this.tokenStream.LA(1);
|
|
4272
|
-
} while (_la ===
|
|
4295
|
+
} while (_la === 101);
|
|
4273
4296
|
}
|
|
4274
4297
|
break;
|
|
4275
|
-
case
|
|
4298
|
+
case 2:
|
|
4276
4299
|
this.enterOuterAlt(localContext, 2);
|
|
4277
4300
|
{
|
|
4278
|
-
this.state =
|
|
4301
|
+
this.state = 915;
|
|
4279
4302
|
this.userType();
|
|
4280
|
-
this.state =
|
|
4303
|
+
this.state = 917;
|
|
4281
4304
|
this.errorHandler.sync(this);
|
|
4282
4305
|
_la = this.tokenStream.LA(1);
|
|
4283
4306
|
do {
|
|
4284
4307
|
{
|
|
4285
4308
|
{
|
|
4286
|
-
this.state =
|
|
4309
|
+
this.state = 916;
|
|
4287
4310
|
this.arrayTypeDimension();
|
|
4288
4311
|
}
|
|
4289
4312
|
}
|
|
4290
|
-
this.state =
|
|
4313
|
+
this.state = 919;
|
|
4291
4314
|
this.errorHandler.sync(this);
|
|
4292
4315
|
_la = this.tokenStream.LA(1);
|
|
4293
|
-
} while (_la ===
|
|
4316
|
+
} while (_la === 101);
|
|
4294
4317
|
}
|
|
4295
4318
|
break;
|
|
4296
|
-
case
|
|
4319
|
+
case 3:
|
|
4297
4320
|
this.enterOuterAlt(localContext, 3);
|
|
4298
4321
|
{
|
|
4299
|
-
this.state =
|
|
4322
|
+
this.state = 921;
|
|
4300
4323
|
this.stringType();
|
|
4301
|
-
this.state =
|
|
4324
|
+
this.state = 923;
|
|
4302
4325
|
this.errorHandler.sync(this);
|
|
4303
4326
|
_la = this.tokenStream.LA(1);
|
|
4304
4327
|
do {
|
|
4305
4328
|
{
|
|
4306
4329
|
{
|
|
4307
|
-
this.state =
|
|
4330
|
+
this.state = 922;
|
|
4308
4331
|
this.arrayTypeDimension();
|
|
4309
4332
|
}
|
|
4310
4333
|
}
|
|
4311
|
-
this.state =
|
|
4334
|
+
this.state = 925;
|
|
4312
4335
|
this.errorHandler.sync(this);
|
|
4313
4336
|
_la = this.tokenStream.LA(1);
|
|
4314
|
-
} while (_la ===
|
|
4337
|
+
} while (_la === 101);
|
|
4338
|
+
}
|
|
4339
|
+
break;
|
|
4340
|
+
case 4:
|
|
4341
|
+
this.enterOuterAlt(localContext, 4);
|
|
4342
|
+
{
|
|
4343
|
+
this.state = 927;
|
|
4344
|
+
this.scopedType();
|
|
4345
|
+
this.state = 929;
|
|
4346
|
+
this.errorHandler.sync(this);
|
|
4347
|
+
_la = this.tokenStream.LA(1);
|
|
4348
|
+
do {
|
|
4349
|
+
{
|
|
4350
|
+
{
|
|
4351
|
+
this.state = 928;
|
|
4352
|
+
this.arrayTypeDimension();
|
|
4353
|
+
}
|
|
4354
|
+
}
|
|
4355
|
+
this.state = 931;
|
|
4356
|
+
this.errorHandler.sync(this);
|
|
4357
|
+
_la = this.tokenStream.LA(1);
|
|
4358
|
+
} while (_la === 101);
|
|
4359
|
+
}
|
|
4360
|
+
break;
|
|
4361
|
+
case 5:
|
|
4362
|
+
this.enterOuterAlt(localContext, 5);
|
|
4363
|
+
{
|
|
4364
|
+
this.state = 933;
|
|
4365
|
+
this.qualifiedType();
|
|
4366
|
+
this.state = 935;
|
|
4367
|
+
this.errorHandler.sync(this);
|
|
4368
|
+
_la = this.tokenStream.LA(1);
|
|
4369
|
+
do {
|
|
4370
|
+
{
|
|
4371
|
+
{
|
|
4372
|
+
this.state = 934;
|
|
4373
|
+
this.arrayTypeDimension();
|
|
4374
|
+
}
|
|
4375
|
+
}
|
|
4376
|
+
this.state = 937;
|
|
4377
|
+
this.errorHandler.sync(this);
|
|
4378
|
+
_la = this.tokenStream.LA(1);
|
|
4379
|
+
} while (_la === 101);
|
|
4380
|
+
}
|
|
4381
|
+
break;
|
|
4382
|
+
case 6:
|
|
4383
|
+
this.enterOuterAlt(localContext, 6);
|
|
4384
|
+
{
|
|
4385
|
+
this.state = 939;
|
|
4386
|
+
this.globalType();
|
|
4387
|
+
this.state = 941;
|
|
4388
|
+
this.errorHandler.sync(this);
|
|
4389
|
+
_la = this.tokenStream.LA(1);
|
|
4390
|
+
do {
|
|
4391
|
+
{
|
|
4392
|
+
{
|
|
4393
|
+
this.state = 940;
|
|
4394
|
+
this.arrayTypeDimension();
|
|
4395
|
+
}
|
|
4396
|
+
}
|
|
4397
|
+
this.state = 943;
|
|
4398
|
+
this.errorHandler.sync(this);
|
|
4399
|
+
_la = this.tokenStream.LA(1);
|
|
4400
|
+
} while (_la === 101);
|
|
4315
4401
|
}
|
|
4316
4402
|
break;
|
|
4317
|
-
default:
|
|
4318
|
-
throw new antlr.NoViableAltException(this);
|
|
4319
4403
|
}
|
|
4320
4404
|
}
|
|
4321
4405
|
catch (re) {
|
|
@@ -4333,24 +4417,24 @@ export class CNextParser extends antlr.Parser {
|
|
|
4333
4417
|
}
|
|
4334
4418
|
public arrayTypeDimension(): ArrayTypeDimensionContext {
|
|
4335
4419
|
let localContext = new ArrayTypeDimensionContext(this.context, this.state);
|
|
4336
|
-
this.enterRule(localContext,
|
|
4420
|
+
this.enterRule(localContext, 174, CNextParser.RULE_arrayTypeDimension);
|
|
4337
4421
|
let _la: number;
|
|
4338
4422
|
try {
|
|
4339
4423
|
this.enterOuterAlt(localContext, 1);
|
|
4340
4424
|
{
|
|
4341
|
-
this.state =
|
|
4425
|
+
this.state = 947;
|
|
4342
4426
|
this.match(CNextParser.LBRACKET);
|
|
4343
|
-
this.state =
|
|
4427
|
+
this.state = 949;
|
|
4344
4428
|
this.errorHandler.sync(this);
|
|
4345
4429
|
_la = this.tokenStream.LA(1);
|
|
4346
|
-
if (
|
|
4430
|
+
if (_la === 14 || _la === 15 || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932183) !== 0) || ((((_la - 84)) & ~0x1F) === 0 && ((1 << (_la - 84)) & 2130879681) !== 0)) {
|
|
4347
4431
|
{
|
|
4348
|
-
this.state =
|
|
4432
|
+
this.state = 948;
|
|
4349
4433
|
this.expression();
|
|
4350
4434
|
}
|
|
4351
4435
|
}
|
|
4352
4436
|
|
|
4353
|
-
this.state =
|
|
4437
|
+
this.state = 951;
|
|
4354
4438
|
this.match(CNextParser.RBRACKET);
|
|
4355
4439
|
}
|
|
4356
4440
|
}
|
|
@@ -4369,14 +4453,14 @@ export class CNextParser extends antlr.Parser {
|
|
|
4369
4453
|
}
|
|
4370
4454
|
public literal(): LiteralContext {
|
|
4371
4455
|
let localContext = new LiteralContext(this.context, this.state);
|
|
4372
|
-
this.enterRule(localContext,
|
|
4456
|
+
this.enterRule(localContext, 176, CNextParser.RULE_literal);
|
|
4373
4457
|
let _la: number;
|
|
4374
4458
|
try {
|
|
4375
4459
|
this.enterOuterAlt(localContext, 1);
|
|
4376
4460
|
{
|
|
4377
|
-
this.state =
|
|
4461
|
+
this.state = 953;
|
|
4378
4462
|
_la = this.tokenStream.LA(1);
|
|
4379
|
-
if(!(((((_la -
|
|
4463
|
+
if(!(((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 3932167) !== 0) || ((((_la - 108)) & ~0x1F) === 0 && ((1 << (_la - 108)) & 63) !== 0))) {
|
|
4380
4464
|
this.errorHandler.recoverInline(this);
|
|
4381
4465
|
}
|
|
4382
4466
|
else {
|
|
@@ -4400,7 +4484,7 @@ export class CNextParser extends antlr.Parser {
|
|
|
4400
4484
|
}
|
|
4401
4485
|
|
|
4402
4486
|
public static readonly _serializedATN: number[] = [
|
|
4403
|
-
4,1,
|
|
4487
|
+
4,1,118,956,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,
|
|
4404
4488
|
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,
|
|
4405
4489
|
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,
|
|
4406
4490
|
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,
|
|
@@ -4413,340 +4497,351 @@ export class CNextParser extends antlr.Parser {
|
|
|
4413
4497
|
65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,
|
|
4414
4498
|
72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,
|
|
4415
4499
|
78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,
|
|
4416
|
-
85,7,85,2,86,7,86,2,87,7,87,1,0,1,0,5,0,
|
|
4417
|
-
0,1,0,5,0,
|
|
4418
|
-
3,2,
|
|
4419
|
-
3,6,
|
|
4420
|
-
7,1,8,3,8,
|
|
4421
|
-
8,3,8,
|
|
4422
|
-
8,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,5,10,
|
|
4423
|
-
10,
|
|
4424
|
-
8,11,1,12,1,12,1,13,1,13,1,13,1,13,5,13,
|
|
4425
|
-
9,13,1,13,1,13,1,14,1,14,1,14,5,14,
|
|
4426
|
-
1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,5,15,
|
|
4427
|
-
|
|
4428
|
-
16,1,17,1,17,1,17,1,17,1,17,1,17,5,17,
|
|
4429
|
-
17,1,17,3,17,
|
|
4430
|
-
19,
|
|
4431
|
-
1,21,1,21,5,21,
|
|
4432
|
-
1,22,1,22,1,22,5,22,
|
|
4433
|
-
1,24,1,25,1,25,1,26,1,26,1,27,1,27,3,27,
|
|
4434
|
-
3,28,
|
|
4435
|
-
8,28,1,28,1,28,1,28,5,28,
|
|
4436
|
-
3,28,
|
|
4437
|
-
|
|
4438
|
-
1,30,5,30,
|
|
4439
|
-
1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,
|
|
4440
|
-
1,32,1,
|
|
4441
|
-
|
|
4442
|
-
10,35,12,35,
|
|
4443
|
-
|
|
4444
|
-
1,36,1,36,3,36,
|
|
4445
|
-
1,38,1,38,3,38,
|
|
4446
|
-
1,40,1,40,1,40,1,40,1,40,1,40,1,
|
|
4447
|
-
1,41,3,41,
|
|
4448
|
-
42,
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
1,49,
|
|
4455
|
-
|
|
4456
|
-
1,
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
57,
|
|
4461
|
-
58,
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
1,67,
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
1,
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
77,1,
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
1,0,0,0,
|
|
4494
|
-
0,0,
|
|
4495
|
-
|
|
4496
|
-
1,0,0,0,
|
|
4497
|
-
0,0,
|
|
4498
|
-
|
|
4499
|
-
1,0,0,0,
|
|
4500
|
-
0,0,
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
0,
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
1,0,0,0,
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
1,0,0,0,
|
|
4533
|
-
1,0,0,0,
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
1,0,0,0,
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
1,0,0,0,
|
|
4552
|
-
|
|
4553
|
-
1,0,0,0,
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
0,
|
|
4557
|
-
0,0,
|
|
4558
|
-
0,0,
|
|
4559
|
-
0,0,
|
|
4560
|
-
0,0,
|
|
4561
|
-
1,0,0,0,
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
0,0,
|
|
4569
|
-
0,0,0,
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
0,0,
|
|
4574
|
-
|
|
4575
|
-
1,0,0,0,
|
|
4576
|
-
1,0,0,0,
|
|
4577
|
-
1,0,0,0,
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
1,0,0,0,
|
|
4587
|
-
|
|
4588
|
-
1,0,0,0,
|
|
4589
|
-
1,0,0,0,
|
|
4590
|
-
|
|
4591
|
-
0,
|
|
4592
|
-
3,
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
0,0,0,
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
0,
|
|
4601
|
-
0,
|
|
4602
|
-
0,0,0,
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
1,0,0,0,
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
0,
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
0,0,
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
0,
|
|
4623
|
-
0,0,0,
|
|
4624
|
-
0,0,0,
|
|
4625
|
-
1,0,0,0,
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
0,
|
|
4632
|
-
1,0,0,0,
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
0,
|
|
4636
|
-
0,0,
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
0,0,0,
|
|
4649
|
-
1,0,0,0,
|
|
4650
|
-
|
|
4651
|
-
0,
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
0,
|
|
4657
|
-
0,
|
|
4658
|
-
0,0,
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
0,
|
|
4664
|
-
0,
|
|
4665
|
-
0,0,
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
0,
|
|
4671
|
-
0,
|
|
4672
|
-
0,0,
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
0,
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
0,
|
|
4697
|
-
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
0,0,
|
|
4703
|
-
0,0,0,
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
0,0,
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
0,0,
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
0,
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
0,
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
0,0,
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
1,0,0,0,
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
0,
|
|
4737
|
-
|
|
4738
|
-
|
|
4739
|
-
3,
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
|
|
4500
|
+
85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,1,0,1,0,5,0,181,8,0,10,0,12,
|
|
4501
|
+
0,184,9,0,1,0,5,0,187,8,0,10,0,12,0,190,9,0,1,0,1,0,1,1,1,1,1,2,
|
|
4502
|
+
1,2,1,2,3,2,199,8,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,6,1,6,1,6,
|
|
4503
|
+
1,6,1,6,3,6,214,8,6,1,7,1,7,1,7,1,7,5,7,220,8,7,10,7,12,7,223,9,
|
|
4504
|
+
7,1,7,1,7,1,8,3,8,228,8,8,1,8,1,8,3,8,232,8,8,1,8,1,8,3,8,236,8,
|
|
4505
|
+
8,1,8,1,8,3,8,240,8,8,1,8,1,8,3,8,244,8,8,1,8,1,8,3,8,248,8,8,1,
|
|
4506
|
+
8,3,8,251,8,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,5,10,261,8,10,
|
|
4507
|
+
10,10,12,10,264,9,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,
|
|
4508
|
+
3,11,275,8,11,1,12,1,12,1,13,1,13,1,13,1,13,5,13,283,8,13,10,13,
|
|
4509
|
+
12,13,286,9,13,1,13,1,13,1,14,1,14,1,14,5,14,293,8,14,10,14,12,14,
|
|
4510
|
+
296,9,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,5,15,306,8,15,10,
|
|
4511
|
+
15,12,15,309,9,15,1,15,3,15,312,8,15,1,15,1,15,1,16,1,16,1,16,3,
|
|
4512
|
+
16,319,8,16,1,17,1,17,1,17,1,17,1,17,1,17,5,17,327,8,17,10,17,12,
|
|
4513
|
+
17,330,9,17,1,17,3,17,333,8,17,1,17,1,17,1,18,1,18,1,19,1,19,1,19,
|
|
4514
|
+
1,19,3,19,343,8,19,1,20,1,20,1,20,1,20,3,20,349,8,20,1,20,1,20,1,
|
|
4515
|
+
20,1,21,1,21,1,21,5,21,357,8,21,10,21,12,21,360,9,21,1,22,3,22,363,
|
|
4516
|
+
8,22,1,22,1,22,1,22,5,22,368,8,22,10,22,12,22,371,9,22,1,23,1,23,
|
|
4517
|
+
1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,3,27,383,8,27,1,27,1,27,
|
|
4518
|
+
1,28,3,28,388,8,28,1,28,3,28,391,8,28,1,28,3,28,394,8,28,1,28,3,
|
|
4519
|
+
28,397,8,28,1,28,1,28,1,28,5,28,402,8,28,10,28,12,28,405,9,28,1,
|
|
4520
|
+
28,1,28,3,28,409,8,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,
|
|
4521
|
+
28,3,28,420,8,28,1,29,1,29,1,29,5,29,425,8,29,10,29,12,29,428,9,
|
|
4522
|
+
29,1,30,1,30,5,30,432,8,30,10,30,12,30,435,9,30,1,30,1,30,1,31,1,
|
|
4523
|
+
31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,3,31,451,8,
|
|
4524
|
+
31,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,35,1,35,1,
|
|
4525
|
+
35,1,35,5,35,467,8,35,10,35,12,35,470,9,35,1,35,1,35,1,35,1,35,5,
|
|
4526
|
+
35,476,8,35,10,35,12,35,479,9,35,1,35,1,35,5,35,483,8,35,10,35,12,
|
|
4527
|
+
35,486,9,35,3,35,488,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,
|
|
4528
|
+
1,36,1,36,1,36,1,36,3,36,502,8,36,1,37,1,37,1,37,1,38,1,38,1,38,
|
|
4529
|
+
1,38,1,38,1,38,1,38,3,38,514,8,38,1,39,1,39,1,39,1,39,1,39,1,39,
|
|
4530
|
+
1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,3,41,533,
|
|
4531
|
+
8,41,1,41,1,41,3,41,537,8,41,1,41,1,41,3,41,541,8,41,1,41,1,41,1,
|
|
4532
|
+
41,1,42,1,42,1,42,1,43,1,43,3,43,551,8,43,1,44,3,44,554,8,44,1,44,
|
|
4533
|
+
3,44,557,8,44,1,44,3,44,560,8,44,1,44,1,44,1,44,5,44,565,8,44,10,
|
|
4534
|
+
44,12,44,568,9,44,1,44,1,44,3,44,572,8,44,1,45,1,45,1,45,1,45,1,
|
|
4535
|
+
46,1,46,1,46,1,46,1,47,1,47,3,47,584,8,47,1,47,1,47,1,48,1,48,1,
|
|
4536
|
+
48,1,48,1,48,1,48,4,48,594,8,48,11,48,12,48,595,1,48,3,48,599,8,
|
|
4537
|
+
48,1,48,1,48,1,49,1,49,1,49,1,49,5,49,607,8,49,10,49,12,49,610,9,
|
|
4538
|
+
49,1,49,1,49,1,50,1,50,1,50,3,50,617,8,50,1,50,1,50,3,50,621,8,50,
|
|
4539
|
+
1,50,1,50,1,50,3,50,626,8,50,1,51,1,51,1,51,1,51,3,51,632,8,51,1,
|
|
4540
|
+
51,1,51,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,
|
|
4541
|
+
53,647,8,53,1,54,1,54,1,54,5,54,652,8,54,10,54,12,54,655,9,54,1,
|
|
4542
|
+
55,1,55,1,55,5,55,660,8,55,10,55,12,55,663,9,55,1,56,1,56,1,56,5,
|
|
4543
|
+
56,668,8,56,10,56,12,56,671,9,56,1,57,1,57,1,57,5,57,676,8,57,10,
|
|
4544
|
+
57,12,57,679,9,57,1,58,1,58,1,58,5,58,684,8,58,10,58,12,58,687,9,
|
|
4545
|
+
58,1,59,1,59,1,59,5,59,692,8,59,10,59,12,59,695,9,59,1,60,1,60,1,
|
|
4546
|
+
60,5,60,700,8,60,10,60,12,60,703,9,60,1,61,1,61,1,61,5,61,708,8,
|
|
4547
|
+
61,10,61,12,61,711,9,61,1,62,1,62,1,62,5,62,716,8,62,10,62,12,62,
|
|
4548
|
+
719,9,62,1,63,1,63,1,63,5,63,724,8,63,10,63,12,63,727,9,63,1,64,
|
|
4549
|
+
1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,3,64,738,8,64,1,65,1,65,
|
|
4550
|
+
5,65,742,8,65,10,65,12,65,745,9,65,1,66,1,66,1,66,1,66,1,66,1,66,
|
|
4551
|
+
1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,3,66,761,8,66,1,66,3,66,
|
|
4552
|
+
764,8,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,
|
|
4553
|
+
1,67,3,67,778,8,67,1,68,1,68,1,68,1,68,3,68,784,8,68,1,68,1,68,1,
|
|
4554
|
+
69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,3,70,796,8,70,1,70,1,70,1,
|
|
4555
|
+
70,1,70,1,70,3,70,803,8,70,1,71,1,71,1,71,5,71,808,8,71,10,71,12,
|
|
4556
|
+
71,811,9,71,1,71,3,71,814,8,71,1,72,1,72,1,72,1,72,1,73,1,73,1,73,
|
|
4557
|
+
1,73,5,73,824,8,73,10,73,12,73,827,9,73,1,73,3,73,830,8,73,1,73,
|
|
4558
|
+
1,73,1,73,1,73,1,73,1,73,1,73,3,73,839,8,73,1,74,1,74,1,74,3,74,
|
|
4559
|
+
844,8,74,1,75,1,75,1,75,5,75,849,8,75,10,75,12,75,852,9,75,1,76,
|
|
4560
|
+
1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,3,76,863,8,76,1,77,1,77,
|
|
4561
|
+
1,77,1,77,1,78,1,78,1,78,1,78,1,79,1,79,1,79,4,79,876,8,79,11,79,
|
|
4562
|
+
12,79,877,1,80,1,80,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,
|
|
4563
|
+
1,83,5,83,892,8,83,10,83,12,83,895,9,83,1,84,1,84,1,84,1,84,3,84,
|
|
4564
|
+
901,8,84,1,85,1,85,1,85,1,85,1,85,3,85,908,8,85,1,86,1,86,4,86,912,
|
|
4565
|
+
8,86,11,86,12,86,913,1,86,1,86,4,86,918,8,86,11,86,12,86,919,1,86,
|
|
4566
|
+
1,86,4,86,924,8,86,11,86,12,86,925,1,86,1,86,4,86,930,8,86,11,86,
|
|
4567
|
+
12,86,931,1,86,1,86,4,86,936,8,86,11,86,12,86,937,1,86,1,86,4,86,
|
|
4568
|
+
942,8,86,11,86,12,86,943,3,86,946,8,86,1,87,1,87,3,87,950,8,87,1,
|
|
4569
|
+
87,1,87,1,88,1,88,1,88,0,0,89,0,2,4,6,8,10,12,14,16,18,20,22,24,
|
|
4570
|
+
26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,
|
|
4571
|
+
70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,
|
|
4572
|
+
110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,
|
|
4573
|
+
142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,
|
|
4574
|
+
174,176,0,14,1,0,3,5,1,0,6,9,1,0,17,18,1,0,41,45,1,0,37,40,1,0,46,
|
|
4575
|
+
47,1,0,66,76,1,0,77,78,1,0,79,82,1,0,95,96,1,0,83,84,1,0,85,87,1,
|
|
4576
|
+
0,54,65,3,0,32,34,50,53,108,113,1018,0,182,1,0,0,0,2,193,1,0,0,0,
|
|
4577
|
+
4,198,1,0,0,0,6,200,1,0,0,0,8,202,1,0,0,0,10,204,1,0,0,0,12,213,
|
|
4578
|
+
1,0,0,0,14,215,1,0,0,0,16,250,1,0,0,0,18,252,1,0,0,0,20,254,1,0,
|
|
4579
|
+
0,0,22,267,1,0,0,0,24,276,1,0,0,0,26,278,1,0,0,0,28,289,1,0,0,0,
|
|
4580
|
+
30,299,1,0,0,0,32,315,1,0,0,0,34,320,1,0,0,0,36,336,1,0,0,0,38,338,
|
|
4581
|
+
1,0,0,0,40,344,1,0,0,0,42,353,1,0,0,0,44,362,1,0,0,0,46,372,1,0,
|
|
4582
|
+
0,0,48,374,1,0,0,0,50,376,1,0,0,0,52,378,1,0,0,0,54,380,1,0,0,0,
|
|
4583
|
+
56,419,1,0,0,0,58,421,1,0,0,0,60,429,1,0,0,0,62,450,1,0,0,0,64,452,
|
|
4584
|
+
1,0,0,0,66,455,1,0,0,0,68,460,1,0,0,0,70,487,1,0,0,0,72,501,1,0,
|
|
4585
|
+
0,0,74,503,1,0,0,0,76,506,1,0,0,0,78,515,1,0,0,0,80,521,1,0,0,0,
|
|
4586
|
+
82,529,1,0,0,0,84,545,1,0,0,0,86,550,1,0,0,0,88,553,1,0,0,0,90,573,
|
|
4587
|
+
1,0,0,0,92,577,1,0,0,0,94,581,1,0,0,0,96,587,1,0,0,0,98,602,1,0,
|
|
4588
|
+
0,0,100,625,1,0,0,0,102,627,1,0,0,0,104,635,1,0,0,0,106,646,1,0,
|
|
4589
|
+
0,0,108,648,1,0,0,0,110,656,1,0,0,0,112,664,1,0,0,0,114,672,1,0,
|
|
4590
|
+
0,0,116,680,1,0,0,0,118,688,1,0,0,0,120,696,1,0,0,0,122,704,1,0,
|
|
4591
|
+
0,0,124,712,1,0,0,0,126,720,1,0,0,0,128,737,1,0,0,0,130,739,1,0,
|
|
4592
|
+
0,0,132,763,1,0,0,0,134,777,1,0,0,0,136,779,1,0,0,0,138,787,1,0,
|
|
4593
|
+
0,0,140,802,1,0,0,0,142,804,1,0,0,0,144,815,1,0,0,0,146,838,1,0,
|
|
4594
|
+
0,0,148,843,1,0,0,0,150,845,1,0,0,0,152,862,1,0,0,0,154,864,1,0,
|
|
4595
|
+
0,0,156,868,1,0,0,0,158,872,1,0,0,0,160,879,1,0,0,0,162,881,1,0,
|
|
4596
|
+
0,0,164,883,1,0,0,0,166,888,1,0,0,0,168,900,1,0,0,0,170,907,1,0,
|
|
4597
|
+
0,0,172,945,1,0,0,0,174,947,1,0,0,0,176,953,1,0,0,0,178,181,3,2,
|
|
4598
|
+
1,0,179,181,3,4,2,0,180,178,1,0,0,0,180,179,1,0,0,0,181,184,1,0,
|
|
4599
|
+
0,0,182,180,1,0,0,0,182,183,1,0,0,0,183,188,1,0,0,0,184,182,1,0,
|
|
4600
|
+
0,0,185,187,3,12,6,0,186,185,1,0,0,0,187,190,1,0,0,0,188,186,1,0,
|
|
4601
|
+
0,0,188,189,1,0,0,0,189,191,1,0,0,0,190,188,1,0,0,0,191,192,5,0,
|
|
4602
|
+
0,1,192,1,1,0,0,0,193,194,5,2,0,0,194,3,1,0,0,0,195,199,3,6,3,0,
|
|
4603
|
+
196,199,3,8,4,0,197,199,3,10,5,0,198,195,1,0,0,0,198,196,1,0,0,0,
|
|
4604
|
+
198,197,1,0,0,0,199,5,1,0,0,0,200,201,7,0,0,0,201,7,1,0,0,0,202,
|
|
4605
|
+
203,7,1,0,0,203,9,1,0,0,0,204,205,5,10,0,0,205,11,1,0,0,0,206,214,
|
|
4606
|
+
3,14,7,0,207,214,3,20,10,0,208,214,3,26,13,0,209,214,3,30,15,0,210,
|
|
4607
|
+
214,3,34,17,0,211,214,3,40,20,0,212,214,3,56,28,0,213,206,1,0,0,
|
|
4608
|
+
0,213,207,1,0,0,0,213,208,1,0,0,0,213,209,1,0,0,0,213,210,1,0,0,
|
|
4609
|
+
0,213,211,1,0,0,0,213,212,1,0,0,0,214,13,1,0,0,0,215,216,5,11,0,
|
|
4610
|
+
0,216,217,5,114,0,0,217,221,5,99,0,0,218,220,3,16,8,0,219,218,1,
|
|
4611
|
+
0,0,0,220,223,1,0,0,0,221,219,1,0,0,0,221,222,1,0,0,0,222,224,1,
|
|
4612
|
+
0,0,0,223,221,1,0,0,0,224,225,5,100,0,0,225,15,1,0,0,0,226,228,3,
|
|
4613
|
+
18,9,0,227,226,1,0,0,0,227,228,1,0,0,0,228,229,1,0,0,0,229,251,3,
|
|
4614
|
+
56,28,0,230,232,3,18,9,0,231,230,1,0,0,0,231,232,1,0,0,0,232,233,
|
|
4615
|
+
1,0,0,0,233,251,3,40,20,0,234,236,3,18,9,0,235,234,1,0,0,0,235,236,
|
|
4616
|
+
1,0,0,0,236,237,1,0,0,0,237,251,3,30,15,0,238,240,3,18,9,0,239,238,
|
|
4617
|
+
1,0,0,0,239,240,1,0,0,0,240,241,1,0,0,0,241,251,3,34,17,0,242,244,
|
|
4618
|
+
3,18,9,0,243,242,1,0,0,0,243,244,1,0,0,0,244,245,1,0,0,0,245,251,
|
|
4619
|
+
3,20,10,0,246,248,3,18,9,0,247,246,1,0,0,0,247,248,1,0,0,0,248,249,
|
|
4620
|
+
1,0,0,0,249,251,3,26,13,0,250,227,1,0,0,0,250,231,1,0,0,0,250,235,
|
|
4621
|
+
1,0,0,0,250,239,1,0,0,0,250,243,1,0,0,0,250,247,1,0,0,0,251,17,1,
|
|
4622
|
+
0,0,0,252,253,7,2,0,0,253,19,1,0,0,0,254,255,5,16,0,0,255,256,5,
|
|
4623
|
+
114,0,0,256,257,5,106,0,0,257,258,3,104,52,0,258,262,5,99,0,0,259,
|
|
4624
|
+
261,3,22,11,0,260,259,1,0,0,0,261,264,1,0,0,0,262,260,1,0,0,0,262,
|
|
4625
|
+
263,1,0,0,0,263,265,1,0,0,0,264,262,1,0,0,0,265,266,5,100,0,0,266,
|
|
4626
|
+
21,1,0,0,0,267,268,5,114,0,0,268,269,5,107,0,0,269,270,3,152,76,
|
|
4627
|
+
0,270,271,3,24,12,0,271,272,5,106,0,0,272,274,3,104,52,0,273,275,
|
|
4628
|
+
5,104,0,0,274,273,1,0,0,0,274,275,1,0,0,0,275,23,1,0,0,0,276,277,
|
|
4629
|
+
7,3,0,0,277,25,1,0,0,0,278,279,5,12,0,0,279,280,5,114,0,0,280,284,
|
|
4630
|
+
5,99,0,0,281,283,3,28,14,0,282,281,1,0,0,0,283,286,1,0,0,0,284,282,
|
|
4631
|
+
1,0,0,0,284,285,1,0,0,0,285,287,1,0,0,0,286,284,1,0,0,0,287,288,
|
|
4632
|
+
5,100,0,0,288,27,1,0,0,0,289,290,3,152,76,0,290,294,5,114,0,0,291,
|
|
4633
|
+
293,3,54,27,0,292,291,1,0,0,0,293,296,1,0,0,0,294,292,1,0,0,0,294,
|
|
4634
|
+
295,1,0,0,0,295,297,1,0,0,0,296,294,1,0,0,0,297,298,5,103,0,0,298,
|
|
4635
|
+
29,1,0,0,0,299,300,5,13,0,0,300,301,5,114,0,0,301,302,5,99,0,0,302,
|
|
4636
|
+
307,3,32,16,0,303,304,5,104,0,0,304,306,3,32,16,0,305,303,1,0,0,
|
|
4637
|
+
0,306,309,1,0,0,0,307,305,1,0,0,0,307,308,1,0,0,0,308,311,1,0,0,
|
|
4638
|
+
0,309,307,1,0,0,0,310,312,5,104,0,0,311,310,1,0,0,0,311,312,1,0,
|
|
4639
|
+
0,0,312,313,1,0,0,0,313,314,5,100,0,0,314,31,1,0,0,0,315,318,5,114,
|
|
4640
|
+
0,0,316,317,5,76,0,0,317,319,3,104,52,0,318,316,1,0,0,0,318,319,
|
|
4641
|
+
1,0,0,0,319,33,1,0,0,0,320,321,3,36,18,0,321,322,5,114,0,0,322,323,
|
|
4642
|
+
5,99,0,0,323,328,3,38,19,0,324,325,5,104,0,0,325,327,3,38,19,0,326,
|
|
4643
|
+
324,1,0,0,0,327,330,1,0,0,0,328,326,1,0,0,0,328,329,1,0,0,0,329,
|
|
4644
|
+
332,1,0,0,0,330,328,1,0,0,0,331,333,5,104,0,0,332,331,1,0,0,0,332,
|
|
4645
|
+
333,1,0,0,0,333,334,1,0,0,0,334,335,5,100,0,0,335,35,1,0,0,0,336,
|
|
4646
|
+
337,7,4,0,0,337,37,1,0,0,0,338,342,5,114,0,0,339,340,5,101,0,0,340,
|
|
4647
|
+
341,5,111,0,0,341,343,5,102,0,0,342,339,1,0,0,0,342,343,1,0,0,0,
|
|
4648
|
+
343,39,1,0,0,0,344,345,3,152,76,0,345,346,5,114,0,0,346,348,5,97,
|
|
4649
|
+
0,0,347,349,3,42,21,0,348,347,1,0,0,0,348,349,1,0,0,0,349,350,1,
|
|
4650
|
+
0,0,0,350,351,5,98,0,0,351,352,3,60,30,0,352,41,1,0,0,0,353,358,
|
|
4651
|
+
3,44,22,0,354,355,5,104,0,0,355,357,3,44,22,0,356,354,1,0,0,0,357,
|
|
4652
|
+
360,1,0,0,0,358,356,1,0,0,0,358,359,1,0,0,0,359,43,1,0,0,0,360,358,
|
|
4653
|
+
1,0,0,0,361,363,3,46,23,0,362,361,1,0,0,0,362,363,1,0,0,0,363,364,
|
|
4654
|
+
1,0,0,0,364,365,3,152,76,0,365,369,5,114,0,0,366,368,3,54,27,0,367,
|
|
4655
|
+
366,1,0,0,0,368,371,1,0,0,0,369,367,1,0,0,0,369,370,1,0,0,0,370,
|
|
4656
|
+
45,1,0,0,0,371,369,1,0,0,0,372,373,5,19,0,0,373,47,1,0,0,0,374,375,
|
|
4657
|
+
5,20,0,0,375,49,1,0,0,0,376,377,7,5,0,0,377,51,1,0,0,0,378,379,5,
|
|
4658
|
+
48,0,0,379,53,1,0,0,0,380,382,5,101,0,0,381,383,3,104,52,0,382,381,
|
|
4659
|
+
1,0,0,0,382,383,1,0,0,0,383,384,1,0,0,0,384,385,5,102,0,0,385,55,
|
|
4660
|
+
1,0,0,0,386,388,3,52,26,0,387,386,1,0,0,0,387,388,1,0,0,0,388,390,
|
|
4661
|
+
1,0,0,0,389,391,3,48,24,0,390,389,1,0,0,0,390,391,1,0,0,0,391,393,
|
|
4662
|
+
1,0,0,0,392,394,3,46,23,0,393,392,1,0,0,0,393,394,1,0,0,0,394,396,
|
|
4663
|
+
1,0,0,0,395,397,3,50,25,0,396,395,1,0,0,0,396,397,1,0,0,0,397,398,
|
|
4664
|
+
1,0,0,0,398,399,3,152,76,0,399,403,5,114,0,0,400,402,3,54,27,0,401,
|
|
4665
|
+
400,1,0,0,0,402,405,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,
|
|
4666
|
+
408,1,0,0,0,405,403,1,0,0,0,406,407,5,76,0,0,407,409,3,104,52,0,
|
|
4667
|
+
408,406,1,0,0,0,408,409,1,0,0,0,409,410,1,0,0,0,410,411,5,103,0,
|
|
4668
|
+
0,411,420,1,0,0,0,412,413,3,152,76,0,413,414,5,114,0,0,414,415,5,
|
|
4669
|
+
97,0,0,415,416,3,58,29,0,416,417,5,98,0,0,417,418,5,103,0,0,418,
|
|
4670
|
+
420,1,0,0,0,419,387,1,0,0,0,419,412,1,0,0,0,420,57,1,0,0,0,421,426,
|
|
4671
|
+
5,114,0,0,422,423,5,104,0,0,423,425,5,114,0,0,424,422,1,0,0,0,425,
|
|
4672
|
+
428,1,0,0,0,426,424,1,0,0,0,426,427,1,0,0,0,427,59,1,0,0,0,428,426,
|
|
4673
|
+
1,0,0,0,429,433,5,99,0,0,430,432,3,62,31,0,431,430,1,0,0,0,432,435,
|
|
4674
|
+
1,0,0,0,433,431,1,0,0,0,433,434,1,0,0,0,434,436,1,0,0,0,435,433,
|
|
4675
|
+
1,0,0,0,436,437,5,100,0,0,437,61,1,0,0,0,438,451,3,56,28,0,439,451,
|
|
4676
|
+
3,66,33,0,440,451,3,74,37,0,441,451,3,76,38,0,442,451,3,78,39,0,
|
|
4677
|
+
443,451,3,80,40,0,444,451,3,82,41,0,445,451,3,84,42,0,446,451,3,
|
|
4678
|
+
96,48,0,447,451,3,94,47,0,448,451,3,64,32,0,449,451,3,60,30,0,450,
|
|
4679
|
+
438,1,0,0,0,450,439,1,0,0,0,450,440,1,0,0,0,450,441,1,0,0,0,450,
|
|
4680
|
+
442,1,0,0,0,450,443,1,0,0,0,450,444,1,0,0,0,450,445,1,0,0,0,450,
|
|
4681
|
+
446,1,0,0,0,450,447,1,0,0,0,450,448,1,0,0,0,450,449,1,0,0,0,451,
|
|
4682
|
+
63,1,0,0,0,452,453,5,49,0,0,453,454,3,60,30,0,454,65,1,0,0,0,455,
|
|
4683
|
+
456,3,70,35,0,456,457,3,68,34,0,457,458,3,104,52,0,458,459,5,103,
|
|
4684
|
+
0,0,459,67,1,0,0,0,460,461,7,6,0,0,461,69,1,0,0,0,462,463,5,15,0,
|
|
4685
|
+
0,463,464,5,105,0,0,464,468,5,114,0,0,465,467,3,72,36,0,466,465,
|
|
4686
|
+
1,0,0,0,467,470,1,0,0,0,468,466,1,0,0,0,468,469,1,0,0,0,469,488,
|
|
4687
|
+
1,0,0,0,470,468,1,0,0,0,471,472,5,14,0,0,472,473,5,105,0,0,473,477,
|
|
4688
|
+
5,114,0,0,474,476,3,72,36,0,475,474,1,0,0,0,476,479,1,0,0,0,477,
|
|
4689
|
+
475,1,0,0,0,477,478,1,0,0,0,478,488,1,0,0,0,479,477,1,0,0,0,480,
|
|
4690
|
+
484,5,114,0,0,481,483,3,72,36,0,482,481,1,0,0,0,483,486,1,0,0,0,
|
|
4691
|
+
484,482,1,0,0,0,484,485,1,0,0,0,485,488,1,0,0,0,486,484,1,0,0,0,
|
|
4692
|
+
487,462,1,0,0,0,487,471,1,0,0,0,487,480,1,0,0,0,488,71,1,0,0,0,489,
|
|
4693
|
+
490,5,105,0,0,490,502,5,114,0,0,491,492,5,101,0,0,492,493,3,104,
|
|
4694
|
+
52,0,493,494,5,102,0,0,494,502,1,0,0,0,495,496,5,101,0,0,496,497,
|
|
4695
|
+
3,104,52,0,497,498,5,104,0,0,498,499,3,104,52,0,499,500,5,102,0,
|
|
4696
|
+
0,500,502,1,0,0,0,501,489,1,0,0,0,501,491,1,0,0,0,501,495,1,0,0,
|
|
4697
|
+
0,502,73,1,0,0,0,503,504,3,104,52,0,504,505,5,103,0,0,505,75,1,0,
|
|
4698
|
+
0,0,506,507,5,22,0,0,507,508,5,97,0,0,508,509,3,104,52,0,509,510,
|
|
4699
|
+
5,98,0,0,510,513,3,62,31,0,511,512,5,23,0,0,512,514,3,62,31,0,513,
|
|
4700
|
+
511,1,0,0,0,513,514,1,0,0,0,514,77,1,0,0,0,515,516,5,24,0,0,516,
|
|
4701
|
+
517,5,97,0,0,517,518,3,104,52,0,518,519,5,98,0,0,519,520,3,62,31,
|
|
4702
|
+
0,520,79,1,0,0,0,521,522,5,25,0,0,522,523,3,60,30,0,523,524,5,24,
|
|
4703
|
+
0,0,524,525,5,97,0,0,525,526,3,104,52,0,526,527,5,98,0,0,527,528,
|
|
4704
|
+
5,103,0,0,528,81,1,0,0,0,529,530,5,26,0,0,530,532,5,97,0,0,531,533,
|
|
4705
|
+
3,86,43,0,532,531,1,0,0,0,532,533,1,0,0,0,533,534,1,0,0,0,534,536,
|
|
4706
|
+
5,103,0,0,535,537,3,104,52,0,536,535,1,0,0,0,536,537,1,0,0,0,537,
|
|
4707
|
+
538,1,0,0,0,538,540,5,103,0,0,539,541,3,92,46,0,540,539,1,0,0,0,
|
|
4708
|
+
540,541,1,0,0,0,541,542,1,0,0,0,542,543,5,98,0,0,543,544,3,62,31,
|
|
4709
|
+
0,544,83,1,0,0,0,545,546,5,27,0,0,546,547,3,60,30,0,547,85,1,0,0,
|
|
4710
|
+
0,548,551,3,88,44,0,549,551,3,90,45,0,550,548,1,0,0,0,550,549,1,
|
|
4711
|
+
0,0,0,551,87,1,0,0,0,552,554,3,52,26,0,553,552,1,0,0,0,553,554,1,
|
|
4712
|
+
0,0,0,554,556,1,0,0,0,555,557,3,48,24,0,556,555,1,0,0,0,556,557,
|
|
4713
|
+
1,0,0,0,557,559,1,0,0,0,558,560,3,50,25,0,559,558,1,0,0,0,559,560,
|
|
4714
|
+
1,0,0,0,560,561,1,0,0,0,561,562,3,152,76,0,562,566,5,114,0,0,563,
|
|
4715
|
+
565,3,54,27,0,564,563,1,0,0,0,565,568,1,0,0,0,566,564,1,0,0,0,566,
|
|
4716
|
+
567,1,0,0,0,567,571,1,0,0,0,568,566,1,0,0,0,569,570,5,76,0,0,570,
|
|
4717
|
+
572,3,104,52,0,571,569,1,0,0,0,571,572,1,0,0,0,572,89,1,0,0,0,573,
|
|
4718
|
+
574,3,70,35,0,574,575,3,68,34,0,575,576,3,104,52,0,576,91,1,0,0,
|
|
4719
|
+
0,577,578,3,70,35,0,578,579,3,68,34,0,579,580,3,104,52,0,580,93,
|
|
4720
|
+
1,0,0,0,581,583,5,31,0,0,582,584,3,104,52,0,583,582,1,0,0,0,583,
|
|
4721
|
+
584,1,0,0,0,584,585,1,0,0,0,585,586,5,103,0,0,586,95,1,0,0,0,587,
|
|
4722
|
+
588,5,28,0,0,588,589,5,97,0,0,589,590,3,104,52,0,590,591,5,98,0,
|
|
4723
|
+
0,591,593,5,99,0,0,592,594,3,98,49,0,593,592,1,0,0,0,594,595,1,0,
|
|
4724
|
+
0,0,595,593,1,0,0,0,595,596,1,0,0,0,596,598,1,0,0,0,597,599,3,102,
|
|
4725
|
+
51,0,598,597,1,0,0,0,598,599,1,0,0,0,599,600,1,0,0,0,600,601,5,100,
|
|
4726
|
+
0,0,601,97,1,0,0,0,602,603,5,29,0,0,603,608,3,100,50,0,604,605,5,
|
|
4727
|
+
89,0,0,605,607,3,100,50,0,606,604,1,0,0,0,607,610,1,0,0,0,608,606,
|
|
4728
|
+
1,0,0,0,608,609,1,0,0,0,609,611,1,0,0,0,610,608,1,0,0,0,611,612,
|
|
4729
|
+
3,60,30,0,612,99,1,0,0,0,613,626,3,158,79,0,614,626,5,114,0,0,615,
|
|
4730
|
+
617,5,84,0,0,616,615,1,0,0,0,616,617,1,0,0,0,617,618,1,0,0,0,618,
|
|
4731
|
+
626,5,111,0,0,619,621,5,84,0,0,620,619,1,0,0,0,620,621,1,0,0,0,621,
|
|
4732
|
+
622,1,0,0,0,622,626,5,108,0,0,623,626,5,109,0,0,624,626,5,113,0,
|
|
4733
|
+
0,625,613,1,0,0,0,625,614,1,0,0,0,625,616,1,0,0,0,625,620,1,0,0,
|
|
4734
|
+
0,625,623,1,0,0,0,625,624,1,0,0,0,626,101,1,0,0,0,627,631,5,30,0,
|
|
4735
|
+
0,628,629,5,97,0,0,629,630,5,111,0,0,630,632,5,98,0,0,631,628,1,
|
|
4736
|
+
0,0,0,631,632,1,0,0,0,632,633,1,0,0,0,633,634,3,60,30,0,634,103,
|
|
4737
|
+
1,0,0,0,635,636,3,106,53,0,636,105,1,0,0,0,637,638,5,97,0,0,638,
|
|
4738
|
+
639,3,108,54,0,639,640,5,98,0,0,640,641,5,1,0,0,641,642,3,108,54,
|
|
4739
|
+
0,642,643,5,107,0,0,643,644,3,108,54,0,644,647,1,0,0,0,645,647,3,
|
|
4740
|
+
108,54,0,646,637,1,0,0,0,646,645,1,0,0,0,647,107,1,0,0,0,648,653,
|
|
4741
|
+
3,110,55,0,649,650,5,89,0,0,650,652,3,110,55,0,651,649,1,0,0,0,652,
|
|
4742
|
+
655,1,0,0,0,653,651,1,0,0,0,653,654,1,0,0,0,654,109,1,0,0,0,655,
|
|
4743
|
+
653,1,0,0,0,656,661,3,112,56,0,657,658,5,88,0,0,658,660,3,112,56,
|
|
4744
|
+
0,659,657,1,0,0,0,660,663,1,0,0,0,661,659,1,0,0,0,661,662,1,0,0,
|
|
4745
|
+
0,662,111,1,0,0,0,663,661,1,0,0,0,664,669,3,114,57,0,665,666,7,7,
|
|
4746
|
+
0,0,666,668,3,114,57,0,667,665,1,0,0,0,668,671,1,0,0,0,669,667,1,
|
|
4747
|
+
0,0,0,669,670,1,0,0,0,670,113,1,0,0,0,671,669,1,0,0,0,672,677,3,
|
|
4748
|
+
116,58,0,673,674,7,8,0,0,674,676,3,116,58,0,675,673,1,0,0,0,676,
|
|
4749
|
+
679,1,0,0,0,677,675,1,0,0,0,677,678,1,0,0,0,678,115,1,0,0,0,679,
|
|
4750
|
+
677,1,0,0,0,680,685,3,118,59,0,681,682,5,92,0,0,682,684,3,118,59,
|
|
4751
|
+
0,683,681,1,0,0,0,684,687,1,0,0,0,685,683,1,0,0,0,685,686,1,0,0,
|
|
4752
|
+
0,686,117,1,0,0,0,687,685,1,0,0,0,688,693,3,120,60,0,689,690,5,93,
|
|
4753
|
+
0,0,690,692,3,120,60,0,691,689,1,0,0,0,692,695,1,0,0,0,693,691,1,
|
|
4754
|
+
0,0,0,693,694,1,0,0,0,694,119,1,0,0,0,695,693,1,0,0,0,696,701,3,
|
|
4755
|
+
122,61,0,697,698,5,91,0,0,698,700,3,122,61,0,699,697,1,0,0,0,700,
|
|
4756
|
+
703,1,0,0,0,701,699,1,0,0,0,701,702,1,0,0,0,702,121,1,0,0,0,703,
|
|
4757
|
+
701,1,0,0,0,704,709,3,124,62,0,705,706,7,9,0,0,706,708,3,124,62,
|
|
4758
|
+
0,707,705,1,0,0,0,708,711,1,0,0,0,709,707,1,0,0,0,709,710,1,0,0,
|
|
4759
|
+
0,710,123,1,0,0,0,711,709,1,0,0,0,712,717,3,126,63,0,713,714,7,10,
|
|
4760
|
+
0,0,714,716,3,126,63,0,715,713,1,0,0,0,716,719,1,0,0,0,717,715,1,
|
|
4761
|
+
0,0,0,717,718,1,0,0,0,718,125,1,0,0,0,719,717,1,0,0,0,720,725,3,
|
|
4762
|
+
128,64,0,721,722,7,11,0,0,722,724,3,128,64,0,723,721,1,0,0,0,724,
|
|
4763
|
+
727,1,0,0,0,725,723,1,0,0,0,725,726,1,0,0,0,726,127,1,0,0,0,727,
|
|
4764
|
+
725,1,0,0,0,728,729,5,90,0,0,729,738,3,128,64,0,730,731,5,84,0,0,
|
|
4765
|
+
731,738,3,128,64,0,732,733,5,94,0,0,733,738,3,128,64,0,734,735,5,
|
|
4766
|
+
91,0,0,735,738,3,128,64,0,736,738,3,130,65,0,737,728,1,0,0,0,737,
|
|
4767
|
+
730,1,0,0,0,737,732,1,0,0,0,737,734,1,0,0,0,737,736,1,0,0,0,738,
|
|
4768
|
+
129,1,0,0,0,739,743,3,134,67,0,740,742,3,132,66,0,741,740,1,0,0,
|
|
4769
|
+
0,742,745,1,0,0,0,743,741,1,0,0,0,743,744,1,0,0,0,744,131,1,0,0,
|
|
4770
|
+
0,745,743,1,0,0,0,746,747,5,105,0,0,747,764,5,114,0,0,748,749,5,
|
|
4771
|
+
101,0,0,749,750,3,104,52,0,750,751,5,102,0,0,751,764,1,0,0,0,752,
|
|
4772
|
+
753,5,101,0,0,753,754,3,104,52,0,754,755,5,104,0,0,755,756,3,104,
|
|
4773
|
+
52,0,756,757,5,102,0,0,757,764,1,0,0,0,758,760,5,97,0,0,759,761,
|
|
4774
|
+
3,150,75,0,760,759,1,0,0,0,760,761,1,0,0,0,761,762,1,0,0,0,762,764,
|
|
4775
|
+
5,98,0,0,763,746,1,0,0,0,763,748,1,0,0,0,763,752,1,0,0,0,763,758,
|
|
4776
|
+
1,0,0,0,764,133,1,0,0,0,765,778,3,136,68,0,766,778,3,138,69,0,767,
|
|
4777
|
+
778,3,140,70,0,768,778,3,146,73,0,769,778,5,14,0,0,770,778,5,15,
|
|
4778
|
+
0,0,771,778,5,114,0,0,772,778,3,176,88,0,773,774,5,97,0,0,774,775,
|
|
4779
|
+
3,104,52,0,775,776,5,98,0,0,776,778,1,0,0,0,777,765,1,0,0,0,777,
|
|
4780
|
+
766,1,0,0,0,777,767,1,0,0,0,777,768,1,0,0,0,777,769,1,0,0,0,777,
|
|
4781
|
+
770,1,0,0,0,777,771,1,0,0,0,777,772,1,0,0,0,777,773,1,0,0,0,778,
|
|
4782
|
+
135,1,0,0,0,779,780,5,36,0,0,780,783,5,97,0,0,781,784,3,152,76,0,
|
|
4783
|
+
782,784,3,104,52,0,783,781,1,0,0,0,783,782,1,0,0,0,784,785,1,0,0,
|
|
4784
|
+
0,785,786,5,98,0,0,786,137,1,0,0,0,787,788,5,97,0,0,788,789,3,152,
|
|
4785
|
+
76,0,789,790,5,98,0,0,790,791,3,128,64,0,791,139,1,0,0,0,792,793,
|
|
4786
|
+
5,114,0,0,793,795,5,99,0,0,794,796,3,142,71,0,795,794,1,0,0,0,795,
|
|
4787
|
+
796,1,0,0,0,796,797,1,0,0,0,797,803,5,100,0,0,798,799,5,99,0,0,799,
|
|
4788
|
+
800,3,142,71,0,800,801,5,100,0,0,801,803,1,0,0,0,802,792,1,0,0,0,
|
|
4789
|
+
802,798,1,0,0,0,803,141,1,0,0,0,804,809,3,144,72,0,805,806,5,104,
|
|
4790
|
+
0,0,806,808,3,144,72,0,807,805,1,0,0,0,808,811,1,0,0,0,809,807,1,
|
|
4791
|
+
0,0,0,809,810,1,0,0,0,810,813,1,0,0,0,811,809,1,0,0,0,812,814,5,
|
|
4792
|
+
104,0,0,813,812,1,0,0,0,813,814,1,0,0,0,814,143,1,0,0,0,815,816,
|
|
4793
|
+
5,114,0,0,816,817,5,107,0,0,817,818,3,104,52,0,818,145,1,0,0,0,819,
|
|
4794
|
+
820,5,101,0,0,820,825,3,148,74,0,821,822,5,104,0,0,822,824,3,148,
|
|
4795
|
+
74,0,823,821,1,0,0,0,824,827,1,0,0,0,825,823,1,0,0,0,825,826,1,0,
|
|
4796
|
+
0,0,826,829,1,0,0,0,827,825,1,0,0,0,828,830,5,104,0,0,829,828,1,
|
|
4797
|
+
0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,832,5,102,0,0,832,839,
|
|
4798
|
+
1,0,0,0,833,834,5,101,0,0,834,835,3,104,52,0,835,836,5,85,0,0,836,
|
|
4799
|
+
837,5,102,0,0,837,839,1,0,0,0,838,819,1,0,0,0,838,833,1,0,0,0,839,
|
|
4800
|
+
147,1,0,0,0,840,844,3,104,52,0,841,844,3,140,70,0,842,844,3,146,
|
|
4801
|
+
73,0,843,840,1,0,0,0,843,841,1,0,0,0,843,842,1,0,0,0,844,149,1,0,
|
|
4802
|
+
0,0,845,850,3,104,52,0,846,847,5,104,0,0,847,849,3,104,52,0,848,
|
|
4803
|
+
846,1,0,0,0,849,852,1,0,0,0,850,848,1,0,0,0,850,851,1,0,0,0,851,
|
|
4804
|
+
151,1,0,0,0,852,850,1,0,0,0,853,863,3,160,80,0,854,863,3,170,85,
|
|
4805
|
+
0,855,863,3,154,77,0,856,863,3,156,78,0,857,863,3,158,79,0,858,863,
|
|
4806
|
+
3,164,82,0,859,863,3,162,81,0,860,863,3,172,86,0,861,863,5,21,0,
|
|
4807
|
+
0,862,853,1,0,0,0,862,854,1,0,0,0,862,855,1,0,0,0,862,856,1,0,0,
|
|
4808
|
+
0,862,857,1,0,0,0,862,858,1,0,0,0,862,859,1,0,0,0,862,860,1,0,0,
|
|
4809
|
+
0,862,861,1,0,0,0,863,153,1,0,0,0,864,865,5,14,0,0,865,866,5,105,
|
|
4810
|
+
0,0,866,867,5,114,0,0,867,155,1,0,0,0,868,869,5,15,0,0,869,870,5,
|
|
4811
|
+
105,0,0,870,871,5,114,0,0,871,157,1,0,0,0,872,875,5,114,0,0,873,
|
|
4812
|
+
874,5,105,0,0,874,876,5,114,0,0,875,873,1,0,0,0,876,877,1,0,0,0,
|
|
4813
|
+
877,875,1,0,0,0,877,878,1,0,0,0,878,159,1,0,0,0,879,880,7,12,0,0,
|
|
4814
|
+
880,161,1,0,0,0,881,882,5,114,0,0,882,163,1,0,0,0,883,884,5,114,
|
|
4815
|
+
0,0,884,885,5,79,0,0,885,886,3,166,83,0,886,887,5,80,0,0,887,165,
|
|
4816
|
+
1,0,0,0,888,893,3,168,84,0,889,890,5,104,0,0,890,892,3,168,84,0,
|
|
4817
|
+
891,889,1,0,0,0,892,895,1,0,0,0,893,891,1,0,0,0,893,894,1,0,0,0,
|
|
4818
|
+
894,167,1,0,0,0,895,893,1,0,0,0,896,901,3,164,82,0,897,901,3,160,
|
|
4819
|
+
80,0,898,901,5,114,0,0,899,901,5,111,0,0,900,896,1,0,0,0,900,897,
|
|
4820
|
+
1,0,0,0,900,898,1,0,0,0,900,899,1,0,0,0,901,169,1,0,0,0,902,903,
|
|
4821
|
+
5,35,0,0,903,904,5,79,0,0,904,905,5,111,0,0,905,908,5,80,0,0,906,
|
|
4822
|
+
908,5,35,0,0,907,902,1,0,0,0,907,906,1,0,0,0,908,171,1,0,0,0,909,
|
|
4823
|
+
911,3,160,80,0,910,912,3,174,87,0,911,910,1,0,0,0,912,913,1,0,0,
|
|
4824
|
+
0,913,911,1,0,0,0,913,914,1,0,0,0,914,946,1,0,0,0,915,917,3,162,
|
|
4825
|
+
81,0,916,918,3,174,87,0,917,916,1,0,0,0,918,919,1,0,0,0,919,917,
|
|
4826
|
+
1,0,0,0,919,920,1,0,0,0,920,946,1,0,0,0,921,923,3,170,85,0,922,924,
|
|
4827
|
+
3,174,87,0,923,922,1,0,0,0,924,925,1,0,0,0,925,923,1,0,0,0,925,926,
|
|
4828
|
+
1,0,0,0,926,946,1,0,0,0,927,929,3,154,77,0,928,930,3,174,87,0,929,
|
|
4829
|
+
928,1,0,0,0,930,931,1,0,0,0,931,929,1,0,0,0,931,932,1,0,0,0,932,
|
|
4830
|
+
946,1,0,0,0,933,935,3,158,79,0,934,936,3,174,87,0,935,934,1,0,0,
|
|
4831
|
+
0,936,937,1,0,0,0,937,935,1,0,0,0,937,938,1,0,0,0,938,946,1,0,0,
|
|
4832
|
+
0,939,941,3,156,78,0,940,942,3,174,87,0,941,940,1,0,0,0,942,943,
|
|
4833
|
+
1,0,0,0,943,941,1,0,0,0,943,944,1,0,0,0,944,946,1,0,0,0,945,909,
|
|
4834
|
+
1,0,0,0,945,915,1,0,0,0,945,921,1,0,0,0,945,927,1,0,0,0,945,933,
|
|
4835
|
+
1,0,0,0,945,939,1,0,0,0,946,173,1,0,0,0,947,949,5,101,0,0,948,950,
|
|
4836
|
+
3,104,52,0,949,948,1,0,0,0,949,950,1,0,0,0,950,951,1,0,0,0,951,952,
|
|
4837
|
+
5,102,0,0,952,175,1,0,0,0,953,954,7,13,0,0,954,177,1,0,0,0,100,180,
|
|
4838
|
+
182,188,198,213,221,227,231,235,239,243,247,250,262,274,284,294,
|
|
4839
|
+
307,311,318,328,332,342,348,358,362,369,382,387,390,393,396,403,
|
|
4840
|
+
408,419,426,433,450,468,477,484,487,501,513,532,536,540,550,553,
|
|
4841
|
+
556,559,566,571,583,595,598,608,616,620,625,631,646,653,661,669,
|
|
4842
|
+
677,685,693,701,709,717,725,737,743,760,763,777,783,795,802,809,
|
|
4843
|
+
813,825,829,838,843,850,862,877,893,900,907,913,919,925,931,937,
|
|
4844
|
+
943,945,949
|
|
4750
4845
|
];
|
|
4751
4846
|
|
|
4752
4847
|
private static __ATN: antlr.ATN;
|
|
@@ -6116,6 +6211,9 @@ export class StatementContext extends antlr.ParserRuleContext {
|
|
|
6116
6211
|
public forStatement(): ForStatementContext | null {
|
|
6117
6212
|
return this.getRuleContext(0, ForStatementContext);
|
|
6118
6213
|
}
|
|
6214
|
+
public foreverStatement(): ForeverStatementContext | null {
|
|
6215
|
+
return this.getRuleContext(0, ForeverStatementContext);
|
|
6216
|
+
}
|
|
6119
6217
|
public switchStatement(): SwitchStatementContext | null {
|
|
6120
6218
|
return this.getRuleContext(0, SwitchStatementContext);
|
|
6121
6219
|
}
|
|
@@ -6613,6 +6711,39 @@ export class ForStatementContext extends antlr.ParserRuleContext {
|
|
|
6613
6711
|
}
|
|
6614
6712
|
|
|
6615
6713
|
|
|
6714
|
+
export class ForeverStatementContext extends antlr.ParserRuleContext {
|
|
6715
|
+
public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
|
|
6716
|
+
super(parent, invokingState);
|
|
6717
|
+
}
|
|
6718
|
+
public FOREVER(): antlr.TerminalNode {
|
|
6719
|
+
return this.getToken(CNextParser.FOREVER, 0)!;
|
|
6720
|
+
}
|
|
6721
|
+
public block(): BlockContext {
|
|
6722
|
+
return this.getRuleContext(0, BlockContext)!;
|
|
6723
|
+
}
|
|
6724
|
+
public override get ruleIndex(): number {
|
|
6725
|
+
return CNextParser.RULE_foreverStatement;
|
|
6726
|
+
}
|
|
6727
|
+
public override enterRule(listener: CNextListener): void {
|
|
6728
|
+
if(listener.enterForeverStatement) {
|
|
6729
|
+
listener.enterForeverStatement(this);
|
|
6730
|
+
}
|
|
6731
|
+
}
|
|
6732
|
+
public override exitRule(listener: CNextListener): void {
|
|
6733
|
+
if(listener.exitForeverStatement) {
|
|
6734
|
+
listener.exitForeverStatement(this);
|
|
6735
|
+
}
|
|
6736
|
+
}
|
|
6737
|
+
public override accept<Result>(visitor: CNextVisitor<Result>): Result | null {
|
|
6738
|
+
if (visitor.visitForeverStatement) {
|
|
6739
|
+
return visitor.visitForeverStatement(this);
|
|
6740
|
+
} else {
|
|
6741
|
+
return visitor.visitChildren(this);
|
|
6742
|
+
}
|
|
6743
|
+
}
|
|
6744
|
+
}
|
|
6745
|
+
|
|
6746
|
+
|
|
6616
6747
|
export class ForInitContext extends antlr.ParserRuleContext {
|
|
6617
6748
|
public constructor(parent: antlr.ParserRuleContext | null, invokingState: number) {
|
|
6618
6749
|
super(parent, invokingState);
|
|
@@ -8597,6 +8728,15 @@ export class ArrayTypeContext extends antlr.ParserRuleContext {
|
|
|
8597
8728
|
public stringType(): StringTypeContext | null {
|
|
8598
8729
|
return this.getRuleContext(0, StringTypeContext);
|
|
8599
8730
|
}
|
|
8731
|
+
public scopedType(): ScopedTypeContext | null {
|
|
8732
|
+
return this.getRuleContext(0, ScopedTypeContext);
|
|
8733
|
+
}
|
|
8734
|
+
public qualifiedType(): QualifiedTypeContext | null {
|
|
8735
|
+
return this.getRuleContext(0, QualifiedTypeContext);
|
|
8736
|
+
}
|
|
8737
|
+
public globalType(): GlobalTypeContext | null {
|
|
8738
|
+
return this.getRuleContext(0, GlobalTypeContext);
|
|
8739
|
+
}
|
|
8600
8740
|
public override get ruleIndex(): number {
|
|
8601
8741
|
return CNextParser.RULE_arrayType;
|
|
8602
8742
|
}
|