1 #ifndef UTILITY_PARSER_VISITOR_ITEM_VISITOR_H 2 #define UTILITY_PARSER_VISITOR_ITEM_VISITOR_H 4 #include <antlr4-runtime/antlr4-runtime.h> 5 #include <antlr4-runtime/antlr4-common.h> 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> 22 [[nodiscard]]
double strToNum(
const std::string& numStr)
const;
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;
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