]> gitweb.ps.run Git - toc/blob - gen/TocParser.h
generic grammar
[toc] / gen / TocParser.h
1 \r
2 // Generated from Toc.g4 by ANTLR 4.9.2\r
3 \r
4 #pragma once\r
5 \r
6 \r
7 #include "antlr4-runtime.h"\r
8 \r
9 \r
10 \r
11 \r
12 class  TocParser : public antlr4::Parser {\r
13 public:\r
14   enum {\r
15     T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, \r
16     T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, \r
17     T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, \r
18     T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, \r
19     T__26 = 27, T__27 = 28, T__28 = 29, T__29 = 30, T__30 = 31, T__31 = 32, \r
20     T__32 = 33, T__33 = 34, T__34 = 35, T__35 = 36, T__36 = 37, T__37 = 38, \r
21     T__38 = 39, T__39 = 40, T__40 = 41, T__41 = 42, T__42 = 43, T__43 = 44, \r
22     T__44 = 45, T__45 = 46, T__46 = 47, T__47 = 48, T__48 = 49, T__49 = 50, \r
23     T__50 = 51, T__51 = 52, T__52 = 53, T__53 = 54, T__54 = 55, INT_LIT = 56, \r
24     DECIMAL_LIT = 57, STRING_LIT = 58, BOOL_LIT = 59, NAME = 60, WS = 61, \r
25     NEWLINE = 62\r
26   };\r
27 \r
28   enum {\r
29     RuleProg = 0, RuleDecl = 1, RuleVarDecl = 2, RuleVar = 3, RuleVarInit = 4, \r
30     RuleType = 5, RuleTypeModifier = 6, RuleFuncDecl = 7, RuleFunc = 8, \r
31     RuleParameter = 9, RuleBody = 10, RuleStructDecl = 11, RuleStructMember = 12, \r
32     RuleStructVar = 13, RuleStructMethod = 14, RuleGenericDecl = 15, RuleStmt = 16, \r
33     RuleIfStmt = 17, RuleElseIfStmt = 18, RuleElseStmt = 19, RuleSwitchStmt = 20, \r
34     RuleSwitchBody = 21, RuleSwitchCase = 22, RuleForStmt = 23, RuleWhileStmt = 24, \r
35     RuleAssignStmt = 25, RuleReturnStmt = 26, RuleExpr = 27, RuleNonOpExpr = 28, \r
36     RuleNonAccessExpr = 29, RuleFuncExpr = 30, RuleOpExpr = 31, RuleBinaryOp = 32, \r
37     RulePrefixOp = 33, RulePostfixOp = 34, RuleTernaryOp = 35, RuleIdentifierExpr = 36, \r
38     RuleLitExpr = 37, RuleAccessExpr = 38, RuleAccessSubExpr = 39, RuleAccessMember = 40, \r
39     RuleAccessBrackets = 41, RuleParenExpr = 42, RuleFuncName = 43, RuleVarName = 44, \r
40     RuleTypeName = 45, RuleStructName = 46, RulePostfix_op = 47, RulePrefix_op = 48, \r
41     RuleBinary_op = 49\r
42   };\r
43 \r
44   explicit TocParser(antlr4::TokenStream *input);\r
45   ~TocParser();\r
46 \r
47   virtual std::string getGrammarFileName() const override;\r
48   virtual const antlr4::atn::ATN& getATN() const override { return _atn; };\r
49   virtual const std::vector<std::string>& getTokenNames() const override { return _tokenNames; }; // deprecated: use vocabulary instead.\r
50   virtual const std::vector<std::string>& getRuleNames() const override;\r
51   virtual antlr4::dfa::Vocabulary& getVocabulary() const override;\r
52 \r
53 \r
54   class ProgContext;\r
55   class DeclContext;\r
56   class VarDeclContext;\r
57   class VarContext;\r
58   class VarInitContext;\r
59   class TypeContext;\r
60   class TypeModifierContext;\r
61   class FuncDeclContext;\r
62   class FuncContext;\r
63   class ParameterContext;\r
64   class BodyContext;\r
65   class StructDeclContext;\r
66   class StructMemberContext;\r
67   class StructVarContext;\r
68   class StructMethodContext;\r
69   class GenericDeclContext;\r
70   class StmtContext;\r
71   class IfStmtContext;\r
72   class ElseIfStmtContext;\r
73   class ElseStmtContext;\r
74   class SwitchStmtContext;\r
75   class SwitchBodyContext;\r
76   class SwitchCaseContext;\r
77   class ForStmtContext;\r
78   class WhileStmtContext;\r
79   class AssignStmtContext;\r
80   class ReturnStmtContext;\r
81   class ExprContext;\r
82   class NonOpExprContext;\r
83   class NonAccessExprContext;\r
84   class FuncExprContext;\r
85   class OpExprContext;\r
86   class BinaryOpContext;\r
87   class PrefixOpContext;\r
88   class PostfixOpContext;\r
89   class TernaryOpContext;\r
90   class IdentifierExprContext;\r
91   class LitExprContext;\r
92   class AccessExprContext;\r
93   class AccessSubExprContext;\r
94   class AccessMemberContext;\r
95   class AccessBracketsContext;\r
96   class ParenExprContext;\r
97   class FuncNameContext;\r
98   class VarNameContext;\r
99   class TypeNameContext;\r
100   class StructNameContext;\r
101   class Postfix_opContext;\r
102   class Prefix_opContext;\r
103   class Binary_opContext; \r
104 \r
105   class  ProgContext : public antlr4::ParserRuleContext {\r
106   public:\r
107     ProgContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
108     virtual size_t getRuleIndex() const override;\r
109     antlr4::tree::TerminalNode *EOF();\r
110     std::vector<DeclContext *> decl();\r
111     DeclContext* decl(size_t i);\r
112 \r
113    \r
114   };\r
115 \r
116   ProgContext* prog();\r
117 \r
118   class  DeclContext : public antlr4::ParserRuleContext {\r
119   public:\r
120     DeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
121     virtual size_t getRuleIndex() const override;\r
122     VarDeclContext *varDecl();\r
123     FuncDeclContext *funcDecl();\r
124     StructDeclContext *structDecl();\r
125 \r
126    \r
127   };\r
128 \r
129   DeclContext* decl();\r
130 \r
131   class  VarDeclContext : public antlr4::ParserRuleContext {\r
132   public:\r
133     VarDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
134     virtual size_t getRuleIndex() const override;\r
135     VarContext *var();\r
136 \r
137    \r
138   };\r
139 \r
140   VarDeclContext* varDecl();\r
141 \r
142   class  VarContext : public antlr4::ParserRuleContext {\r
143   public:\r
144     VarContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
145     virtual size_t getRuleIndex() const override;\r
146     VarNameContext *varName();\r
147     TypeContext *type();\r
148     ExprContext *expr();\r
149 \r
150    \r
151   };\r
152 \r
153   VarContext* var();\r
154 \r
155   class  VarInitContext : public antlr4::ParserRuleContext {\r
156   public:\r
157     VarInitContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
158     virtual size_t getRuleIndex() const override;\r
159     VarNameContext *varName();\r
160     TypeContext *type();\r
161     ExprContext *expr();\r
162 \r
163    \r
164   };\r
165 \r
166   VarInitContext* varInit();\r
167 \r
168   class  TypeContext : public antlr4::ParserRuleContext {\r
169   public:\r
170     TypeContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
171     virtual size_t getRuleIndex() const override;\r
172     TypeNameContext *typeName();\r
173     std::vector<TypeModifierContext *> typeModifier();\r
174     TypeModifierContext* typeModifier(size_t i);\r
175 \r
176    \r
177   };\r
178 \r
179   TypeContext* type();\r
180 \r
181   class  TypeModifierContext : public antlr4::ParserRuleContext {\r
182   public:\r
183     TypeModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
184     virtual size_t getRuleIndex() const override;\r
185     antlr4::tree::TerminalNode *INT_LIT();\r
186 \r
187    \r
188   };\r
189 \r
190   TypeModifierContext* typeModifier();\r
191 \r
192   class  FuncDeclContext : public antlr4::ParserRuleContext {\r
193   public:\r
194     FuncDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
195     virtual size_t getRuleIndex() const override;\r
196     FuncContext *func();\r
197 \r
198    \r
199   };\r
200 \r
201   FuncDeclContext* funcDecl();\r
202 \r
203   class  FuncContext : public antlr4::ParserRuleContext {\r
204   public:\r
205     FuncContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
206     virtual size_t getRuleIndex() const override;\r
207     FuncNameContext *funcName();\r
208     ParameterContext *parameter();\r
209     BodyContext *body();\r
210     TypeContext *type();\r
211     GenericDeclContext *genericDecl();\r
212 \r
213    \r
214   };\r
215 \r
216   FuncContext* func();\r
217 \r
218   class  ParameterContext : public antlr4::ParserRuleContext {\r
219   public:\r
220     ParameterContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
221     virtual size_t getRuleIndex() const override;\r
222     std::vector<VarContext *> var();\r
223     VarContext* var(size_t i);\r
224 \r
225    \r
226   };\r
227 \r
228   ParameterContext* parameter();\r
229 \r
230   class  BodyContext : public antlr4::ParserRuleContext {\r
231   public:\r
232     BodyContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
233     virtual size_t getRuleIndex() const override;\r
234     std::vector<StmtContext *> stmt();\r
235     StmtContext* stmt(size_t i);\r
236 \r
237    \r
238   };\r
239 \r
240   BodyContext* body();\r
241 \r
242   class  StructDeclContext : public antlr4::ParserRuleContext {\r
243   public:\r
244     StructDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
245     virtual size_t getRuleIndex() const override;\r
246     StructNameContext *structName();\r
247     GenericDeclContext *genericDecl();\r
248     std::vector<StructMemberContext *> structMember();\r
249     StructMemberContext* structMember(size_t i);\r
250 \r
251    \r
252   };\r
253 \r
254   StructDeclContext* structDecl();\r
255 \r
256   class  StructMemberContext : public antlr4::ParserRuleContext {\r
257   public:\r
258     StructMemberContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
259     virtual size_t getRuleIndex() const override;\r
260     StructVarContext *structVar();\r
261     StructMethodContext *structMethod();\r
262 \r
263    \r
264   };\r
265 \r
266   StructMemberContext* structMember();\r
267 \r
268   class  StructVarContext : public antlr4::ParserRuleContext {\r
269   public:\r
270     StructVarContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
271     virtual size_t getRuleIndex() const override;\r
272     VarContext *var();\r
273 \r
274    \r
275   };\r
276 \r
277   StructVarContext* structVar();\r
278 \r
279   class  StructMethodContext : public antlr4::ParserRuleContext {\r
280   public:\r
281     StructMethodContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
282     virtual size_t getRuleIndex() const override;\r
283     FuncContext *func();\r
284 \r
285    \r
286   };\r
287 \r
288   StructMethodContext* structMethod();\r
289 \r
290   class  GenericDeclContext : public antlr4::ParserRuleContext {\r
291   public:\r
292     GenericDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
293     virtual size_t getRuleIndex() const override;\r
294     std::vector<TypeNameContext *> typeName();\r
295     TypeNameContext* typeName(size_t i);\r
296 \r
297    \r
298   };\r
299 \r
300   GenericDeclContext* genericDecl();\r
301 \r
302   class  StmtContext : public antlr4::ParserRuleContext {\r
303   public:\r
304     StmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
305     virtual size_t getRuleIndex() const override;\r
306     VarDeclContext *varDecl();\r
307     IfStmtContext *ifStmt();\r
308     SwitchStmtContext *switchStmt();\r
309     ForStmtContext *forStmt();\r
310     WhileStmtContext *whileStmt();\r
311     AssignStmtContext *assignStmt();\r
312     ReturnStmtContext *returnStmt();\r
313     ExprContext *expr();\r
314 \r
315    \r
316   };\r
317 \r
318   StmtContext* stmt();\r
319 \r
320   class  IfStmtContext : public antlr4::ParserRuleContext {\r
321   public:\r
322     IfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
323     virtual size_t getRuleIndex() const override;\r
324     ExprContext *expr();\r
325     BodyContext *body();\r
326     std::vector<ElseIfStmtContext *> elseIfStmt();\r
327     ElseIfStmtContext* elseIfStmt(size_t i);\r
328     ElseStmtContext *elseStmt();\r
329 \r
330    \r
331   };\r
332 \r
333   IfStmtContext* ifStmt();\r
334 \r
335   class  ElseIfStmtContext : public antlr4::ParserRuleContext {\r
336   public:\r
337     ElseIfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
338     virtual size_t getRuleIndex() const override;\r
339     ExprContext *expr();\r
340     BodyContext *body();\r
341 \r
342    \r
343   };\r
344 \r
345   ElseIfStmtContext* elseIfStmt();\r
346 \r
347   class  ElseStmtContext : public antlr4::ParserRuleContext {\r
348   public:\r
349     ElseStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
350     virtual size_t getRuleIndex() const override;\r
351     BodyContext *body();\r
352 \r
353    \r
354   };\r
355 \r
356   ElseStmtContext* elseStmt();\r
357 \r
358   class  SwitchStmtContext : public antlr4::ParserRuleContext {\r
359   public:\r
360     SwitchStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
361     virtual size_t getRuleIndex() const override;\r
362     IdentifierExprContext *identifierExpr();\r
363     SwitchBodyContext *switchBody();\r
364 \r
365    \r
366   };\r
367 \r
368   SwitchStmtContext* switchStmt();\r
369 \r
370   class  SwitchBodyContext : public antlr4::ParserRuleContext {\r
371   public:\r
372     SwitchBodyContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
373     virtual size_t getRuleIndex() const override;\r
374     std::vector<SwitchCaseContext *> switchCase();\r
375     SwitchCaseContext* switchCase(size_t i);\r
376 \r
377    \r
378   };\r
379 \r
380   SwitchBodyContext* switchBody();\r
381 \r
382   class  SwitchCaseContext : public antlr4::ParserRuleContext {\r
383   public:\r
384     SwitchCaseContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
385     virtual size_t getRuleIndex() const override;\r
386     ExprContext *expr();\r
387     BodyContext *body();\r
388 \r
389    \r
390   };\r
391 \r
392   SwitchCaseContext* switchCase();\r
393 \r
394   class  ForStmtContext : public antlr4::ParserRuleContext {\r
395   public:\r
396     ForStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
397     virtual size_t getRuleIndex() const override;\r
398     std::vector<ExprContext *> expr();\r
399     ExprContext* expr(size_t i);\r
400     BodyContext *body();\r
401     VarInitContext *varInit();\r
402     AssignStmtContext *assignStmt();\r
403 \r
404    \r
405   };\r
406 \r
407   ForStmtContext* forStmt();\r
408 \r
409   class  WhileStmtContext : public antlr4::ParserRuleContext {\r
410   public:\r
411     WhileStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
412     virtual size_t getRuleIndex() const override;\r
413     ExprContext *expr();\r
414     BodyContext *body();\r
415 \r
416    \r
417   };\r
418 \r
419   WhileStmtContext* whileStmt();\r
420 \r
421   class  AssignStmtContext : public antlr4::ParserRuleContext {\r
422   public:\r
423     AssignStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
424     virtual size_t getRuleIndex() const override;\r
425     IdentifierExprContext *identifierExpr();\r
426     ExprContext *expr();\r
427 \r
428    \r
429   };\r
430 \r
431   AssignStmtContext* assignStmt();\r
432 \r
433   class  ReturnStmtContext : public antlr4::ParserRuleContext {\r
434   public:\r
435     ReturnStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
436     virtual size_t getRuleIndex() const override;\r
437     ExprContext *expr();\r
438 \r
439    \r
440   };\r
441 \r
442   ReturnStmtContext* returnStmt();\r
443 \r
444   class  ExprContext : public antlr4::ParserRuleContext {\r
445   public:\r
446     ExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
447     virtual size_t getRuleIndex() const override;\r
448     FuncExprContext *funcExpr();\r
449     LitExprContext *litExpr();\r
450     IdentifierExprContext *identifierExpr();\r
451     ParenExprContext *parenExpr();\r
452     AccessExprContext *accessExpr();\r
453     OpExprContext *opExpr();\r
454 \r
455    \r
456   };\r
457 \r
458   ExprContext* expr();\r
459 \r
460   class  NonOpExprContext : public antlr4::ParserRuleContext {\r
461   public:\r
462     NonOpExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
463     virtual size_t getRuleIndex() const override;\r
464     FuncExprContext *funcExpr();\r
465     LitExprContext *litExpr();\r
466     IdentifierExprContext *identifierExpr();\r
467     ParenExprContext *parenExpr();\r
468     AccessExprContext *accessExpr();\r
469 \r
470    \r
471   };\r
472 \r
473   NonOpExprContext* nonOpExpr();\r
474 \r
475   class  NonAccessExprContext : public antlr4::ParserRuleContext {\r
476   public:\r
477     NonAccessExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
478     virtual size_t getRuleIndex() const override;\r
479     FuncExprContext *funcExpr();\r
480     IdentifierExprContext *identifierExpr();\r
481     ParenExprContext *parenExpr();\r
482 \r
483    \r
484   };\r
485 \r
486   NonAccessExprContext* nonAccessExpr();\r
487 \r
488   class  FuncExprContext : public antlr4::ParserRuleContext {\r
489   public:\r
490     FuncExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
491     virtual size_t getRuleIndex() const override;\r
492     FuncNameContext *funcName();\r
493     std::vector<ExprContext *> expr();\r
494     ExprContext* expr(size_t i);\r
495 \r
496    \r
497   };\r
498 \r
499   FuncExprContext* funcExpr();\r
500 \r
501   class  OpExprContext : public antlr4::ParserRuleContext {\r
502   public:\r
503     OpExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
504     virtual size_t getRuleIndex() const override;\r
505     BinaryOpContext *binaryOp();\r
506     PrefixOpContext *prefixOp();\r
507     PostfixOpContext *postfixOp();\r
508     TernaryOpContext *ternaryOp();\r
509 \r
510    \r
511   };\r
512 \r
513   OpExprContext* opExpr();\r
514 \r
515   class  BinaryOpContext : public antlr4::ParserRuleContext {\r
516   public:\r
517     BinaryOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
518     virtual size_t getRuleIndex() const override;\r
519     std::vector<NonOpExprContext *> nonOpExpr();\r
520     NonOpExprContext* nonOpExpr(size_t i);\r
521     std::vector<Binary_opContext *> binary_op();\r
522     Binary_opContext* binary_op(size_t i);\r
523 \r
524    \r
525   };\r
526 \r
527   BinaryOpContext* binaryOp();\r
528 \r
529   class  PrefixOpContext : public antlr4::ParserRuleContext {\r
530   public:\r
531     PrefixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
532     virtual size_t getRuleIndex() const override;\r
533     Prefix_opContext *prefix_op();\r
534     NonOpExprContext *nonOpExpr();\r
535 \r
536    \r
537   };\r
538 \r
539   PrefixOpContext* prefixOp();\r
540 \r
541   class  PostfixOpContext : public antlr4::ParserRuleContext {\r
542   public:\r
543     PostfixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
544     virtual size_t getRuleIndex() const override;\r
545     NonOpExprContext *nonOpExpr();\r
546     Postfix_opContext *postfix_op();\r
547 \r
548    \r
549   };\r
550 \r
551   PostfixOpContext* postfixOp();\r
552 \r
553   class  TernaryOpContext : public antlr4::ParserRuleContext {\r
554   public:\r
555     TernaryOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
556     virtual size_t getRuleIndex() const override;\r
557     NonOpExprContext *nonOpExpr();\r
558     std::vector<ExprContext *> expr();\r
559     ExprContext* expr(size_t i);\r
560 \r
561    \r
562   };\r
563 \r
564   TernaryOpContext* ternaryOp();\r
565 \r
566   class  IdentifierExprContext : public antlr4::ParserRuleContext {\r
567   public:\r
568     IdentifierExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
569     virtual size_t getRuleIndex() const override;\r
570     VarNameContext *varName();\r
571 \r
572    \r
573   };\r
574 \r
575   IdentifierExprContext* identifierExpr();\r
576 \r
577   class  LitExprContext : public antlr4::ParserRuleContext {\r
578   public:\r
579     LitExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
580     virtual size_t getRuleIndex() const override;\r
581     antlr4::tree::TerminalNode *INT_LIT();\r
582     antlr4::tree::TerminalNode *DECIMAL_LIT();\r
583     antlr4::tree::TerminalNode *STRING_LIT();\r
584     antlr4::tree::TerminalNode *BOOL_LIT();\r
585 \r
586    \r
587   };\r
588 \r
589   LitExprContext* litExpr();\r
590 \r
591   class  AccessExprContext : public antlr4::ParserRuleContext {\r
592   public:\r
593     AccessExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
594     virtual size_t getRuleIndex() const override;\r
595     NonAccessExprContext *nonAccessExpr();\r
596     std::vector<AccessSubExprContext *> accessSubExpr();\r
597     AccessSubExprContext* accessSubExpr(size_t i);\r
598 \r
599    \r
600   };\r
601 \r
602   AccessExprContext* accessExpr();\r
603 \r
604   class  AccessSubExprContext : public antlr4::ParserRuleContext {\r
605   public:\r
606     AccessSubExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
607     virtual size_t getRuleIndex() const override;\r
608     AccessMemberContext *accessMember();\r
609     AccessBracketsContext *accessBrackets();\r
610 \r
611    \r
612   };\r
613 \r
614   AccessSubExprContext* accessSubExpr();\r
615 \r
616   class  AccessMemberContext : public antlr4::ParserRuleContext {\r
617   public:\r
618     AccessMemberContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
619     virtual size_t getRuleIndex() const override;\r
620     IdentifierExprContext *identifierExpr();\r
621 \r
622    \r
623   };\r
624 \r
625   AccessMemberContext* accessMember();\r
626 \r
627   class  AccessBracketsContext : public antlr4::ParserRuleContext {\r
628   public:\r
629     AccessBracketsContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
630     virtual size_t getRuleIndex() const override;\r
631     ExprContext *expr();\r
632 \r
633    \r
634   };\r
635 \r
636   AccessBracketsContext* accessBrackets();\r
637 \r
638   class  ParenExprContext : public antlr4::ParserRuleContext {\r
639   public:\r
640     ParenExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
641     virtual size_t getRuleIndex() const override;\r
642     ExprContext *expr();\r
643 \r
644    \r
645   };\r
646 \r
647   ParenExprContext* parenExpr();\r
648 \r
649   class  FuncNameContext : public antlr4::ParserRuleContext {\r
650   public:\r
651     FuncNameContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
652     virtual size_t getRuleIndex() const override;\r
653     antlr4::tree::TerminalNode *NAME();\r
654 \r
655    \r
656   };\r
657 \r
658   FuncNameContext* funcName();\r
659 \r
660   class  VarNameContext : public antlr4::ParserRuleContext {\r
661   public:\r
662     VarNameContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
663     virtual size_t getRuleIndex() const override;\r
664     antlr4::tree::TerminalNode *NAME();\r
665 \r
666    \r
667   };\r
668 \r
669   VarNameContext* varName();\r
670 \r
671   class  TypeNameContext : public antlr4::ParserRuleContext {\r
672   public:\r
673     TypeNameContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
674     virtual size_t getRuleIndex() const override;\r
675     antlr4::tree::TerminalNode *NAME();\r
676 \r
677    \r
678   };\r
679 \r
680   TypeNameContext* typeName();\r
681 \r
682   class  StructNameContext : public antlr4::ParserRuleContext {\r
683   public:\r
684     StructNameContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
685     virtual size_t getRuleIndex() const override;\r
686     antlr4::tree::TerminalNode *NAME();\r
687 \r
688    \r
689   };\r
690 \r
691   StructNameContext* structName();\r
692 \r
693   class  Postfix_opContext : public antlr4::ParserRuleContext {\r
694   public:\r
695     Postfix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
696     virtual size_t getRuleIndex() const override;\r
697 \r
698    \r
699   };\r
700 \r
701   Postfix_opContext* postfix_op();\r
702 \r
703   class  Prefix_opContext : public antlr4::ParserRuleContext {\r
704   public:\r
705     Prefix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
706     virtual size_t getRuleIndex() const override;\r
707     Postfix_opContext *postfix_op();\r
708 \r
709    \r
710   };\r
711 \r
712   Prefix_opContext* prefix_op();\r
713 \r
714   class  Binary_opContext : public antlr4::ParserRuleContext {\r
715   public:\r
716     Binary_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
717     virtual size_t getRuleIndex() const override;\r
718 \r
719    \r
720   };\r
721 \r
722   Binary_opContext* binary_op();\r
723 \r
724 \r
725 private:\r
726   static std::vector<antlr4::dfa::DFA> _decisionToDFA;\r
727   static antlr4::atn::PredictionContextCache _sharedContextCache;\r
728   static std::vector<std::string> _ruleNames;\r
729   static std::vector<std::string> _tokenNames;\r
730 \r
731   static std::vector<std::string> _literalNames;\r
732   static std::vector<std::string> _symbolicNames;\r
733   static antlr4::dfa::Vocabulary _vocabulary;\r
734   static antlr4::atn::ATN _atn;\r
735   static std::vector<uint16_t> _serializedATN;\r
736 \r
737 \r
738   struct Initializer {\r
739     Initializer();\r
740   };\r
741   static Initializer _init;\r
742 };\r
743 \r