Antares Simulator
Power System Simulator
ExprParser.h
1 
2 // Generated from Expr.g4 by ANTLR 4.13.2
3 
4 #pragma once
5 
6 
7 #include "antlr4-runtime.h"
8 
9 
10 
11 
12 class ExprParser : public antlr4::Parser {
13 public:
14  enum {
15  T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7,
16  T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14,
17  NUMBER = 15, TIME = 16, IDENTIFIER = 17, COMPARISON = 18, WS = 19
18  };
19 
20  enum {
21  RulePortFieldExpr = 0, RuleFullexpr = 1, RuleExpr = 2, RuleArgList = 3,
22  RuleAtom = 4, RuleShift = 5, RuleShift_expr = 6, RuleRight_expr = 7
23  };
24 
25  explicit ExprParser(antlr4::TokenStream *input);
26 
27  ExprParser(antlr4::TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options);
28 
29  ~ExprParser() override;
30 
31  std::string getGrammarFileName() const override;
32 
33  const antlr4::atn::ATN& getATN() const override;
34 
35  const std::vector<std::string>& getRuleNames() const override;
36 
37  const antlr4::dfa::Vocabulary& getVocabulary() const override;
38 
39  antlr4::atn::SerializedATNView getSerializedATN() const override;
40 
41 
43  class FullexprContext;
44  class ExprContext;
45  class ArgListContext;
46  class AtomContext;
47  class ShiftContext;
48  class Shift_exprContext;
49  class Right_exprContext;
50 
51  class PortFieldExprContext : public antlr4::ParserRuleContext {
52  public:
53  PortFieldExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);
54  virtual size_t getRuleIndex() const override;
55  std::vector<antlr4::tree::TerminalNode *> IDENTIFIER();
56  antlr4::tree::TerminalNode* IDENTIFIER(size_t i);
57 
58 
59  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
60 
61  };
62 
63  PortFieldExprContext* portFieldExpr();
64 
65  class FullexprContext : public antlr4::ParserRuleContext {
66  public:
67  FullexprContext(antlr4::ParserRuleContext *parent, size_t invokingState);
68  virtual size_t getRuleIndex() const override;
69  ExprContext *expr();
70  antlr4::tree::TerminalNode *EOF();
71 
72 
73  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
74 
75  };
76 
77  FullexprContext* fullexpr();
78 
79  class ExprContext : public antlr4::ParserRuleContext {
80  public:
81  ExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);
82 
83  ExprContext() = default;
84  void copyFrom(ExprContext *context);
85  using antlr4::ParserRuleContext::copyFrom;
86 
87  virtual size_t getRuleIndex() const override;
88 
89 
90  };
91 
93  public:
95 
96  PortFieldExprContext *portFieldExpr();
97 
98  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
99  };
100 
101  class NegationContext : public ExprContext {
102  public:
104 
105  ExprContext *expr();
106 
107  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
108  };
109 
111  public:
113 
114  AtomContext *atom();
115 
116  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
117  };
118 
120  public:
122 
123  ExprContext *expr();
124 
125  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
126  };
127 
129  public:
131 
132  std::vector<ExprContext *> expr();
133  ExprContext* expr(size_t i);
134  antlr4::tree::TerminalNode *COMPARISON();
135 
136  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
137  };
138 
140  public:
142 
143  ExprContext *expr();
144 
145  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
146  };
147 
149  public:
151 
152  std::vector<ExprContext *> expr();
153  ExprContext* expr(size_t i);
154 
155  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
156  };
157 
158  class AddsubContext : public ExprContext {
159  public:
161 
162  antlr4::Token *op = nullptr;
163  std::vector<ExprContext *> expr();
164  ExprContext* expr(size_t i);
165 
166  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
167  };
168 
170  public:
172 
173  ExprContext *expr();
174  ShiftContext *shift();
175 
176  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
177  };
178 
179  class PortFieldContext : public ExprContext {
180  public:
182 
183  PortFieldExprContext *portFieldExpr();
184 
185  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
186  };
187 
188  class MuldivContext : public ExprContext {
189  public:
191 
192  antlr4::Token *op = nullptr;
193  std::vector<ExprContext *> expr();
194  ExprContext* expr(size_t i);
195 
196  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
197  };
198 
199  class TimeSumContext : public ExprContext {
200  public:
202 
203  ExprParser::ShiftContext *from = nullptr;
204  ExprParser::ShiftContext *to = nullptr;
205  ExprContext *expr();
206  std::vector<ShiftContext *> shift();
207  ShiftContext* shift(size_t i);
208 
209  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
210  };
211 
212  class TimeIndexContext : public ExprContext {
213  public:
215 
216  antlr4::tree::TerminalNode *IDENTIFIER();
217  ExprContext *expr();
218 
219  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
220  };
221 
222  class TimeShiftContext : public ExprContext {
223  public:
225 
226  antlr4::tree::TerminalNode *IDENTIFIER();
227  ShiftContext *shift();
228 
229  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
230  };
231 
232  class FunctionContext : public ExprContext {
233  public:
235 
236  antlr4::tree::TerminalNode *IDENTIFIER();
237  ArgListContext *argList();
238 
239  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
240  };
241 
242  class PowerContext : public ExprContext {
243  public:
245 
246  std::vector<ExprContext *> expr();
247  ExprContext* expr(size_t i);
248 
249  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
250  };
251 
252  ExprContext* expr();
253  ExprContext* expr(int precedence);
254  class ArgListContext : public antlr4::ParserRuleContext {
255  public:
256  ArgListContext(antlr4::ParserRuleContext *parent, size_t invokingState);
257  virtual size_t getRuleIndex() const override;
258  std::vector<ExprContext *> expr();
259  ExprContext* expr(size_t i);
260 
261 
262  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
263 
264  };
265 
266  ArgListContext* argList();
267 
268  class AtomContext : public antlr4::ParserRuleContext {
269  public:
270  AtomContext(antlr4::ParserRuleContext *parent, size_t invokingState);
271 
272  AtomContext() = default;
273  void copyFrom(AtomContext *context);
274  using antlr4::ParserRuleContext::copyFrom;
275 
276  virtual size_t getRuleIndex() const override;
277 
278 
279  };
280 
281  class NumberContext : public AtomContext {
282  public:
284 
285  antlr4::tree::TerminalNode *NUMBER();
286 
287  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
288  };
289 
291  public:
293 
294  antlr4::tree::TerminalNode *IDENTIFIER();
295 
296  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
297  };
298 
299  AtomContext* atom();
300 
301  class ShiftContext : public antlr4::ParserRuleContext {
302  public:
303  ShiftContext(antlr4::ParserRuleContext *parent, size_t invokingState);
304  virtual size_t getRuleIndex() const override;
305  antlr4::tree::TerminalNode *TIME();
306  Shift_exprContext *shift_expr();
307 
308 
309  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
310 
311  };
312 
313  ShiftContext* shift();
314 
315  class Shift_exprContext : public antlr4::ParserRuleContext {
316  public:
317  Shift_exprContext(antlr4::ParserRuleContext *parent, size_t invokingState);
318 
319  Shift_exprContext() = default;
320  void copyFrom(Shift_exprContext *context);
321  using antlr4::ParserRuleContext::copyFrom;
322 
323  virtual size_t getRuleIndex() const override;
324 
325 
326  };
327 
329  public:
331 
332  antlr4::Token *op = nullptr;
333  AtomContext *atom();
334 
335  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
336  };
337 
339  public:
341 
342  antlr4::Token *op = nullptr;
343  ExprContext *expr();
344 
345  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
346  };
347 
349  public:
351 
352  antlr4::Token *op = nullptr;
353  Shift_exprContext *shift_expr();
354  Right_exprContext *right_expr();
355 
356  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
357  };
358 
360  public:
362 
363  antlr4::Token *op = nullptr;
364  Shift_exprContext *shift_expr();
365  Right_exprContext *right_expr();
366 
367  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
368  };
369 
371  public:
373 
374  Shift_exprContext *shift_expr();
375  Right_exprContext *right_expr();
376 
377  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
378  };
379 
380  Shift_exprContext* shift_expr();
381  Shift_exprContext* shift_expr(int precedence);
382  class Right_exprContext : public antlr4::ParserRuleContext {
383  public:
384  Right_exprContext(antlr4::ParserRuleContext *parent, size_t invokingState);
385 
386  Right_exprContext() = default;
387  void copyFrom(Right_exprContext *context);
388  using antlr4::ParserRuleContext::copyFrom;
389 
390  virtual size_t getRuleIndex() const override;
391 
392 
393  };
394 
396  public:
398 
399  ExprContext *expr();
400 
401  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
402  };
403 
405  public:
407 
408  antlr4::Token *op = nullptr;
409  std::vector<Right_exprContext *> right_expr();
410  Right_exprContext* right_expr(size_t i);
411 
412  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
413  };
414 
416  public:
418 
419  AtomContext *atom();
420 
421  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
422  };
423 
425  public:
427 
428  std::vector<Right_exprContext *> right_expr();
429  Right_exprContext* right_expr(size_t i);
430 
431  virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
432  };
433 
434  Right_exprContext* right_expr();
435  Right_exprContext* right_expr(int precedence);
436 
437  bool sempred(antlr4::RuleContext *_localctx, size_t ruleIndex, size_t predicateIndex) override;
438 
439  bool exprSempred(ExprContext *_localctx, size_t predicateIndex);
440  bool shift_exprSempred(Shift_exprContext *_localctx, size_t predicateIndex);
441  bool right_exprSempred(Right_exprContext *_localctx, size_t predicateIndex);
442 
443  // By default the static state used to implement the parser is lazily initialized during the first
444  // call to the constructor. You can call this function if you wish to initialize the static state
445  // ahead of time.
446  static void initialize();
447 
448 private:
449 };
450 
Definition: ExprParser.h:158
Definition: ExprParser.h:139
Definition: ExprParser.h:254
Definition: ExprParser.h:268
Definition: ExprParser.h:128
Definition: ExprParser.h:79
Definition: ExprParser.h:119
Definition: ExprParser.h:65
Definition: ExprParser.h:232
Definition: ExprParser.h:290
Definition: ExprParser.h:188
Definition: ExprParser.h:101
Definition: ExprParser.h:281
Definition: ExprParser.h:179
Definition: ExprParser.h:51
Definition: ExprParser.h:92
Definition: ExprParser.h:242
Definition: ExprParser.h:415
Definition: ExprParser.h:395
Definition: ExprParser.h:404
Definition: ExprParser.h:424
Definition: ExprParser.h:382
Definition: ExprParser.h:359
Definition: ExprParser.h:301
Definition: ExprParser.h:348
Definition: ExprParser.h:370
Definition: ExprParser.h:315
Definition: ExprParser.h:328
Definition: ExprParser.h:338
Definition: ExprParser.h:212
Definition: ExprParser.h:148
Definition: ExprParser.h:222
Definition: ExprParser.h:169
Definition: ExprParser.h:199
Definition: ExprParser.h:110
Definition: ExprParser.h:12