c-next 0.1.0

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.
Files changed (72) hide show
  1. package/README.md +726 -0
  2. package/bin/cnext.js +5 -0
  3. package/grammar/C.g4 +1112 -0
  4. package/grammar/CNext.g4 +817 -0
  5. package/grammar/CPP14Lexer.g4 +282 -0
  6. package/grammar/CPP14Parser.g4 +1072 -0
  7. package/package.json +85 -0
  8. package/src/analysis/DivisionByZeroAnalyzer.ts +378 -0
  9. package/src/analysis/FunctionCallAnalyzer.ts +526 -0
  10. package/src/analysis/InitializationAnalyzer.ts +725 -0
  11. package/src/analysis/NullCheckAnalyzer.ts +427 -0
  12. package/src/analysis/types/IDivisionByZeroError.ts +25 -0
  13. package/src/analysis/types/IFunctionCallError.ts +17 -0
  14. package/src/analysis/types/IInitializationError.ts +55 -0
  15. package/src/analysis/types/INullCheckError.ts +25 -0
  16. package/src/codegen/CodeGenerator.ts +7945 -0
  17. package/src/codegen/CommentExtractor.ts +240 -0
  18. package/src/codegen/CommentFormatter.ts +155 -0
  19. package/src/codegen/HeaderGenerator.ts +265 -0
  20. package/src/codegen/TypeResolver.ts +365 -0
  21. package/src/codegen/types/ECommentType.ts +10 -0
  22. package/src/codegen/types/IComment.ts +21 -0
  23. package/src/codegen/types/ICommentError.ts +15 -0
  24. package/src/codegen/types/TOverflowBehavior.ts +6 -0
  25. package/src/codegen/types/TParameterInfo.ts +13 -0
  26. package/src/codegen/types/TTypeConstants.ts +94 -0
  27. package/src/codegen/types/TTypeInfo.ts +22 -0
  28. package/src/index.ts +518 -0
  29. package/src/lib/IncludeDiscovery.ts +131 -0
  30. package/src/lib/InputExpansion.ts +121 -0
  31. package/src/lib/PlatformIODetector.ts +162 -0
  32. package/src/lib/transpiler.ts +439 -0
  33. package/src/lib/types/ITranspileResult.ts +80 -0
  34. package/src/parser/c/grammar/C.interp +338 -0
  35. package/src/parser/c/grammar/C.tokens +229 -0
  36. package/src/parser/c/grammar/CLexer.interp +415 -0
  37. package/src/parser/c/grammar/CLexer.tokens +229 -0
  38. package/src/parser/c/grammar/CLexer.ts +750 -0
  39. package/src/parser/c/grammar/CListener.ts +976 -0
  40. package/src/parser/c/grammar/CParser.ts +9663 -0
  41. package/src/parser/c/grammar/CVisitor.ts +626 -0
  42. package/src/parser/cpp/grammar/CPP14Lexer.interp +478 -0
  43. package/src/parser/cpp/grammar/CPP14Lexer.tokens +264 -0
  44. package/src/parser/cpp/grammar/CPP14Lexer.ts +848 -0
  45. package/src/parser/cpp/grammar/CPP14Parser.interp +492 -0
  46. package/src/parser/cpp/grammar/CPP14Parser.tokens +264 -0
  47. package/src/parser/cpp/grammar/CPP14Parser.ts +19961 -0
  48. package/src/parser/cpp/grammar/CPP14ParserListener.ts +2120 -0
  49. package/src/parser/cpp/grammar/CPP14ParserVisitor.ts +1354 -0
  50. package/src/parser/grammar/CNext.interp +340 -0
  51. package/src/parser/grammar/CNext.tokens +214 -0
  52. package/src/parser/grammar/CNextLexer.interp +374 -0
  53. package/src/parser/grammar/CNextLexer.tokens +214 -0
  54. package/src/parser/grammar/CNextLexer.ts +668 -0
  55. package/src/parser/grammar/CNextListener.ts +1020 -0
  56. package/src/parser/grammar/CNextParser.ts +9239 -0
  57. package/src/parser/grammar/CNextVisitor.ts +654 -0
  58. package/src/preprocessor/Preprocessor.ts +301 -0
  59. package/src/preprocessor/ToolchainDetector.ts +225 -0
  60. package/src/preprocessor/types/IPreprocessResult.ts +39 -0
  61. package/src/preprocessor/types/IToolchain.ts +27 -0
  62. package/src/project/FileDiscovery.ts +236 -0
  63. package/src/project/Project.ts +425 -0
  64. package/src/project/types/IProjectConfig.ts +64 -0
  65. package/src/symbols/CNextSymbolCollector.ts +326 -0
  66. package/src/symbols/CSymbolCollector.ts +457 -0
  67. package/src/symbols/CppSymbolCollector.ts +362 -0
  68. package/src/symbols/SymbolTable.ts +312 -0
  69. package/src/symbols/types/IConflict.ts +20 -0
  70. package/src/types/ESourceLanguage.ts +10 -0
  71. package/src/types/ESymbolKind.ts +20 -0
  72. package/src/types/ISymbol.ts +45 -0
