irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
itemVisitor.h
Go to the documentation of this file.
1 #ifndef UTILITY_PARSER_VISITOR_ITEM_VISITOR_H
2 #define UTILITY_PARSER_VISITOR_ITEM_VISITOR_H
3 
4 #include <antlr4-runtime/antlr4-runtime.h>
5 #include <antlr4-runtime/antlr4-common.h>
6 #include <vector>
7 #include <string>
8 #include <irafhy/utility/parser/grammar/antlr4-runtime-cpp/hybridautomatonLexer.h>
9 #include <irafhy/utility/parser/grammar/antlr4-runtime-cpp/hybridautomatonParser.h>
10 #include <irafhy/utility/parser/grammar/antlr4-runtime-cpp/hybridautomatonBaseVisitor.h>
11 
12 namespace irafhy
13 {
14  class ItemVisitor : public hybridautomatonBaseVisitor
15  {
16  private:
22  [[nodiscard]] double strToNum(const std::string& numStr) const;
23 
24  private:
28  std::vector<std::string> vars_;
29 
30  public:
34  ItemVisitor();
39  explicit ItemVisitor(const std::vector<std::string>& vars);
45  antlrcpp::Any visitTanExp(hybridautomatonParser::TanExpContext* ctx) override;
51  antlrcpp::Any visitSqrExp(hybridautomatonParser::SqrExpContext* ctx) override;
57  antlrcpp::Any visitConstant(hybridautomatonParser::ConstantContext* ctx) override;
63  antlrcpp::Any visitAsinhExp(hybridautomatonParser::AsinhExpContext* ctx) override;
69  antlrcpp::Any visitAcosExp(hybridautomatonParser::AcosExpContext* ctx) override;
75  antlrcpp::Any visitAcothExp(hybridautomatonParser::AcothExpContext* ctx) override;
81  antlrcpp::Any visitAcoshExp(hybridautomatonParser::AcoshExpContext* ctx) override;
87  antlrcpp::Any visitCosExp(hybridautomatonParser::CosExpContext* ctx) override;
93  antlrcpp::Any visitPowExp(hybridautomatonParser::PowExpContext* ctx) override;
99  antlrcpp::Any visitCothExp(hybridautomatonParser::CothExpContext* ctx) override;
105  antlrcpp::Any visitPosExp(hybridautomatonParser::PosExpContext* ctx) override;
111  antlrcpp::Any visitNegExp(hybridautomatonParser::NegExpContext* ctx) override;
117  antlrcpp::Any visitExpBra(hybridautomatonParser::ExpBraContext* ctx) override;
123  antlrcpp::Any visitAtanhExp(hybridautomatonParser::AtanhExpContext* ctx) override;
129  antlrcpp::Any visitSinExp(hybridautomatonParser::SinExpContext* ctx) override;
135  antlrcpp::Any visitLnExp(hybridautomatonParser::LnExpContext* ctx) override;
141  antlrcpp::Any visitTanhExp(hybridautomatonParser::TanhExpContext* ctx) override;
147  antlrcpp::Any visitSqrtExp(hybridautomatonParser::SqrtExpContext* ctx) override;
153  antlrcpp::Any visitExpMulDiv(hybridautomatonParser::ExpMulDivContext* ctx) override;
159  antlrcpp::Any visitAtanExp(hybridautomatonParser::AtanExpContext* ctx) override;
165  antlrcpp::Any visitAcotExp(hybridautomatonParser::AcotExpContext* ctx) override;
171  antlrcpp::Any visitExpExp(hybridautomatonParser::ExpExpContext* ctx) override;
177  antlrcpp::Any visitCoshExp(hybridautomatonParser::CoshExpContext* ctx) override;
183  antlrcpp::Any visitLogExp(hybridautomatonParser::LogExpContext* ctx) override;
189  antlrcpp::Any visitAsinExp(hybridautomatonParser::AsinExpContext* ctx) override;
195  antlrcpp::Any visitCotExp(hybridautomatonParser::CotExpContext* ctx) override;
201  antlrcpp::Any visitVariable(hybridautomatonParser::VariableContext* ctx) override;
207  antlrcpp::Any visitSinhExp(hybridautomatonParser::SinhExpContext* ctx) override;
213  antlrcpp::Any visitNexpExp(hybridautomatonParser::NexpExpContext* ctx) override;
219  antlrcpp::Any visitExpAddSub(hybridautomatonParser::ExpAddSubContext* ctx) override;
225  antlrcpp::Any visitSqrtConstExp(hybridautomatonParser::SqrtConstExpContext* ctx) override;
231  antlrcpp::Any visitAcothConstExp(hybridautomatonParser::AcothConstExpContext* ctx) override;
237  antlrcpp::Any visitLogConstExp(hybridautomatonParser::LogConstExpContext* ctx) override;
243  antlrcpp::Any visitTanhConstExp(hybridautomatonParser::TanhConstExpContext* ctx) override;
249  antlrcpp::Any visitPowConstExp(hybridautomatonParser::PowConstExpContext* ctx) override;
255  antlrcpp::Any visitPosConstExp(hybridautomatonParser::PosConstExpContext* ctx) override;
261  antlrcpp::Any visitAtanhConstExp(hybridautomatonParser::AtanhConstExpContext* ctx) override;
267  antlrcpp::Any visitSqrConstExp(hybridautomatonParser::SqrConstExpContext* ctx) override;
273  antlrcpp::Any visitConstExpBra(hybridautomatonParser::ConstExpBraContext* ctx) override;
279  antlrcpp::Any visitSinhConstExp(hybridautomatonParser::SinhConstExpContext* ctx) override;
285  antlrcpp::Any visitAtanConstExp(hybridautomatonParser::AtanConstExpContext* ctx) override;
291  antlrcpp::Any visitAsinhConstExp(hybridautomatonParser::AsinhConstExpContext* ctx) override;
297  antlrcpp::Any visitConstExp(hybridautomatonParser::ConstExpContext* ctx) override;
303  antlrcpp::Any visitNegConstExp(hybridautomatonParser::NegConstExpContext* ctx) override;
309  antlrcpp::Any visitAsinConstExp(hybridautomatonParser::AsinConstExpContext* ctx) override;
315  antlrcpp::Any visitTanConstExp(hybridautomatonParser::TanConstExpContext* ctx) override;
321  antlrcpp::Any visitNexpConstExp(hybridautomatonParser::NexpConstExpContext* ctx) override;
327  antlrcpp::Any visitCosConstExp(hybridautomatonParser::CosConstExpContext* ctx) override;
333  antlrcpp::Any visitConstExpMulDiv(hybridautomatonParser::ConstExpMulDivContext* ctx) override;
339  antlrcpp::Any visitExpConstExp(hybridautomatonParser::ExpConstExpContext* ctx) override;
345  antlrcpp::Any visitCotConstExp(hybridautomatonParser::CotConstExpContext* ctx) override;
351  antlrcpp::Any visitCoshConstExp(hybridautomatonParser::CoshConstExpContext* ctx) override;
357  antlrcpp::Any visitAcoshConstExp(hybridautomatonParser::AcoshConstExpContext* ctx) override;
363  antlrcpp::Any visitSinConstExp(hybridautomatonParser::SinConstExpContext* ctx) override;
369  antlrcpp::Any visitAcosConstExp(hybridautomatonParser::AcosConstExpContext* ctx) override;
375  antlrcpp::Any visitConstExpAddSub(hybridautomatonParser::ConstExpAddSubContext* ctx) override;
381  antlrcpp::Any visitLnConstExp(hybridautomatonParser::LnConstExpContext* ctx) override;
387  antlrcpp::Any visitAcotConstExp(hybridautomatonParser::AcotConstExpContext* ctx) override;
388  };
389 } // namespace irafhy
390 #endif //UTILITY_PARSER_VISITOR_ITEM_VISITOR_H
antlrcpp::Any visitCoshExp(hybridautomatonParser::CoshExpContext *ctx) override
visitor of cosh function
Definition: itemVisitor.cpp:165
antlrcpp::Any visitPowExp(hybridautomatonParser::PowExpContext *ctx) override
visitor of power function
Definition: itemVisitor.cpp:78
antlrcpp::Any visitExpAddSub(hybridautomatonParser::ExpAddSubContext *ctx) override
visitor of addition or subtraction
Definition: itemVisitor.cpp:212
antlrcpp::Any visitAsinConstExp(hybridautomatonParser::AsinConstExpContext *ctx) override
visitor of arc sin function of constant expression
Definition: itemVisitor.cpp:306
antlrcpp::Any visitConstExpAddSub(hybridautomatonParser::ConstExpAddSubContext *ctx) override
visitor of addition or subtraction of constant expression
Definition: itemVisitor.cpp:376
antlrcpp::Any visitAcotConstExp(hybridautomatonParser::AcotConstExpContext *ctx) override
visitor of arc cot function of constant expression
Definition: itemVisitor.cpp:391
antlrcpp::Any visitConstExpBra(hybridautomatonParser::ConstExpBraContext *ctx) override
visitor of constant expression enclosed in brackets
Definition: itemVisitor.cpp:269
antlrcpp::Any visitAcothConstExp(hybridautomatonParser::AcothConstExpContext *ctx) override
visitor of arc coth function of constant expression
Definition: itemVisitor.cpp:227
antlrcpp::Any visitAcotExp(hybridautomatonParser::AcotExpContext *ctx) override
visitor of arc cot function
Definition: itemVisitor.cpp:152
antlrcpp::Any visitTanhConstExp(hybridautomatonParser::TanhConstExpContext *ctx) override
visitor of tanh function of constant expression
Definition: itemVisitor.cpp:239
antlrcpp::Any visitSinConstExp(hybridautomatonParser::SinConstExpContext *ctx) override
visitor of sin function of constant expression
Definition: itemVisitor.cpp:364
antlrcpp::Any visitCotExp(hybridautomatonParser::CotExpContext *ctx) override
visitor of cot function
Definition: itemVisitor.cpp:183
std::vector< std::string > vars_
variables of hybrid automaton
Definition: itemVisitor.h:28
antlrcpp::Any visitAsinhExp(hybridautomatonParser::AsinhExpContext *ctx) override
visitor of arc sin function
Definition: itemVisitor.cpp:48
antlrcpp::Any visitExpBra(hybridautomatonParser::ExpBraContext *ctx) override
brackets visitor
Definition: itemVisitor.cpp:102
antlrcpp::Any visitSinExp(hybridautomatonParser::SinExpContext *ctx) override
visitor of sin function
Definition: itemVisitor.cpp:113
antlrcpp::Any visitTanConstExp(hybridautomatonParser::TanConstExpContext *ctx) override
visitor of tan function of constant expression
Definition: itemVisitor.cpp:312
antlrcpp::Any visitAsinhConstExp(hybridautomatonParser::AsinhConstExpContext *ctx) override
visitor of arc sinh function of constant expression
Definition: itemVisitor.cpp:286
antlrcpp::Any visitCotConstExp(hybridautomatonParser::CotConstExpContext *ctx) override
visitor of cot function of constant expression
Definition: itemVisitor.cpp:346
antlrcpp::Any visitCosExp(hybridautomatonParser::CosExpContext *ctx) override
visitor of cos function
Definition: itemVisitor.cpp:72
antlrcpp::Any visitVariable(hybridautomatonParser::VariableContext *ctx) override
visitor of a variable
Definition: itemVisitor.cpp:189
antlrcpp::Any visitNexpConstExp(hybridautomatonParser::NexpConstExpContext *ctx) override
visitor of natural exponential function of constant expression
Definition: itemVisitor.cpp:318
antlrcpp::Any visitConstExp(hybridautomatonParser::ConstExpContext *ctx) override
visitor of constant expression
Definition: itemVisitor.cpp:292
antlrcpp::Any visitLnConstExp(hybridautomatonParser::LnConstExpContext *ctx) override
visitor of ln function of constant expression
Definition: itemVisitor.cpp:385
antlrcpp::Any visitAtanhExp(hybridautomatonParser::AtanhExpContext *ctx) override
visitor of arc tanh function
Definition: itemVisitor.cpp:107
antlrcpp::Any visitPosConstExp(hybridautomatonParser::PosConstExpContext *ctx) override
visitor of positive function of constant expression
Definition: itemVisitor.cpp:252
antlrcpp::Any visitAcosExp(hybridautomatonParser::AcosExpContext *ctx) override
visitor of arc cos function
Definition: itemVisitor.cpp:54
antlrcpp::Any visitExpMulDiv(hybridautomatonParser::ExpMulDivContext *ctx) override
visitor of multiplication or division
Definition: itemVisitor.cpp:137
antlrcpp::Any visitConstExpMulDiv(hybridautomatonParser::ConstExpMulDivContext *ctx) override
visitor of multiplication or division of constant expression
Definition: itemVisitor.cpp:330
antlrcpp::Any visitTanExp(hybridautomatonParser::TanExpContext *ctx) override
visitor of tangent function
Definition: itemVisitor.cpp:30
Definition: condition.cpp:3
antlrcpp::Any visitConstant(hybridautomatonParser::ConstantContext *ctx) override
constant visitor
Definition: itemVisitor.cpp:42
antlrcpp::Any visitAtanhConstExp(hybridautomatonParser::AtanhConstExpContext *ctx) override
visitor of arc tanh function of constant expression
Definition: itemVisitor.cpp:257
antlrcpp::Any visitNegExp(hybridautomatonParser::NegExpContext *ctx) override
visitor of negative function
Definition: itemVisitor.cpp:96
antlrcpp::Any visitExpExp(hybridautomatonParser::ExpExpContext *ctx) override
visitor of exponential function
Definition: itemVisitor.cpp:158
antlrcpp::Any visitSinhExp(hybridautomatonParser::SinhExpContext *ctx) override
visitor of sinh function
Definition: itemVisitor.cpp:200
antlrcpp::Any visitLogExp(hybridautomatonParser::LogExpContext *ctx) override
visitor of log function
Definition: itemVisitor.cpp:171
antlrcpp::Any visitAcothExp(hybridautomatonParser::AcothExpContext *ctx) override
visitor of arc coth function
Definition: itemVisitor.cpp:60
antlrcpp::Any visitSqrExp(hybridautomatonParser::SqrExpContext *ctx) override
visitor of sqr function
Definition: itemVisitor.cpp:36
antlrcpp::Any visitAcoshConstExp(hybridautomatonParser::AcoshConstExpContext *ctx) override
visitor of arc cosh function of constant expression
Definition: itemVisitor.cpp:358
antlrcpp::Any visitAcoshExp(hybridautomatonParser::AcoshExpContext *ctx) override
visitor of arc cosh function
Definition: itemVisitor.cpp:66
antlrcpp::Any visitNexpExp(hybridautomatonParser::NexpExpContext *ctx) override
visitor of natural exponential function
Definition: itemVisitor.cpp:206
Definition: itemVisitor.h:14
ItemVisitor()
constructor
Definition: itemVisitor.cpp:22
antlrcpp::Any visitSqrtConstExp(hybridautomatonParser::SqrtConstExpContext *ctx) override
visitor of sqr function of constant expressions
Definition: itemVisitor.cpp:221
antlrcpp::Any visitPosExp(hybridautomatonParser::PosExpContext *ctx) override
visitor of positive function
Definition: itemVisitor.cpp:91
antlrcpp::Any visitCoshConstExp(hybridautomatonParser::CoshConstExpContext *ctx) override
visitor of cosh function of constant expression
Definition: itemVisitor.cpp:352
antlrcpp::Any visitAtanConstExp(hybridautomatonParser::AtanConstExpContext *ctx) override
visitor of arc tan function of constant expression
Definition: itemVisitor.cpp:280
double strToNum(const std::string &numStr) const
convert given string to number
Definition: itemVisitor.cpp:7
antlrcpp::Any visitExpConstExp(hybridautomatonParser::ExpConstExpContext *ctx) override
visitor of exponential function of constant expression
Definition: itemVisitor.cpp:339
antlrcpp::Any visitNegConstExp(hybridautomatonParser::NegConstExpContext *ctx) override
visitor of negative function of constant expression
Definition: itemVisitor.cpp:300
antlrcpp::Any visitAcosConstExp(hybridautomatonParser::AcosConstExpContext *ctx) override
visitor of arc cos function of constant expression
Definition: itemVisitor.cpp:370
antlrcpp::Any visitLogConstExp(hybridautomatonParser::LogConstExpContext *ctx) override
visitor of log function of constant expression
Definition: itemVisitor.cpp:233
antlrcpp::Any visitAsinExp(hybridautomatonParser::AsinExpContext *ctx) override
visitor of arc sin function
Definition: itemVisitor.cpp:177
antlrcpp::Any visitTanhExp(hybridautomatonParser::TanhExpContext *ctx) override
visitor of tanh function
Definition: itemVisitor.cpp:125
antlrcpp::Any visitSqrConstExp(hybridautomatonParser::SqrConstExpContext *ctx) override
visitor of sqr function of constant expression
Definition: itemVisitor.cpp:263
antlrcpp::Any visitLnExp(hybridautomatonParser::LnExpContext *ctx) override
visitor of ln function
Definition: itemVisitor.cpp:119
antlrcpp::Any visitPowConstExp(hybridautomatonParser::PowConstExpContext *ctx) override
visitor of power function of constant expression
Definition: itemVisitor.cpp:245
antlrcpp::Any visitSqrtExp(hybridautomatonParser::SqrtExpContext *ctx) override
visitor of sqrt function
Definition: itemVisitor.cpp:131
antlrcpp::Any visitSinhConstExp(hybridautomatonParser::SinhConstExpContext *ctx) override
visitor of sinh function of constant expression
Definition: itemVisitor.cpp:274
antlrcpp::Any visitCothExp(hybridautomatonParser::CothExpContext *ctx) override
visitor of coth function
Definition: itemVisitor.cpp:85
antlrcpp::Any visitAtanExp(hybridautomatonParser::AtanExpContext *ctx) override
visitor of arc tan function
Definition: itemVisitor.cpp:146
antlrcpp::Any visitCosConstExp(hybridautomatonParser::CosConstExpContext *ctx) override
visitor of cos function of constant expression
Definition: itemVisitor.cpp:324