@@ -0,0 +1,1354 @@
1
+ // Generated from grammar/CPP14Parser.g4 by ANTLR 4.13.1
2
+
3
+ import { AbstractParseTreeVisitor } from "antlr4ng";
4
+
5
+
6
+ import { TranslationUnitContext } from "./CPP14Parser.js";
7
+ import { PrimaryExpressionContext } from "./CPP14Parser.js";
8
+ import { IdExpressionContext } from "./CPP14Parser.js";
9
+ import { UnqualifiedIdContext } from "./CPP14Parser.js";
10
+ import { QualifiedIdContext } from "./CPP14Parser.js";
11
+ import { NestedNameSpecifierContext } from "./CPP14Parser.js";
12
+ import { LambdaExpressionContext } from "./CPP14Parser.js";
13
+ import { LambdaIntroducerContext } from "./CPP14Parser.js";
14
+ import { LambdaCaptureContext } from "./CPP14Parser.js";
15
+ import { CaptureDefaultContext } from "./CPP14Parser.js";
16
+ import { CaptureListContext } from "./CPP14Parser.js";
17
+ import { CaptureContext } from "./CPP14Parser.js";
18
+ import { SimpleCaptureContext } from "./CPP14Parser.js";
19
+ import { InitcaptureContext } from "./CPP14Parser.js";
20
+ import { LambdaDeclaratorContext } from "./CPP14Parser.js";
21
+ import { PostfixExpressionContext } from "./CPP14Parser.js";
22
+ import { TypeIdOfTheTypeIdContext } from "./CPP14Parser.js";
23
+ import { ExpressionListContext } from "./CPP14Parser.js";
24
+ import { PseudoDestructorNameContext } from "./CPP14Parser.js";
25
+ import { UnaryExpressionContext } from "./CPP14Parser.js";
26
+ import { UnaryOperatorContext } from "./CPP14Parser.js";
27
+ import { NewExpression_Context } from "./CPP14Parser.js";
28
+ import { NewPlacementContext } from "./CPP14Parser.js";
29
+ import { NewTypeIdContext } from "./CPP14Parser.js";
30
+ import { NewDeclarator_Context } from "./CPP14Parser.js";
31
+ import { NoPointerNewDeclaratorContext } from "./CPP14Parser.js";
32
+ import { NewInitializer_Context } from "./CPP14Parser.js";
33
+ import { DeleteExpressionContext } from "./CPP14Parser.js";
34
+ import { NoExceptExpressionContext } from "./CPP14Parser.js";
35
+ import { CastExpressionContext } from "./CPP14Parser.js";
36
+ import { PointerMemberExpressionContext } from "./CPP14Parser.js";
37
+ import { MultiplicativeExpressionContext } from "./CPP14Parser.js";
38
+ import { AdditiveExpressionContext } from "./CPP14Parser.js";
39
+ import { ShiftExpressionContext } from "./CPP14Parser.js";
40
+ import { ShiftOperatorContext } from "./CPP14Parser.js";
41
+ import { RelationalExpressionContext } from "./CPP14Parser.js";
42
+ import { EqualityExpressionContext } from "./CPP14Parser.js";
43
+ import { AndExpressionContext } from "./CPP14Parser.js";
44
+ import { ExclusiveOrExpressionContext } from "./CPP14Parser.js";
45
+ import { InclusiveOrExpressionContext } from "./CPP14Parser.js";
46
+ import { LogicalAndExpressionContext } from "./CPP14Parser.js";
47
+ import { LogicalOrExpressionContext } from "./CPP14Parser.js";
48
+ import { ConditionalExpressionContext } from "./CPP14Parser.js";
49
+ import { AssignmentExpressionContext } from "./CPP14Parser.js";
50
+ import { AssignmentOperatorContext } from "./CPP14Parser.js";
51
+ import { ExpressionContext } from "./CPP14Parser.js";
52
+ import { ConstantExpressionContext } from "./CPP14Parser.js";
53
+ import { StatementContext } from "./CPP14Parser.js";
54
+ import { LabeledStatementContext } from "./CPP14Parser.js";
55
+ import { ExpressionStatementContext } from "./CPP14Parser.js";
56
+ import { CompoundStatementContext } from "./CPP14Parser.js";
57
+ import { StatementSeqContext } from "./CPP14Parser.js";
58
+ import { SelectionStatementContext } from "./CPP14Parser.js";
59
+ import { ConditionContext } from "./CPP14Parser.js";
60
+ import { IterationStatementContext } from "./CPP14Parser.js";
61
+ import { ForInitStatementContext } from "./CPP14Parser.js";
62
+ import { ForRangeDeclarationContext } from "./CPP14Parser.js";
63
+ import { ForRangeInitializerContext } from "./CPP14Parser.js";
64
+ import { JumpStatementContext } from "./CPP14Parser.js";
65
+ import { DeclarationStatementContext } from "./CPP14Parser.js";
66
+ import { DeclarationseqContext } from "./CPP14Parser.js";
67
+ import { DeclarationContext } from "./CPP14Parser.js";
68
+ import { BlockDeclarationContext } from "./CPP14Parser.js";
69
+ import { AliasDeclarationContext } from "./CPP14Parser.js";
70
+ import { SimpleDeclarationContext } from "./CPP14Parser.js";
71
+ import { StaticAssertDeclarationContext } from "./CPP14Parser.js";
72
+ import { EmptyDeclaration_Context } from "./CPP14Parser.js";
73
+ import { AttributeDeclarationContext } from "./CPP14Parser.js";
74
+ import { DeclSpecifierContext } from "./CPP14Parser.js";
75
+ import { DeclSpecifierSeqContext } from "./CPP14Parser.js";
76
+ import { StorageClassSpecifierContext } from "./CPP14Parser.js";
77
+ import { FunctionSpecifierContext } from "./CPP14Parser.js";
78
+ import { TypedefNameContext } from "./CPP14Parser.js";
79
+ import { TypeSpecifierContext } from "./CPP14Parser.js";
80
+ import { TrailingTypeSpecifierContext } from "./CPP14Parser.js";
81
+ import { TypeSpecifierSeqContext } from "./CPP14Parser.js";
82
+ import { TrailingTypeSpecifierSeqContext } from "./CPP14Parser.js";
83
+ import { SimpleTypeLengthModifierContext } from "./CPP14Parser.js";
84
+ import { SimpleTypeSignednessModifierContext } from "./CPP14Parser.js";
85
+ import { SimpleTypeSpecifierContext } from "./CPP14Parser.js";
86
+ import { TheTypeNameContext } from "./CPP14Parser.js";
87
+ import { DecltypeSpecifierContext } from "./CPP14Parser.js";
88
+ import { ElaboratedTypeSpecifierContext } from "./CPP14Parser.js";
89
+ import { EnumNameContext } from "./CPP14Parser.js";
90
+ import { EnumSpecifierContext } from "./CPP14Parser.js";
91
+ import { EnumHeadContext } from "./CPP14Parser.js";
92
+ import { OpaqueEnumDeclarationContext } from "./CPP14Parser.js";
93
+ import { EnumkeyContext } from "./CPP14Parser.js";
94
+ import { EnumbaseContext } from "./CPP14Parser.js";
95
+ import { EnumeratorListContext } from "./CPP14Parser.js";
96
+ import { EnumeratorDefinitionContext } from "./CPP14Parser.js";
97
+ import { EnumeratorContext } from "./CPP14Parser.js";
98
+ import { NamespaceNameContext } from "./CPP14Parser.js";
99
+ import { OriginalNamespaceNameContext } from "./CPP14Parser.js";
100
+ import { NamespaceDefinitionContext } from "./CPP14Parser.js";
101
+ import { NamespaceAliasContext } from "./CPP14Parser.js";
102
+ import { NamespaceAliasDefinitionContext } from "./CPP14Parser.js";
103
+ import { QualifiednamespacespecifierContext } from "./CPP14Parser.js";
104
+ import { UsingDeclarationContext } from "./CPP14Parser.js";
105
+ import { UsingDirectiveContext } from "./CPP14Parser.js";
106
+ import { AsmDefinitionContext } from "./CPP14Parser.js";
107
+ import { LinkageSpecificationContext } from "./CPP14Parser.js";
108
+ import { AttributeSpecifierSeqContext } from "./CPP14Parser.js";
109
+ import { AttributeSpecifierContext } from "./CPP14Parser.js";
110
+ import { AlignmentspecifierContext } from "./CPP14Parser.js";
111
+ import { AttributeListContext } from "./CPP14Parser.js";
112
+ import { AttributeContext } from "./CPP14Parser.js";
113
+ import { AttributeNamespaceContext } from "./CPP14Parser.js";
114
+ import { AttributeArgumentClauseContext } from "./CPP14Parser.js";
115
+ import { BalancedTokenSeqContext } from "./CPP14Parser.js";
116
+ import { BalancedtokenContext } from "./CPP14Parser.js";
117
+ import { InitDeclaratorListContext } from "./CPP14Parser.js";
118
+ import { InitDeclaratorContext } from "./CPP14Parser.js";
119
+ import { DeclaratorContext } from "./CPP14Parser.js";
120
+ import { PointerDeclaratorContext } from "./CPP14Parser.js";
121
+ import { NoPointerDeclaratorContext } from "./CPP14Parser.js";
122
+ import { ParametersAndQualifiersContext } from "./CPP14Parser.js";
123
+ import { TrailingReturnTypeContext } from "./CPP14Parser.js";
124
+ import { PointerOperatorContext } from "./CPP14Parser.js";
125
+ import { CvqualifierseqContext } from "./CPP14Parser.js";
126
+ import { CvQualifierContext } from "./CPP14Parser.js";
127
+ import { RefqualifierContext } from "./CPP14Parser.js";
128
+ import { DeclaratoridContext } from "./CPP14Parser.js";
129
+ import { TheTypeIdContext } from "./CPP14Parser.js";
130
+ import { AbstractDeclaratorContext } from "./CPP14Parser.js";
131
+ import { PointerAbstractDeclaratorContext } from "./CPP14Parser.js";
132
+ import { NoPointerAbstractDeclaratorContext } from "./CPP14Parser.js";
133
+ import { AbstractPackDeclaratorContext } from "./CPP14Parser.js";
134
+ import { NoPointerAbstractPackDeclaratorContext } from "./CPP14Parser.js";
135
+ import { ParameterDeclarationClauseContext } from "./CPP14Parser.js";
136
+ import { ParameterDeclarationListContext } from "./CPP14Parser.js";
137
+ import { ParameterDeclarationContext } from "./CPP14Parser.js";
138
+ import { FunctionDefinitionContext } from "./CPP14Parser.js";
139
+ import { FunctionBodyContext } from "./CPP14Parser.js";
140
+ import { InitializerContext } from "./CPP14Parser.js";
141
+ import { BraceOrEqualInitializerContext } from "./CPP14Parser.js";
142
+ import { InitializerClauseContext } from "./CPP14Parser.js";
143
+ import { InitializerListContext } from "./CPP14Parser.js";
144
+ import { BracedInitListContext } from "./CPP14Parser.js";
145
+ import { ClassNameContext } from "./CPP14Parser.js";
146
+ import { ClassSpecifierContext } from "./CPP14Parser.js";
147
+ import { ClassHeadContext } from "./CPP14Parser.js";
148
+ import { ClassHeadNameContext } from "./CPP14Parser.js";
149
+ import { ClassVirtSpecifierContext } from "./CPP14Parser.js";
150
+ import { ClassKeyContext } from "./CPP14Parser.js";
151
+ import { MemberSpecificationContext } from "./CPP14Parser.js";
152
+ import { MemberdeclarationContext } from "./CPP14Parser.js";
153
+ import { MemberDeclaratorListContext } from "./CPP14Parser.js";
154
+ import { MemberDeclaratorContext } from "./CPP14Parser.js";
155
+ import { VirtualSpecifierSeqContext } from "./CPP14Parser.js";
156
+ import { VirtualSpecifierContext } from "./CPP14Parser.js";
157
+ import { PureSpecifierContext } from "./CPP14Parser.js";
158
+ import { BaseClauseContext } from "./CPP14Parser.js";
159
+ import { BaseSpecifierListContext } from "./CPP14Parser.js";
160
+ import { BaseSpecifierContext } from "./CPP14Parser.js";
161
+ import { ClassOrDeclTypeContext } from "./CPP14Parser.js";
162
+ import { BaseTypeSpecifierContext } from "./CPP14Parser.js";
163
+ import { AccessSpecifierContext } from "./CPP14Parser.js";
164
+ import { ConversionFunctionIdContext } from "./CPP14Parser.js";
165
+ import { ConversionTypeIdContext } from "./CPP14Parser.js";
166
+ import { ConversionDeclaratorContext } from "./CPP14Parser.js";
167
+ import { ConstructorInitializerContext } from "./CPP14Parser.js";
168
+ import { MemInitializerListContext } from "./CPP14Parser.js";
169
+ import { MemInitializerContext } from "./CPP14Parser.js";
170
+ import { MeminitializeridContext } from "./CPP14Parser.js";
171
+ import { OperatorFunctionIdContext } from "./CPP14Parser.js";
172
+ import { LiteralOperatorIdContext } from "./CPP14Parser.js";
173
+ import { TemplateDeclarationContext } from "./CPP14Parser.js";
174
+ import { TemplateparameterListContext } from "./CPP14Parser.js";
175
+ import { TemplateParameterContext } from "./CPP14Parser.js";
176
+ import { TypeParameterContext } from "./CPP14Parser.js";
177
+ import { SimpleTemplateIdContext } from "./CPP14Parser.js";
178
+ import { TemplateIdContext } from "./CPP14Parser.js";
179
+ import { TemplateNameContext } from "./CPP14Parser.js";
180
+ import { TemplateArgumentListContext } from "./CPP14Parser.js";
181
+ import { TemplateArgumentContext } from "./CPP14Parser.js";
182
+ import { TypeNameSpecifierContext } from "./CPP14Parser.js";
183
+ import { ExplicitInstantiationContext } from "./CPP14Parser.js";
184
+ import { ExplicitSpecializationContext } from "./CPP14Parser.js";
185
+ import { TryBlockContext } from "./CPP14Parser.js";
186
+ import { FunctionTryBlockContext } from "./CPP14Parser.js";
187
+ import { HandlerSeqContext } from "./CPP14Parser.js";
188
+ import { HandlerContext } from "./CPP14Parser.js";
189
+ import { ExceptionDeclarationContext } from "./CPP14Parser.js";
190
+ import { ThrowExpressionContext } from "./CPP14Parser.js";
191
+ import { ExceptionSpecificationContext } from "./CPP14Parser.js";
192
+ import { DynamicExceptionSpecificationContext } from "./CPP14Parser.js";
193
+ import { TypeIdListContext } from "./CPP14Parser.js";
194
+ import { NoeExceptSpecificationContext } from "./CPP14Parser.js";
195
+ import { TheOperatorContext } from "./CPP14Parser.js";
196
+ import { LiteralContext } from "./CPP14Parser.js";
197
+
198
+
199
+ /**
200
+ * This interface defines a complete generic visitor for a parse tree produced
201
+ * by `CPP14Parser`.
202
+ *
203
+ * @param <Result> The return type of the visit operation. Use `void` for
204
+ * operations with no return type.
205
+ */
206
+ export class CPP14ParserVisitor<Result> extends AbstractParseTreeVisitor<Result> {
207
+ /**
208
+ * Visit a parse tree produced by `CPP14Parser.translationUnit`.
209
+ * @param ctx the parse tree
210
+ * @return the visitor result
211
+ */
212
+ visitTranslationUnit?: (ctx: TranslationUnitContext) => Result;
213
+ /**
214
+ * Visit a parse tree produced by `CPP14Parser.primaryExpression`.
215
+ * @param ctx the parse tree
216
+ * @return the visitor result
217
+ */
218
+ visitPrimaryExpression?: (ctx: PrimaryExpressionContext) => Result;
219
+ /**
220
+ * Visit a parse tree produced by `CPP14Parser.idExpression`.
221
+ * @param ctx the parse tree
222
+ * @return the visitor result
223
+ */
224
+ visitIdExpression?: (ctx: IdExpressionContext) => Result;
225
+ /**
226
+ * Visit a parse tree produced by `CPP14Parser.unqualifiedId`.
227
+ * @param ctx the parse tree
228
+ * @return the visitor result
229
+ */
230
+ visitUnqualifiedId?: (ctx: UnqualifiedIdContext) => Result;
231
+ /**
232
+ * Visit a parse tree produced by `CPP14Parser.qualifiedId`.
233
+ * @param ctx the parse tree
234
+ * @return the visitor result
235
+ */
236
+ visitQualifiedId?: (ctx: QualifiedIdContext) => Result;
237
+ /**
238
+ * Visit a parse tree produced by `CPP14Parser.nestedNameSpecifier`.
239
+ * @param ctx the parse tree
240
+ * @return the visitor result
241
+ */
242
+ visitNestedNameSpecifier?: (ctx: NestedNameSpecifierContext) => Result;
243
+ /**
244
+ * Visit a parse tree produced by `CPP14Parser.lambdaExpression`.
245
+ * @param ctx the parse tree
246
+ * @return the visitor result
247
+ */
248
+ visitLambdaExpression?: (ctx: LambdaExpressionContext) => Result;
249
+ /**
250
+ * Visit a parse tree produced by `CPP14Parser.lambdaIntroducer`.
251
+ * @param ctx the parse tree
252
+ * @return the visitor result
253
+ */
254
+ visitLambdaIntroducer?: (ctx: LambdaIntroducerContext) => Result;
255
+ /**
256
+ * Visit a parse tree produced by `CPP14Parser.lambdaCapture`.
257
+ * @param ctx the parse tree
258
+ * @return the visitor result
259
+ */
260
+ visitLambdaCapture?: (ctx: LambdaCaptureContext) => Result;
261
+ /**
262
+ * Visit a parse tree produced by `CPP14Parser.captureDefault`.
263
+ * @param ctx the parse tree
264
+ * @return the visitor result
265
+ */
266
+ visitCaptureDefault?: (ctx: CaptureDefaultContext) => Result;
267
+ /**
268
+ * Visit a parse tree produced by `CPP14Parser.captureList`.
269
+ * @param ctx the parse tree
270
+ * @return the visitor result
271
+ */
272
+ visitCaptureList?: (ctx: CaptureListContext) => Result;
273
+ /**
274
+ * Visit a parse tree produced by `CPP14Parser.capture`.
275
+ * @param ctx the parse tree
276
+ * @return the visitor result
277
+ */
278
+ visitCapture?: (ctx: CaptureContext) => Result;
279
+ /**
280
+ * Visit a parse tree produced by `CPP14Parser.simpleCapture`.
281
+ * @param ctx the parse tree
282
+ * @return the visitor result
283
+ */
284
+ visitSimpleCapture?: (ctx: SimpleCaptureContext) => Result;
285
+ /**
286
+ * Visit a parse tree produced by `CPP14Parser.initcapture`.
287
+ * @param ctx the parse tree
288
+ * @return the visitor result
289
+ */
290
+ visitInitcapture?: (ctx: InitcaptureContext) => Result;
291
+ /**
292
+ * Visit a parse tree produced by `CPP14Parser.lambdaDeclarator`.
293
+ * @param ctx the parse tree
294
+ * @return the visitor result
295
+ */
296
+ visitLambdaDeclarator?: (ctx: LambdaDeclaratorContext) => Result;
297
+ /**
298
+ * Visit a parse tree produced by `CPP14Parser.postfixExpression`.
299
+ * @param ctx the parse tree
300
+ * @return the visitor result
301
+ */
302
+ visitPostfixExpression?: (ctx: PostfixExpressionContext) => Result;
303
+ /**
304
+ * Visit a parse tree produced by `CPP14Parser.typeIdOfTheTypeId`.
305
+ * @param ctx the parse tree
306
+ * @return the visitor result
307
+ */
308
+ visitTypeIdOfTheTypeId?: (ctx: TypeIdOfTheTypeIdContext) => Result;
309
+ /**
310
+ * Visit a parse tree produced by `CPP14Parser.expressionList`.
311
+ * @param ctx the parse tree
312
+ * @return the visitor result
313
+ */
314
+ visitExpressionList?: (ctx: ExpressionListContext) => Result;
315
+ /**
316
+ * Visit a parse tree produced by `CPP14Parser.pseudoDestructorName`.
317
+ * @param ctx the parse tree
318
+ * @return the visitor result
319
+ */
320
+ visitPseudoDestructorName?: (ctx: PseudoDestructorNameContext) => Result;
321
+ /**
322
+ * Visit a parse tree produced by `CPP14Parser.unaryExpression`.
323
+ * @param ctx the parse tree
324
+ * @return the visitor result
325
+ */
326
+ visitUnaryExpression?: (ctx: UnaryExpressionContext) => Result;
327
+ /**
328
+ * Visit a parse tree produced by `CPP14Parser.unaryOperator`.
329
+ * @param ctx the parse tree
330
+ * @return the visitor result
331
+ */
332
+ visitUnaryOperator?: (ctx: UnaryOperatorContext) => Result;
333
+ /**
334
+ * Visit a parse tree produced by `CPP14Parser.newExpression_`.
335
+ * @param ctx the parse tree
336
+ * @return the visitor result
337
+ */
338
+ visitNewExpression_?: (ctx: NewExpression_Context) => Result;
339
+ /**
340
+ * Visit a parse tree produced by `CPP14Parser.newPlacement`.
341
+ * @param ctx the parse tree
342
+ * @return the visitor result
343
+ */
344
+ visitNewPlacement?: (ctx: NewPlacementContext) => Result;
345
+ /**
346
+ * Visit a parse tree produced by `CPP14Parser.newTypeId`.
347
+ * @param ctx the parse tree
348
+ * @return the visitor result
349
+ */
350
+ visitNewTypeId?: (ctx: NewTypeIdContext) => Result;
351
+ /**
352
+ * Visit a parse tree produced by `CPP14Parser.newDeclarator_`.
353
+ * @param ctx the parse tree
354
+ * @return the visitor result
355
+ */
356
+ visitNewDeclarator_?: (ctx: NewDeclarator_Context) => Result;
357
+ /**
358
+ * Visit a parse tree produced by `CPP14Parser.noPointerNewDeclarator`.
359
+ * @param ctx the parse tree
360
+ * @return the visitor result
361
+ */
362
+ visitNoPointerNewDeclarator?: (ctx: NoPointerNewDeclaratorContext) => Result;
363
+ /**
364
+ * Visit a parse tree produced by `CPP14Parser.newInitializer_`.
365
+ * @param ctx the parse tree
366
+ * @return the visitor result
367
+ */
368
+ visitNewInitializer_?: (ctx: NewInitializer_Context) => Result;
369
+ /**
370
+ * Visit a parse tree produced by `CPP14Parser.deleteExpression`.
371
+ * @param ctx the parse tree
372
+ * @return the visitor result
373
+ */
374
+ visitDeleteExpression?: (ctx: DeleteExpressionContext) => Result;
375
+ /**
376
+ * Visit a parse tree produced by `CPP14Parser.noExceptExpression`.
377
+ * @param ctx the parse tree
378
+ * @return the visitor result
379
+ */
380
+ visitNoExceptExpression?: (ctx: NoExceptExpressionContext) => Result;
381
+ /**
382
+ * Visit a parse tree produced by `CPP14Parser.castExpression`.
383
+ * @param ctx the parse tree
384
+ * @return the visitor result
385
+ */
386
+ visitCastExpression?: (ctx: CastExpressionContext) => Result;
387
+ /**
388
+ * Visit a parse tree produced by `CPP14Parser.pointerMemberExpression`.
389
+ * @param ctx the parse tree
390
+ * @return the visitor result
391
+ */
392
+ visitPointerMemberExpression?: (ctx: PointerMemberExpressionContext) => Result;
393
+ /**
394
+ * Visit a parse tree produced by `CPP14Parser.multiplicativeExpression`.
395
+ * @param ctx the parse tree
396
+ * @return the visitor result
397
+ */
398
+ visitMultiplicativeExpression?: (ctx: MultiplicativeExpressionContext) => Result;
399
+ /**
400
+ * Visit a parse tree produced by `CPP14Parser.additiveExpression`.
401
+ * @param ctx the parse tree
402
+ * @return the visitor result
403
+ */
404
+ visitAdditiveExpression?: (ctx: AdditiveExpressionContext) => Result;
405
+ /**
406
+ * Visit a parse tree produced by `CPP14Parser.shiftExpression`.
407
+ * @param ctx the parse tree
408
+ * @return the visitor result
409
+ */
410
+ visitShiftExpression?: (ctx: ShiftExpressionContext) => Result;
411
+ /**
412
+ * Visit a parse tree produced by `CPP14Parser.shiftOperator`.
413
+ * @param ctx the parse tree
414
+ * @return the visitor result
415
+ */
416
+ visitShiftOperator?: (ctx: ShiftOperatorContext) => Result;
417
+ /**
418
+ * Visit a parse tree produced by `CPP14Parser.relationalExpression`.
419
+ * @param ctx the parse tree
420
+ * @return the visitor result
421
+ */
422
+ visitRelationalExpression?: (ctx: RelationalExpressionContext) => Result;
423
+ /**
424
+ * Visit a parse tree produced by `CPP14Parser.equalityExpression`.
425
+ * @param ctx the parse tree
426
+ * @return the visitor result
427
+ */
428
+ visitEqualityExpression?: (ctx: EqualityExpressionContext) => Result;
429
+ /**
430
+ * Visit a parse tree produced by `CPP14Parser.andExpression`.
431
+ * @param ctx the parse tree
432
+ * @return the visitor result
433
+ */
434
+ visitAndExpression?: (ctx: AndExpressionContext) => Result;
435
+ /**
436
+ * Visit a parse tree produced by `CPP14Parser.exclusiveOrExpression`.
437
+ * @param ctx the parse tree
438
+ * @return the visitor result
439
+ */
440
+ visitExclusiveOrExpression?: (ctx: ExclusiveOrExpressionContext) => Result;
441
+ /**
442
+ * Visit a parse tree produced by `CPP14Parser.inclusiveOrExpression`.
443
+ * @param ctx the parse tree
444
+ * @return the visitor result
445
+ */
446
+ visitInclusiveOrExpression?: (ctx: InclusiveOrExpressionContext) => Result;
447
+ /**
448
+ * Visit a parse tree produced by `CPP14Parser.logicalAndExpression`.
449
+ * @param ctx the parse tree
450
+ * @return the visitor result
451
+ */
452
+ visitLogicalAndExpression?: (ctx: LogicalAndExpressionContext) => Result;
453
+ /**
454
+ * Visit a parse tree produced by `CPP14Parser.logicalOrExpression`.
455
+ * @param ctx the parse tree
456
+ * @return the visitor result
457
+ */
458
+ visitLogicalOrExpression?: (ctx: LogicalOrExpressionContext) => Result;
459
+ /**
460
+ * Visit a parse tree produced by `CPP14Parser.conditionalExpression`.
461
+ * @param ctx the parse tree
462
+ * @return the visitor result
463
+ */
464
+ visitConditionalExpression?: (ctx: ConditionalExpressionContext) => Result;
465
+ /**
466
+ * Visit a parse tree produced by `CPP14Parser.assignmentExpression`.
467
+ * @param ctx the parse tree
468
+ * @return the visitor result
469
+ */
470
+ visitAssignmentExpression?: (ctx: AssignmentExpressionContext) => Result;
471
+ /**
472
+ * Visit a parse tree produced by `CPP14Parser.assignmentOperator`.
473
+ * @param ctx the parse tree
474
+ * @return the visitor result
475
+ */
476
+ visitAssignmentOperator?: (ctx: AssignmentOperatorContext) => Result;
477
+ /**
478
+ * Visit a parse tree produced by `CPP14Parser.expression`.
479
+ * @param ctx the parse tree
480
+ * @return the visitor result
481
+ */
482
+ visitExpression?: (ctx: ExpressionContext) => Result;
483
+ /**
484
+ * Visit a parse tree produced by `CPP14Parser.constantExpression`.
485
+ * @param ctx the parse tree
486
+ * @return the visitor result
487
+ */
488
+ visitConstantExpression?: (ctx: ConstantExpressionContext) => Result;
489
+ /**
490
+ * Visit a parse tree produced by `CPP14Parser.statement`.
491
+ * @param ctx the parse tree
492
+ * @return the visitor result
493
+ */
494
+ visitStatement?: (ctx: StatementContext) => Result;
495
+ /**
496
+ * Visit a parse tree produced by `CPP14Parser.labeledStatement`.
497
+ * @param ctx the parse tree
498
+ * @return the visitor result
499
+ */
500
+ visitLabeledStatement?: (ctx: LabeledStatementContext) => Result;
501
+ /**
502
+ * Visit a parse tree produced by `CPP14Parser.expressionStatement`.
503
+ * @param ctx the parse tree
504
+ * @return the visitor result
505
+ */
506
+ visitExpressionStatement?: (ctx: ExpressionStatementContext) => Result;
507
+ /**
508
+ * Visit a parse tree produced by `CPP14Parser.compoundStatement`.
509
+ * @param ctx the parse tree
510
+ * @return the visitor result
511
+ */
512
+ visitCompoundStatement?: (ctx: CompoundStatementContext) => Result;
513
+ /**
514
+ * Visit a parse tree produced by `CPP14Parser.statementSeq`.
515
+ * @param ctx the parse tree
516
+ * @return the visitor result
517
+ */
518
+ visitStatementSeq?: (ctx: StatementSeqContext) => Result;
519
+ /**
520
+ * Visit a parse tree produced by `CPP14Parser.selectionStatement`.
521
+ * @param ctx the parse tree
522
+ * @return the visitor result
523
+ */
524
+ visitSelectionStatement?: (ctx: SelectionStatementContext) => Result;
525
+ /**
526
+ * Visit a parse tree produced by `CPP14Parser.condition`.
527
+ * @param ctx the parse tree
528
+ * @return the visitor result
529
+ */
530
+ visitCondition?: (ctx: ConditionContext) => Result;
531
+ /**
532
+ * Visit a parse tree produced by `CPP14Parser.iterationStatement`.
533
+ * @param ctx the parse tree
534
+ * @return the visitor result
535
+ */
536
+ visitIterationStatement?: (ctx: IterationStatementContext) => Result;
537
+ /**
538
+ * Visit a parse tree produced by `CPP14Parser.forInitStatement`.
539
+ * @param ctx the parse tree
540
+ * @return the visitor result
541
+ */
542
+ visitForInitStatement?: (ctx: ForInitStatementContext) => Result;
543
+ /**
544
+ * Visit a parse tree produced by `CPP14Parser.forRangeDeclaration`.
545
+ * @param ctx the parse tree
546
+ * @return the visitor result
547
+ */
548
+ visitForRangeDeclaration?: (ctx: ForRangeDeclarationContext) => Result;
549
+ /**
550
+ * Visit a parse tree produced by `CPP14Parser.forRangeInitializer`.
551
+ * @param ctx the parse tree
552
+ * @return the visitor result
553
+ */
554
+ visitForRangeInitializer?: (ctx: ForRangeInitializerContext) => Result;
555
+ /**
556
+ * Visit a parse tree produced by `CPP14Parser.jumpStatement`.
557
+ * @param ctx the parse tree
558
+ * @return the visitor result
559
+ */
560
+ visitJumpStatement?: (ctx: JumpStatementContext) => Result;
561
+ /**
562
+ * Visit a parse tree produced by `CPP14Parser.declarationStatement`.
563
+ * @param ctx the parse tree
564
+ * @return the visitor result
565
+ */
566
+ visitDeclarationStatement?: (ctx: DeclarationStatementContext) => Result;
567
+ /**
568
+ * Visit a parse tree produced by `CPP14Parser.declarationseq`.
569
+ * @param ctx the parse tree
570
+ * @return the visitor result
571
+ */
572
+ visitDeclarationseq?: (ctx: DeclarationseqContext) => Result;
573
+ /**
574
+ * Visit a parse tree produced by `CPP14Parser.declaration`.
575
+ * @param ctx the parse tree
576
+ * @return the visitor result
577
+ */
578
+ visitDeclaration?: (ctx: DeclarationContext) => Result;
579
+ /**
580
+ * Visit a parse tree produced by `CPP14Parser.blockDeclaration`.
581
+ * @param ctx the parse tree
582
+ * @return the visitor result
583
+ */
584
+ visitBlockDeclaration?: (ctx: BlockDeclarationContext) => Result;
585
+ /**
586
+ * Visit a parse tree produced by `CPP14Parser.aliasDeclaration`.
587
+ * @param ctx the parse tree
588
+ * @return the visitor result
589
+ */
590
+ visitAliasDeclaration?: (ctx: AliasDeclarationContext) => Result;
591
+ /**
592
+ * Visit a parse tree produced by `CPP14Parser.simpleDeclaration`.
593
+ * @param ctx the parse tree
594
+ * @return the visitor result
595
+ */
596
+ visitSimpleDeclaration?: (ctx: SimpleDeclarationContext) => Result;
597
+ /**
598
+ * Visit a parse tree produced by `CPP14Parser.staticAssertDeclaration`.
599
+ * @param ctx the parse tree
600
+ * @return the visitor result
601
+ */
602
+ visitStaticAssertDeclaration?: (ctx: StaticAssertDeclarationContext) => Result;
603
+ /**
604
+ * Visit a parse tree produced by `CPP14Parser.emptyDeclaration_`.
605
+ * @param ctx the parse tree
606
+ * @return the visitor result
607
+ */
608
+ visitEmptyDeclaration_?: (ctx: EmptyDeclaration_Context) => Result;
609
+ /**
610
+ * Visit a parse tree produced by `CPP14Parser.attributeDeclaration`.
611
+ * @param ctx the parse tree
612
+ * @return the visitor result
613
+ */
614
+ visitAttributeDeclaration?: (ctx: AttributeDeclarationContext) => Result;
615
+ /**
616
+ * Visit a parse tree produced by `CPP14Parser.declSpecifier`.
617
+ * @param ctx the parse tree
618
+ * @return the visitor result
619
+ */
620
+ visitDeclSpecifier?: (ctx: DeclSpecifierContext) => Result;
621
+ /**
622
+ * Visit a parse tree produced by `CPP14Parser.declSpecifierSeq`.
623
+ * @param ctx the parse tree
624
+ * @return the visitor result
625
+ */
626
+ visitDeclSpecifierSeq?: (ctx: DeclSpecifierSeqContext) => Result;
627
+ /**
628
+ * Visit a parse tree produced by `CPP14Parser.storageClassSpecifier`.
629
+ * @param ctx the parse tree
630
+ * @return the visitor result
631
+ */
632
+ visitStorageClassSpecifier?: (ctx: StorageClassSpecifierContext) => Result;
633
+ /**
634
+ * Visit a parse tree produced by `CPP14Parser.functionSpecifier`.
635
+ * @param ctx the parse tree
636
+ * @return the visitor result
637
+ */
638
+ visitFunctionSpecifier?: (ctx: FunctionSpecifierContext) => Result;
639
+ /**
640
+ * Visit a parse tree produced by `CPP14Parser.typedefName`.
641
+ * @param ctx the parse tree
642
+ * @return the visitor result
643
+ */
644
+ visitTypedefName?: (ctx: TypedefNameContext) => Result;
645
+ /**
646
+ * Visit a parse tree produced by `CPP14Parser.typeSpecifier`.
647
+ * @param ctx the parse tree
648
+ * @return the visitor result
649
+ */
650
+ visitTypeSpecifier?: (ctx: TypeSpecifierContext) => Result;
651
+ /**
652
+ * Visit a parse tree produced by `CPP14Parser.trailingTypeSpecifier`.
653
+ * @param ctx the parse tree
654
+ * @return the visitor result
655
+ */
656
+ visitTrailingTypeSpecifier?: (ctx: TrailingTypeSpecifierContext) => Result;
657
+ /**
658
+ * Visit a parse tree produced by `CPP14Parser.typeSpecifierSeq`.
659
+ * @param ctx the parse tree
660
+ * @return the visitor result
661
+ */
662
+ visitTypeSpecifierSeq?: (ctx: TypeSpecifierSeqContext) => Result;
663
+ /**
664
+ * Visit a parse tree produced by `CPP14Parser.trailingTypeSpecifierSeq`.
665
+ * @param ctx the parse tree
666
+ * @return the visitor result
667
+ */
668
+ visitTrailingTypeSpecifierSeq?: (ctx: TrailingTypeSpecifierSeqContext) => Result;
669
+ /**
670
+ * Visit a parse tree produced by `CPP14Parser.simpleTypeLengthModifier`.
671
+ * @param ctx the parse tree
672
+ * @return the visitor result
673
+ */
674
+ visitSimpleTypeLengthModifier?: (ctx: SimpleTypeLengthModifierContext) => Result;
675
+ /**
676
+ * Visit a parse tree produced by `CPP14Parser.simpleTypeSignednessModifier`.
677
+ * @param ctx the parse tree
678
+ * @return the visitor result
679
+ */
680
+ visitSimpleTypeSignednessModifier?: (ctx: SimpleTypeSignednessModifierContext) => Result;
681
+ /**
682
+ * Visit a parse tree produced by `CPP14Parser.simpleTypeSpecifier`.
683
+ * @param ctx the parse tree
684
+ * @return the visitor result
685
+ */
686
+ visitSimpleTypeSpecifier?: (ctx: SimpleTypeSpecifierContext) => Result;
687
+ /**
688
+ * Visit a parse tree produced by `CPP14Parser.theTypeName`.
689
+ * @param ctx the parse tree
690
+ * @return the visitor result
691
+ */
692
+ visitTheTypeName?: (ctx: TheTypeNameContext) => Result;
693
+ /**
694
+ * Visit a parse tree produced by `CPP14Parser.decltypeSpecifier`.
695
+ * @param ctx the parse tree
696
+ * @return the visitor result
697
+ */
698
+ visitDecltypeSpecifier?: (ctx: DecltypeSpecifierContext) => Result;
699
+ /**
700
+ * Visit a parse tree produced by `CPP14Parser.elaboratedTypeSpecifier`.
701
+ * @param ctx the parse tree
702
+ * @return the visitor result
703
+ */
704
+ visitElaboratedTypeSpecifier?: (ctx: ElaboratedTypeSpecifierContext) => Result;
705
+ /**
706
+ * Visit a parse tree produced by `CPP14Parser.enumName`.
707
+ * @param ctx the parse tree
708
+ * @return the visitor result
709
+ */
710
+ visitEnumName?: (ctx: EnumNameContext) => Result;
711
+ /**
712
+ * Visit a parse tree produced by `CPP14Parser.enumSpecifier`.
713
+ * @param ctx the parse tree
714
+ * @return the visitor result
715
+ */
716
+ visitEnumSpecifier?: (ctx: EnumSpecifierContext) => Result;
717
+ /**
718
+ * Visit a parse tree produced by `CPP14Parser.enumHead`.
719
+ * @param ctx the parse tree
720
+ * @return the visitor result
721
+ */
722
+ visitEnumHead?: (ctx: EnumHeadContext) => Result;
723
+ /**
724
+ * Visit a parse tree produced by `CPP14Parser.opaqueEnumDeclaration`.
725
+ * @param ctx the parse tree
726
+ * @return the visitor result
727
+ */
728
+ visitOpaqueEnumDeclaration?: (ctx: OpaqueEnumDeclarationContext) => Result;
729
+ /**
730
+ * Visit a parse tree produced by `CPP14Parser.enumkey`.
731
+ * @param ctx the parse tree
732
+ * @return the visitor result
733
+ */
734
+ visitEnumkey?: (ctx: EnumkeyContext) => Result;
735
+ /**
736
+ * Visit a parse tree produced by `CPP14Parser.enumbase`.
737
+ * @param ctx the parse tree
738
+ * @return the visitor result
739
+ */
740
+ visitEnumbase?: (ctx: EnumbaseContext) => Result;
741
+ /**
742
+ * Visit a parse tree produced by `CPP14Parser.enumeratorList`.
743
+ * @param ctx the parse tree
744
+ * @return the visitor result
745
+ */
746
+ visitEnumeratorList?: (ctx: EnumeratorListContext) => Result;
747
+ /**
748
+ * Visit a parse tree produced by `CPP14Parser.enumeratorDefinition`.
749
+ * @param ctx the parse tree
750
+ * @return the visitor result
751
+ */
752
+ visitEnumeratorDefinition?: (ctx: EnumeratorDefinitionContext) => Result;
753
+ /**
754
+ * Visit a parse tree produced by `CPP14Parser.enumerator`.
755
+ * @param ctx the parse tree
756
+ * @return the visitor result
757
+ */
758
+ visitEnumerator?: (ctx: EnumeratorContext) => Result;
759
+ /**
760
+ * Visit a parse tree produced by `CPP14Parser.namespaceName`.
761
+ * @param ctx the parse tree
762
+ * @return the visitor result
763
+ */
764
+ visitNamespaceName?: (ctx: NamespaceNameContext) => Result;
765
+ /**
766
+ * Visit a parse tree produced by `CPP14Parser.originalNamespaceName`.
767
+ * @param ctx the parse tree
768
+ * @return the visitor result
769
+ */
770
+ visitOriginalNamespaceName?: (ctx: OriginalNamespaceNameContext) => Result;
771
+ /**
772
+ * Visit a parse tree produced by `CPP14Parser.namespaceDefinition`.
773
+ * @param ctx the parse tree
774
+ * @return the visitor result
775
+ */
776
+ visitNamespaceDefinition?: (ctx: NamespaceDefinitionContext) => Result;
777
+ /**
778
+ * Visit a parse tree produced by `CPP14Parser.namespaceAlias`.
779
+ * @param ctx the parse tree
780
+ * @return the visitor result
781
+ */
782
+ visitNamespaceAlias?: (ctx: NamespaceAliasContext) => Result;
783
+ /**
784
+ * Visit a parse tree produced by `CPP14Parser.namespaceAliasDefinition`.
785
+ * @param ctx the parse tree
786
+ * @return the visitor result
787
+ */
788
+ visitNamespaceAliasDefinition?: (ctx: NamespaceAliasDefinitionContext) => Result;
789
+ /**
790
+ * Visit a parse tree produced by `CPP14Parser.qualifiednamespacespecifier`.
791
+ * @param ctx the parse tree
792
+ * @return the visitor result
793
+ */
794
+ visitQualifiednamespacespecifier?: (ctx: QualifiednamespacespecifierContext) => Result;
795
+ /**
796
+ * Visit a parse tree produced by `CPP14Parser.usingDeclaration`.
797
+ * @param ctx the parse tree
798
+ * @return the visitor result
799
+ */
800
+ visitUsingDeclaration?: (ctx: UsingDeclarationContext) => Result;
801
+ /**
802
+ * Visit a parse tree produced by `CPP14Parser.usingDirective`.
803
+ * @param ctx the parse tree
804
+ * @return the visitor result
805
+ */
806
+ visitUsingDirective?: (ctx: UsingDirectiveContext) => Result;
807
+ /**
808
+ * Visit a parse tree produced by `CPP14Parser.asmDefinition`.
809
+ * @param ctx the parse tree
810
+ * @return the visitor result
811
+ */
812
+ visitAsmDefinition?: (ctx: AsmDefinitionContext) => Result;
813
+ /**
814
+ * Visit a parse tree produced by `CPP14Parser.linkageSpecification`.
815
+ * @param ctx the parse tree
816
+ * @return the visitor result
817
+ */
818
+ visitLinkageSpecification?: (ctx: LinkageSpecificationContext) => Result;
819
+ /**
820
+ * Visit a parse tree produced by `CPP14Parser.attributeSpecifierSeq`.
821
+ * @param ctx the parse tree
822
+ * @return the visitor result
823
+ */
824
+ visitAttributeSpecifierSeq?: (ctx: AttributeSpecifierSeqContext) => Result;
825
+ /**
826
+ * Visit a parse tree produced by `CPP14Parser.attributeSpecifier`.
827
+ * @param ctx the parse tree
828
+ * @return the visitor result
829
+ */
830
+ visitAttributeSpecifier?: (ctx: AttributeSpecifierContext) => Result;
831
+ /**
832
+ * Visit a parse tree produced by `CPP14Parser.alignmentspecifier`.
833
+ * @param ctx the parse tree
834
+ * @return the visitor result
835
+ */
836
+ visitAlignmentspecifier?: (ctx: AlignmentspecifierContext) => Result;
837
+ /**
838
+ * Visit a parse tree produced by `CPP14Parser.attributeList`.
839
+ * @param ctx the parse tree
840
+ * @return the visitor result
841
+ */
842
+ visitAttributeList?: (ctx: AttributeListContext) => Result;
843
+ /**
844
+ * Visit a parse tree produced by `CPP14Parser.attribute`.
845
+ * @param ctx the parse tree
846
+ * @return the visitor result
847
+ */
848
+ visitAttribute?: (ctx: AttributeContext) => Result;
849
+ /**
850
+ * Visit a parse tree produced by `CPP14Parser.attributeNamespace`.
851
+ * @param ctx the parse tree
852
+ * @return the visitor result
853
+ */
854
+ visitAttributeNamespace?: (ctx: AttributeNamespaceContext) => Result;
855
+ /**
856
+ * Visit a parse tree produced by `CPP14Parser.attributeArgumentClause`.
857
+ * @param ctx the parse tree
858
+ * @return the visitor result
859
+ */
860
+ visitAttributeArgumentClause?: (ctx: AttributeArgumentClauseContext) => Result;
861
+ /**
862
+ * Visit a parse tree produced by `CPP14Parser.balancedTokenSeq`.
863
+ * @param ctx the parse tree
864
+ * @return the visitor result
865
+ */
866
+ visitBalancedTokenSeq?: (ctx: BalancedTokenSeqContext) => Result;
867
+ /**
868
+ * Visit a parse tree produced by `CPP14Parser.balancedtoken`.
869
+ * @param ctx the parse tree
870
+ * @return the visitor result
871
+ */
872
+ visitBalancedtoken?: (ctx: BalancedtokenContext) => Result;
873
+ /**
874
+ * Visit a parse tree produced by `CPP14Parser.initDeclaratorList`.
875
+ * @param ctx the parse tree
876
+ * @return the visitor result
877
+ */
878
+ visitInitDeclaratorList?: (ctx: InitDeclaratorListContext) => Result;
879
+ /**
880
+ * Visit a parse tree produced by `CPP14Parser.initDeclarator`.
881
+ * @param ctx the parse tree
882
+ * @return the visitor result
883
+ */
884
+ visitInitDeclarator?: (ctx: InitDeclaratorContext) => Result;
885
+ /**
886
+ * Visit a parse tree produced by `CPP14Parser.declarator`.
887
+ * @param ctx the parse tree
888
+ * @return the visitor result
889
+ */
890
+ visitDeclarator?: (ctx: DeclaratorContext) => Result;
891
+ /**
892
+ * Visit a parse tree produced by `CPP14Parser.pointerDeclarator`.
893
+ * @param ctx the parse tree
894
+ * @return the visitor result
895
+ */
896
+ visitPointerDeclarator?: (ctx: PointerDeclaratorContext) => Result;
897
+ /**
898
+ * Visit a parse tree produced by `CPP14Parser.noPointerDeclarator`.
899
+ * @param ctx the parse tree
900
+ * @return the visitor result
901
+ */
902
+ visitNoPointerDeclarator?: (ctx: NoPointerDeclaratorContext) => Result;
903
+ /**
904
+ * Visit a parse tree produced by `CPP14Parser.parametersAndQualifiers`.
905
+ * @param ctx the parse tree
906
+ * @return the visitor result
907
+ */
908
+ visitParametersAndQualifiers?: (ctx: ParametersAndQualifiersContext) => Result;
909
+ /**
910
+ * Visit a parse tree produced by `CPP14Parser.trailingReturnType`.
911
+ * @param ctx the parse tree
912
+ * @return the visitor result
913
+ */
914
+ visitTrailingReturnType?: (ctx: TrailingReturnTypeContext) => Result;
915
+ /**
916
+ * Visit a parse tree produced by `CPP14Parser.pointerOperator`.
917
+ * @param ctx the parse tree
918
+ * @return the visitor result
919
+ */
920
+ visitPointerOperator?: (ctx: PointerOperatorContext) => Result;
921
+ /**
922
+ * Visit a parse tree produced by `CPP14Parser.cvqualifierseq`.
923
+ * @param ctx the parse tree
924
+ * @return the visitor result
925
+ */
926
+ visitCvqualifierseq?: (ctx: CvqualifierseqContext) => Result;
927
+ /**
928
+ * Visit a parse tree produced by `CPP14Parser.cvQualifier`.
929
+ * @param ctx the parse tree
930
+ * @return the visitor result
931
+ */
932
+ visitCvQualifier?: (ctx: CvQualifierContext) => Result;
933
+ /**
934
+ * Visit a parse tree produced by `CPP14Parser.refqualifier`.
935
+ * @param ctx the parse tree
936
+ * @return the visitor result
937
+ */
938
+ visitRefqualifier?: (ctx: RefqualifierContext) => Result;
939
+ /**
940
+ * Visit a parse tree produced by `CPP14Parser.declaratorid`.
941
+ * @param ctx the parse tree
942
+ * @return the visitor result
943
+ */
944
+ visitDeclaratorid?: (ctx: DeclaratoridContext) => Result;
945
+ /**
946
+ * Visit a parse tree produced by `CPP14Parser.theTypeId`.
947
+ * @param ctx the parse tree
948
+ * @return the visitor result
949
+ */
950
+ visitTheTypeId?: (ctx: TheTypeIdContext) => Result;
951
+ /**
952
+ * Visit a parse tree produced by `CPP14Parser.abstractDeclarator`.
953
+ * @param ctx the parse tree
954
+ * @return the visitor result
955
+ */
956
+ visitAbstractDeclarator?: (ctx: AbstractDeclaratorContext) => Result;
957
+ /**
958
+ * Visit a parse tree produced by `CPP14Parser.pointerAbstractDeclarator`.
959
+ * @param ctx the parse tree
960
+ * @return the visitor result
961
+ */
962
+ visitPointerAbstractDeclarator?: (ctx: PointerAbstractDeclaratorContext) => Result;
963
+ /**
964
+ * Visit a parse tree produced by `CPP14Parser.noPointerAbstractDeclarator`.
965
+ * @param ctx the parse tree
966
+ * @return the visitor result
967
+ */
968
+ visitNoPointerAbstractDeclarator?: (ctx: NoPointerAbstractDeclaratorContext) => Result;
969
+ /**
970
+ * Visit a parse tree produced by `CPP14Parser.abstractPackDeclarator`.
971
+ * @param ctx the parse tree
972
+ * @return the visitor result
973
+ */
974
+ visitAbstractPackDeclarator?: (ctx: AbstractPackDeclaratorContext) => Result;
975
+ /**
976
+ * Visit a parse tree produced by `CPP14Parser.noPointerAbstractPackDeclarator`.
977
+ * @param ctx the parse tree
978
+ * @return the visitor result
979
+ */
980
+ visitNoPointerAbstractPackDeclarator?: (ctx: NoPointerAbstractPackDeclaratorContext) => Result;
981
+ /**
982
+ * Visit a parse tree produced by `CPP14Parser.parameterDeclarationClause`.
983
+ * @param ctx the parse tree
984
+ * @return the visitor result
985
+ */
986
+ visitParameterDeclarationClause?: (ctx: ParameterDeclarationClauseContext) => Result;
987
+ /**
988
+ * Visit a parse tree produced by `CPP14Parser.parameterDeclarationList`.
989
+ * @param ctx the parse tree
990
+ * @return the visitor result
991
+ */
992
+ visitParameterDeclarationList?: (ctx: ParameterDeclarationListContext) => Result;
993
+ /**
994
+ * Visit a parse tree produced by `CPP14Parser.parameterDeclaration`.
995
+ * @param ctx the parse tree
996
+ * @return the visitor result
997
+ */
998
+ visitParameterDeclaration?: (ctx: ParameterDeclarationContext) => Result;
999
+ /**
1000
+ * Visit a parse tree produced by `CPP14Parser.functionDefinition`.
1001
+ * @param ctx the parse tree
1002
+ * @return the visitor result
1003
+ */
1004
+ visitFunctionDefinition?: (ctx: FunctionDefinitionContext) => Result;
1005
+ /**
1006
+ * Visit a parse tree produced by `CPP14Parser.functionBody`.
1007
+ * @param ctx the parse tree
1008
+ * @return the visitor result
1009
+ */
1010
+ visitFunctionBody?: (ctx: FunctionBodyContext) => Result;
1011
+ /**
1012
+ * Visit a parse tree produced by `CPP14Parser.initializer`.
1013
+ * @param ctx the parse tree
1014
+ * @return the visitor result
1015
+ */
1016
+ visitInitializer?: (ctx: InitializerContext) => Result;
1017
+ /**
1018
+ * Visit a parse tree produced by `CPP14Parser.braceOrEqualInitializer`.
1019
+ * @param ctx the parse tree
1020
+ * @return the visitor result
1021
+ */
1022
+ visitBraceOrEqualInitializer?: (ctx: BraceOrEqualInitializerContext) => Result;
1023
+ /**
1024
+ * Visit a parse tree produced by `CPP14Parser.initializerClause`.
1025
+ * @param ctx the parse tree
1026
+ * @return the visitor result
1027
+ */
1028
+ visitInitializerClause?: (ctx: InitializerClauseContext) => Result;
1029
+ /**
1030
+ * Visit a parse tree produced by `CPP14Parser.initializerList`.
1031
+ * @param ctx the parse tree
1032
+ * @return the visitor result
1033
+ */
1034
+ visitInitializerList?: (ctx: InitializerListContext) => Result;
1035
+ /**
1036
+ * Visit a parse tree produced by `CPP14Parser.bracedInitList`.
1037
+ * @param ctx the parse tree
1038
+ * @return the visitor result
1039
+ */
1040
+ visitBracedInitList?: (ctx: BracedInitListContext) => Result;
1041
+ /**
1042
+ * Visit a parse tree produced by `CPP14Parser.className`.
1043
+ * @param ctx the parse tree
1044
+ * @return the visitor result
1045
+ */
1046
+ visitClassName?: (ctx: ClassNameContext) => Result;
1047
+ /**
1048
+ * Visit a parse tree produced by `CPP14Parser.classSpecifier`.
1049
+ * @param ctx the parse tree
1050
+ * @return the visitor result
1051
+ */
1052
+ visitClassSpecifier?: (ctx: ClassSpecifierContext) => Result;
1053
+ /**
1054
+ * Visit a parse tree produced by `CPP14Parser.classHead`.
1055
+ * @param ctx the parse tree
1056
+ * @return the visitor result
1057
+ */
1058
+ visitClassHead?: (ctx: ClassHeadContext) => Result;
1059
+ /**
1060
+ * Visit a parse tree produced by `CPP14Parser.classHeadName`.
1061
+ * @param ctx the parse tree
1062
+ * @return the visitor result
1063
+ */
1064
+ visitClassHeadName?: (ctx: ClassHeadNameContext) => Result;
1065
+ /**
1066
+ * Visit a parse tree produced by `CPP14Parser.classVirtSpecifier`.
1067
+ * @param ctx the parse tree
1068
+ * @return the visitor result
1069
+ */
1070
+ visitClassVirtSpecifier?: (ctx: ClassVirtSpecifierContext) => Result;
1071
+ /**
1072
+ * Visit a parse tree produced by `CPP14Parser.classKey`.
1073
+ * @param ctx the parse tree
1074
+ * @return the visitor result
1075
+ */
1076
+ visitClassKey?: (ctx: ClassKeyContext) => Result;
1077
+ /**
1078
+ * Visit a parse tree produced by `CPP14Parser.memberSpecification`.
1079
+ * @param ctx the parse tree
1080
+ * @return the visitor result
1081
+ */
1082
+ visitMemberSpecification?: (ctx: MemberSpecificationContext) => Result;
1083
+ /**
1084
+ * Visit a parse tree produced by `CPP14Parser.memberdeclaration`.
1085
+ * @param ctx the parse tree
1086
+ * @return the visitor result
1087
+ */
1088
+ visitMemberdeclaration?: (ctx: MemberdeclarationContext) => Result;
1089
+ /**
1090
+ * Visit a parse tree produced by `CPP14Parser.memberDeclaratorList`.
1091
+ * @param ctx the parse tree
1092
+ * @return the visitor result
1093
+ */
1094
+ visitMemberDeclaratorList?: (ctx: MemberDeclaratorListContext) => Result;
1095
+ /**
1096
+ * Visit a parse tree produced by `CPP14Parser.memberDeclarator`.
1097
+ * @param ctx the parse tree
1098
+ * @return the visitor result
1099
+ */
1100
+ visitMemberDeclarator?: (ctx: MemberDeclaratorContext) => Result;
1101
+ /**
1102
+ * Visit a parse tree produced by `CPP14Parser.virtualSpecifierSeq`.
1103
+ * @param ctx the parse tree
1104
+ * @return the visitor result
1105
+ */
1106
+ visitVirtualSpecifierSeq?: (ctx: VirtualSpecifierSeqContext) => Result;
1107
+ /**
1108
+ * Visit a parse tree produced by `CPP14Parser.virtualSpecifier`.
1109
+ * @param ctx the parse tree
1110
+ * @return the visitor result
1111
+ */
1112
+ visitVirtualSpecifier?: (ctx: VirtualSpecifierContext) => Result;
1113
+ /**
1114
+ * Visit a parse tree produced by `CPP14Parser.pureSpecifier`.
1115
+ * @param ctx the parse tree
1116
+ * @return the visitor result
1117
+ */
1118
+ visitPureSpecifier?: (ctx: PureSpecifierContext) => Result;
1119
+ /**
1120
+ * Visit a parse tree produced by `CPP14Parser.baseClause`.
1121
+ * @param ctx the parse tree
1122
+ * @return the visitor result
1123
+ */
1124
+ visitBaseClause?: (ctx: BaseClauseContext) => Result;
1125
+ /**
1126
+ * Visit a parse tree produced by `CPP14Parser.baseSpecifierList`.
1127
+ * @param ctx the parse tree
1128
+ * @return the visitor result
1129
+ */
1130
+ visitBaseSpecifierList?: (ctx: BaseSpecifierListContext) => Result;
1131
+ /**
1132
+ * Visit a parse tree produced by `CPP14Parser.baseSpecifier`.
1133
+ * @param ctx the parse tree
1134
+ * @return the visitor result
1135
+ */
1136
+ visitBaseSpecifier?: (ctx: BaseSpecifierContext) => Result;
1137
+ /**
1138
+ * Visit a parse tree produced by `CPP14Parser.classOrDeclType`.
1139
+ * @param ctx the parse tree
1140
+ * @return the visitor result
1141
+ */
1142
+ visitClassOrDeclType?: (ctx: ClassOrDeclTypeContext) => Result;
1143
+ /**
1144
+ * Visit a parse tree produced by `CPP14Parser.baseTypeSpecifier`.
1145
+ * @param ctx the parse tree
1146
+ * @return the visitor result
1147
+ */
1148
+ visitBaseTypeSpecifier?: (ctx: BaseTypeSpecifierContext) => Result;
1149
+ /**
1150
+ * Visit a parse tree produced by `CPP14Parser.accessSpecifier`.
1151
+ * @param ctx the parse tree
1152
+ * @return the visitor result
1153
+ */
1154
+ visitAccessSpecifier?: (ctx: AccessSpecifierContext) => Result;
1155
+ /**
1156
+ * Visit a parse tree produced by `CPP14Parser.conversionFunctionId`.
1157
+ * @param ctx the parse tree
1158
+ * @return the visitor result
1159
+ */
1160
+ visitConversionFunctionId?: (ctx: ConversionFunctionIdContext) => Result;
1161
+ /**
1162
+ * Visit a parse tree produced by `CPP14Parser.conversionTypeId`.
1163
+ * @param ctx the parse tree
1164
+ * @return the visitor result
1165
+ */
1166
+ visitConversionTypeId?: (ctx: ConversionTypeIdContext) => Result;
1167
+ /**
1168
+ * Visit a parse tree produced by `CPP14Parser.conversionDeclarator`.
1169
+ * @param ctx the parse tree
1170
+ * @return the visitor result
1171
+ */
1172
+ visitConversionDeclarator?: (ctx: ConversionDeclaratorContext) => Result;
1173
+ /**
1174
+ * Visit a parse tree produced by `CPP14Parser.constructorInitializer`.
1175
+ * @param ctx the parse tree
1176
+ * @return the visitor result
1177
+ */
1178
+ visitConstructorInitializer?: (ctx: ConstructorInitializerContext) => Result;
1179
+ /**
1180
+ * Visit a parse tree produced by `CPP14Parser.memInitializerList`.
1181
+ * @param ctx the parse tree
1182
+ * @return the visitor result
1183
+ */
1184
+ visitMemInitializerList?: (ctx: MemInitializerListContext) => Result;
1185
+ /**
1186
+ * Visit a parse tree produced by `CPP14Parser.memInitializer`.
1187
+ * @param ctx the parse tree
1188
+ * @return the visitor result
1189
+ */
1190
+ visitMemInitializer?: (ctx: MemInitializerContext) => Result;
1191
+ /**
1192
+ * Visit a parse tree produced by `CPP14Parser.meminitializerid`.
1193
+ * @param ctx the parse tree
1194
+ * @return the visitor result
1195
+ */
1196
+ visitMeminitializerid?: (ctx: MeminitializeridContext) => Result;
1197
+ /**
1198
+ * Visit a parse tree produced by `CPP14Parser.operatorFunctionId`.
1199
+ * @param ctx the parse tree
1200
+ * @return the visitor result
1201
+ */
1202
+ visitOperatorFunctionId?: (ctx: OperatorFunctionIdContext) => Result;
1203
+ /**
1204
+ * Visit a parse tree produced by `CPP14Parser.literalOperatorId`.
1205
+ * @param ctx the parse tree
1206
+ * @return the visitor result
1207
+ */
1208
+ visitLiteralOperatorId?: (ctx: LiteralOperatorIdContext) => Result;
1209
+ /**
1210
+ * Visit a parse tree produced by `CPP14Parser.templateDeclaration`.
1211
+ * @param ctx the parse tree
1212
+ * @return the visitor result
1213
+ */
1214
+ visitTemplateDeclaration?: (ctx: TemplateDeclarationContext) => Result;
1215
+ /**
1216
+ * Visit a parse tree produced by `CPP14Parser.templateparameterList`.
1217
+ * @param ctx the parse tree
1218
+ * @return the visitor result
1219
+ */
1220
+ visitTemplateparameterList?: (ctx: TemplateparameterListContext) => Result;
1221
+ /**
1222
+ * Visit a parse tree produced by `CPP14Parser.templateParameter`.
1223
+ * @param ctx the parse tree
1224
+ * @return the visitor result
1225
+ */
1226
+ visitTemplateParameter?: (ctx: TemplateParameterContext) => Result;
1227
+ /**
1228
+ * Visit a parse tree produced by `CPP14Parser.typeParameter`.
1229
+ * @param ctx the parse tree
1230
+ * @return the visitor result
1231
+ */
1232
+ visitTypeParameter?: (ctx: TypeParameterContext) => Result;
1233
+ /**
1234
+ * Visit a parse tree produced by `CPP14Parser.simpleTemplateId`.
1235
+ * @param ctx the parse tree
1236
+ * @return the visitor result
1237
+ */
1238
+ visitSimpleTemplateId?: (ctx: SimpleTemplateIdContext) => Result;
1239
+ /**
1240
+ * Visit a parse tree produced by `CPP14Parser.templateId`.
1241
+ * @param ctx the parse tree
1242
+ * @return the visitor result
1243
+ */
1244
+ visitTemplateId?: (ctx: TemplateIdContext) => Result;
1245
+ /**
1246
+ * Visit a parse tree produced by `CPP14Parser.templateName`.
1247
+ * @param ctx the parse tree
1248
+ * @return the visitor result
1249
+ */
1250
+ visitTemplateName?: (ctx: TemplateNameContext) => Result;
1251
+ /**
1252
+ * Visit a parse tree produced by `CPP14Parser.templateArgumentList`.
1253
+ * @param ctx the parse tree
1254
+ * @return the visitor result
1255
+ */
1256
+ visitTemplateArgumentList?: (ctx: TemplateArgumentListContext) => Result;
1257
+ /**
1258
+ * Visit a parse tree produced by `CPP14Parser.templateArgument`.
1259
+ * @param ctx the parse tree
1260
+ * @return the visitor result
1261
+ */
1262
+ visitTemplateArgument?: (ctx: TemplateArgumentContext) => Result;
1263
+ /**
1264
+ * Visit a parse tree produced by `CPP14Parser.typeNameSpecifier`.
1265
+ * @param ctx the parse tree
1266
+ * @return the visitor result
1267
+ */
1268
+ visitTypeNameSpecifier?: (ctx: TypeNameSpecifierContext) => Result;
1269
+ /**
1270
+ * Visit a parse tree produced by `CPP14Parser.explicitInstantiation`.
1271
+ * @param ctx the parse tree
1272
+ * @return the visitor result
1273
+ */
1274
+ visitExplicitInstantiation?: (ctx: ExplicitInstantiationContext) => Result;
1275
+ /**
1276
+ * Visit a parse tree produced by `CPP14Parser.explicitSpecialization`.
1277
+ * @param ctx the parse tree
1278
+ * @return the visitor result
1279
+ */
1280
+ visitExplicitSpecialization?: (ctx: ExplicitSpecializationContext) => Result;
1281
+ /**
1282
+ * Visit a parse tree produced by `CPP14Parser.tryBlock`.
1283
+ * @param ctx the parse tree
1284
+ * @return the visitor result
1285
+ */
1286
+ visitTryBlock?: (ctx: TryBlockContext) => Result;
1287
+ /**
1288
+ * Visit a parse tree produced by `CPP14Parser.functionTryBlock`.
1289
+ * @param ctx the parse tree
1290
+ * @return the visitor result
1291
+ */
1292
+ visitFunctionTryBlock?: (ctx: FunctionTryBlockContext) => Result;
1293
+ /**
1294
+ * Visit a parse tree produced by `CPP14Parser.handlerSeq`.
1295
+ * @param ctx the parse tree
1296
+ * @return the visitor result
1297
+ */
1298
+ visitHandlerSeq?: (ctx: HandlerSeqContext) => Result;
1299
+ /**
1300
+ * Visit a parse tree produced by `CPP14Parser.handler`.
1301
+ * @param ctx the parse tree
1302
+ * @return the visitor result
1303
+ */
1304
+ visitHandler?: (ctx: HandlerContext) => Result;
1305
+ /**
1306
+ * Visit a parse tree produced by `CPP14Parser.exceptionDeclaration`.
1307
+ * @param ctx the parse tree
1308
+ * @return the visitor result
1309
+ */
1310
+ visitExceptionDeclaration?: (ctx: ExceptionDeclarationContext) => Result;
1311
+ /**
1312
+ * Visit a parse tree produced by `CPP14Parser.throwExpression`.
1313
+ * @param ctx the parse tree
1314
+ * @return the visitor result
1315
+ */
1316
+ visitThrowExpression?: (ctx: ThrowExpressionContext) => Result;
1317
+ /**
1318
+ * Visit a parse tree produced by `CPP14Parser.exceptionSpecification`.
1319
+ * @param ctx the parse tree
1320
+ * @return the visitor result
1321
+ */
1322
+ visitExceptionSpecification?: (ctx: ExceptionSpecificationContext) => Result;
1323
+ /**
1324
+ * Visit a parse tree produced by `CPP14Parser.dynamicExceptionSpecification`.
1325
+ * @param ctx the parse tree
1326
+ * @return the visitor result
1327
+ */
1328
+ visitDynamicExceptionSpecification?: (ctx: DynamicExceptionSpecificationContext) => Result;
1329
+ /**
1330
+ * Visit a parse tree produced by `CPP14Parser.typeIdList`.
1331
+ * @param ctx the parse tree
1332
+ * @return the visitor result
1333
+ */
1334
+ visitTypeIdList?: (ctx: TypeIdListContext) => Result;
1335
+ /**
1336
+ * Visit a parse tree produced by `CPP14Parser.noeExceptSpecification`.
1337
+ * @param ctx the parse tree
1338
+ * @return the visitor result
1339
+ */
1340
+ visitNoeExceptSpecification?: (ctx: NoeExceptSpecificationContext) => Result;
1341
+ /**
1342
+ * Visit a parse tree produced by `CPP14Parser.theOperator`.
1343
+ * @param ctx the parse tree
1344
+ * @return the visitor result
1345
+ */
1346
+ visitTheOperator?: (ctx: TheOperatorContext) => Result;
1347
+ /**
1348
+ * Visit a parse tree produced by `CPP14Parser.literal`.
1349
+ * @param ctx the parse tree
1350
+ * @return the visitor result
1351
+ */
1352
+ visitLiteral?: (ctx: LiteralContext) => Result;
1353
+ }
1354
+