irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
settingsVisitor.h
Go to the documentation of this file.
1 #ifndef UTILITY_PARSER_VISITOR_SETTINGS_VISITOR_H
2 #define UTILITY_PARSER_VISITOR_SETTINGS_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/settingsLexer.h>
9 #include <irafhy/utility/parser/grammar/antlr4-runtime-cpp/settingsParser.h>
10 #include <irafhy/utility/parser/grammar/antlr4-runtime-cpp/settingsBaseVisitor.h>
11 
12 namespace irafhy
13 {
14  class SettingsVisitor : public settingsBaseVisitor
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  SettingsVisitor() = default;
39  explicit SettingsVisitor(const std::vector<std::string>& vars);
45  antlrcpp::Any visitCondition(settingsParser::ConditionContext* ctx) override;
51  antlrcpp::Any visitPolytope(settingsParser::PolytopeContext* ctx) override;
57  antlrcpp::Any visitHpolytope(settingsParser::HpolytopeContext* ctx) override;
63  antlrcpp::Any visitVpolytope(settingsParser::VpolytopeContext* ctx) override;
69  antlrcpp::Any visitMatrix(settingsParser::MatrixContext* ctx) override;
75  antlrcpp::Any visitVector(settingsParser::VectorContext* ctx) override;
81  antlrcpp::Any visitIntervalhull(settingsParser::IntervalhullContext* ctx) override;
87  antlrcpp::Any visitInterval(settingsParser::IntervalContext* ctx) override;
93  antlrcpp::Any visitTimeHorizonsetting(settingsParser::TimeHorizonsettingContext* ctx) override;
99  antlrcpp::Any visitStepSetting(settingsParser::StepSettingContext* ctx) override;
105  antlrcpp::Any visitPlotsetting(settingsParser::PlotsettingContext* ctx) override;
111  antlrcpp::Any visitPrintsetting(settingsParser::PrintsettingContext* ctx) override;
117  antlrcpp::Any visitGeometrysetting(settingsParser::GeometrysettingContext* ctx) override;
123  antlrcpp::Any visitAnalysissetting(settingsParser::AnalysissettingContext* ctx) override;
129  antlrcpp::Any visitMaxjumpsetting(settingsParser::MaxjumpsettingContext* ctx) override;
135  antlrcpp::Any visitStartmodelidsetting(settingsParser::StartmodelidsettingContext* ctx) override;
141  antlrcpp::Any visitInitialconditionsetting(settingsParser::InitialconditionsettingContext* ctx) override;
147  antlrcpp::Any visitSetting(settingsParser::SettingContext* ctx) override;
153  antlrcpp::Any visitSqrtConstExp(settingsParser::SqrtConstExpContext* ctx) override;
159  antlrcpp::Any visitAcothConstExp(settingsParser::AcothConstExpContext* ctx) override;
165  antlrcpp::Any visitLogConstExp(settingsParser::LogConstExpContext* ctx) override;
171  antlrcpp::Any visitTanhConstExp(settingsParser::TanhConstExpContext* ctx) override;
177  antlrcpp::Any visitPowConstExp(settingsParser::PowConstExpContext* ctx) override;
183  antlrcpp::Any visitPosConstExp(settingsParser::PosConstExpContext* ctx) override;
189  antlrcpp::Any visitAtanhConstExp(settingsParser::AtanhConstExpContext* ctx) override;
195  antlrcpp::Any visitSqrConstExp(settingsParser::SqrConstExpContext* ctx) override;
201  antlrcpp::Any visitConstExpBra(settingsParser::ConstExpBraContext* ctx) override;
207  antlrcpp::Any visitSinhConstExp(settingsParser::SinhConstExpContext* ctx) override;
213  antlrcpp::Any visitAtanConstExp(settingsParser::AtanConstExpContext* ctx) override;
219  antlrcpp::Any visitAsinhConstExp(settingsParser::AsinhConstExpContext* ctx) override;
225  antlrcpp::Any visitConstExp(settingsParser::ConstExpContext* ctx) override;
231  antlrcpp::Any visitNegConstExp(settingsParser::NegConstExpContext* ctx) override;
237  antlrcpp::Any visitAsinConstExp(settingsParser::AsinConstExpContext* ctx) override;
243  antlrcpp::Any visitTanConstExp(settingsParser::TanConstExpContext* ctx) override;
249  antlrcpp::Any visitNexpConstExp(settingsParser::NexpConstExpContext* ctx) override;
255  antlrcpp::Any visitCosConstExp(settingsParser::CosConstExpContext* ctx) override;
261  antlrcpp::Any visitConstExpMulDiv(settingsParser::ConstExpMulDivContext* ctx) override;
267  antlrcpp::Any visitExpConstExp(settingsParser::ExpConstExpContext* ctx) override;
273  antlrcpp::Any visitCotConstExp(settingsParser::CotConstExpContext* ctx) override;
279  antlrcpp::Any visitCoshConstExp(settingsParser::CoshConstExpContext* ctx) override;
285  antlrcpp::Any visitAcoshConstExp(settingsParser::AcoshConstExpContext* ctx) override;
291  antlrcpp::Any visitSinConstExp(settingsParser::SinConstExpContext* ctx) override;
297  antlrcpp::Any visitAcosConstExp(settingsParser::AcosConstExpContext* ctx) override;
303  antlrcpp::Any visitConstExpAddSub(settingsParser::ConstExpAddSubContext* ctx) override;
309  antlrcpp::Any visitLnConstExp(settingsParser::LnConstExpContext* ctx) override;
315  antlrcpp::Any visitAcotConstExp(settingsParser::AcotConstExpContext* ctx) override;
316  };
317 } // namespace irafhy
318 #endif //UTILITY_PARSER_VISITOR_SETTINGS_VISITOR_H
antlrcpp::Any visitCoshConstExp(settingsParser::CoshConstExpContext *ctx) override
visitor of cosh function of constant expression
Definition: settingsVisitor.cpp:450
antlrcpp::Any visitAcoshConstExp(settingsParser::AcoshConstExpContext *ctx) override
visitor of arc cosh function of constant expression
Definition: settingsVisitor.cpp:456
antlrcpp::Any visitSqrtConstExp(settingsParser::SqrtConstExpContext *ctx) override
visitor of sqrt function of constant expression
Definition: settingsVisitor.cpp:319
antlrcpp::Any visitLogConstExp(settingsParser::LogConstExpContext *ctx) override
visitor of log function of constant expression
Definition: settingsVisitor.cpp:331
antlrcpp::Any visitInitialconditionsetting(settingsParser::InitialconditionsettingContext *ctx) override
visitor of initial condition setting
Definition: settingsVisitor.cpp:241
antlrcpp::Any visitHpolytope(settingsParser::HpolytopeContext *ctx) override
visitor of polytope which defined by half spaces
Definition: settingsVisitor.cpp:58
SettingsVisitor()=default
constructor
antlrcpp::Any visitAcosConstExp(settingsParser::AcosConstExpContext *ctx) override
visitor of arc cos function of constant expression
Definition: settingsVisitor.cpp:468
antlrcpp::Any visitAcothConstExp(settingsParser::AcothConstExpContext *ctx) override
visitor of arc cot function of constant expression
Definition: settingsVisitor.cpp:325
antlrcpp::Any visitSinhConstExp(settingsParser::SinhConstExpContext *ctx) override
visitor of sinh function of constant expression
Definition: settingsVisitor.cpp:372
antlrcpp::Any visitMatrix(settingsParser::MatrixContext *ctx) override
visitor of matrix
Definition: settingsVisitor.cpp:85
std::vector< std::string > vars_
variables of hybrid automaton
Definition: settingsVisitor.h:28
antlrcpp::Any visitGeometrysetting(settingsParser::GeometrysettingContext *ctx) override
visitor of geometry setting
Definition: settingsVisitor.cpp:197
antlrcpp::Any visitPolytope(settingsParser::PolytopeContext *ctx) override
visitor of polytope
Definition: settingsVisitor.cpp:51
antlrcpp::Any visitCotConstExp(settingsParser::CotConstExpContext *ctx) override
visitor of cot function of constant expression
Definition: settingsVisitor.cpp:444
antlrcpp::Any visitInterval(settingsParser::IntervalContext *ctx) override
visitor of interval
Definition: settingsVisitor.cpp:127
antlrcpp::Any visitConstExpAddSub(settingsParser::ConstExpAddSubContext *ctx) override
visitor of addition or subtraction of constant expression
Definition: settingsVisitor.cpp:474
antlrcpp::Any visitTanConstExp(settingsParser::TanConstExpContext *ctx) override
visitor of tan function of constant expression
Definition: settingsVisitor.cpp:410
double strToNum(const std::string &numStr) const
convert given string to number
Definition: settingsVisitor.cpp:21
antlrcpp::Any visitAsinConstExp(settingsParser::AsinConstExpContext *ctx) override
visitor of arc sin function of constant expression
Definition: settingsVisitor.cpp:404
antlrcpp::Any visitPowConstExp(settingsParser::PowConstExpContext *ctx) override
visitor of power function of constant expression
Definition: settingsVisitor.cpp:343
antlrcpp::Any visitStartmodelidsetting(settingsParser::StartmodelidsettingContext *ctx) override
visitor of start mode&#39;s id setting
Definition: settingsVisitor.cpp:236
antlrcpp::Any visitNegConstExp(settingsParser::NegConstExpContext *ctx) override
visitor of negative function of constant expression
Definition: settingsVisitor.cpp:398
antlrcpp::Any visitNexpConstExp(settingsParser::NexpConstExpContext *ctx) override
visitor of natural exponential function of constant expression
Definition: settingsVisitor.cpp:416
antlrcpp::Any visitAtanConstExp(settingsParser::AtanConstExpContext *ctx) override
visitor of arc tan function of constant expression
Definition: settingsVisitor.cpp:378
antlrcpp::Any visitSetting(settingsParser::SettingContext *ctx) override
visitor of settings
Definition: settingsVisitor.cpp:249
antlrcpp::Any visitVector(settingsParser::VectorContext *ctx) override
visitor of vector
Definition: settingsVisitor.cpp:101
antlrcpp::Any visitCosConstExp(settingsParser::CosConstExpContext *ctx) override
visitor of cos function of constant expression
Definition: settingsVisitor.cpp:422
antlrcpp::Any visitExpConstExp(settingsParser::ExpConstExpContext *ctx) override
visitor of exponential function of constant expression
Definition: settingsVisitor.cpp:437
Definition: settingsVisitor.h:14
antlrcpp::Any visitConstExpMulDiv(settingsParser::ConstExpMulDivContext *ctx) override
visitor of multiplication or division of constant expression
Definition: settingsVisitor.cpp:428
antlrcpp::Any visitCondition(settingsParser::ConditionContext *ctx) override
visitor of condition
Definition: settingsVisitor.cpp:36
Definition: condition.cpp:3
antlrcpp::Any visitAsinhConstExp(settingsParser::AsinhConstExpContext *ctx) override
visitor of arc sin function of constant exprssion
Definition: settingsVisitor.cpp:384
antlrcpp::Any visitPosConstExp(settingsParser::PosConstExpContext *ctx) override
visitor of positive function of constant expression
Definition: settingsVisitor.cpp:350
antlrcpp::Any visitAnalysissetting(settingsParser::AnalysissettingContext *ctx) override
visitor of analysis setting
Definition: settingsVisitor.cpp:210
antlrcpp::Any visitConstExp(settingsParser::ConstExpContext *ctx) override
visitor of constant expression
Definition: settingsVisitor.cpp:390
antlrcpp::Any visitTanhConstExp(settingsParser::TanhConstExpContext *ctx) override
visitor of tanh function of constant expression
Definition: settingsVisitor.cpp:337
antlrcpp::Any visitPrintsetting(settingsParser::PrintsettingContext *ctx) override
visitor of print setting
Definition: settingsVisitor.cpp:180
antlrcpp::Any visitConstExpBra(settingsParser::ConstExpBraContext *ctx) override
visitor of constant expression enclosed in brackets
Definition: settingsVisitor.cpp:367
antlrcpp::Any visitAtanhConstExp(settingsParser::AtanhConstExpContext *ctx) override
visitor of arc tanh function of constant expression
Definition: settingsVisitor.cpp:355
antlrcpp::Any visitAcotConstExp(settingsParser::AcotConstExpContext *ctx) override
visitor of arc cot function of constant expression
Definition: settingsVisitor.cpp:489
antlrcpp::Any visitSqrConstExp(settingsParser::SqrConstExpContext *ctx) override
visitor of sqr function of constant expression
Definition: settingsVisitor.cpp:361
antlrcpp::Any visitMaxjumpsetting(settingsParser::MaxjumpsettingContext *ctx) override
visitor of max jumps setting
Definition: settingsVisitor.cpp:227
antlrcpp::Any visitLnConstExp(settingsParser::LnConstExpContext *ctx) override
visitor of ln function of constant expression
Definition: settingsVisitor.cpp:483
antlrcpp::Any visitSinConstExp(settingsParser::SinConstExpContext *ctx) override
visitor of sin function of constant expression
Definition: settingsVisitor.cpp:462
antlrcpp::Any visitStepSetting(settingsParser::StepSettingContext *ctx) override
visitor of step size
Definition: settingsVisitor.cpp:155
antlrcpp::Any visitVpolytope(settingsParser::VpolytopeContext *ctx) override
visitor of polytope which defined by vertices
Definition: settingsVisitor.cpp:74
antlrcpp::Any visitIntervalhull(settingsParser::IntervalhullContext *ctx) override
visitor of interval hull
Definition: settingsVisitor.cpp:115
antlrcpp::Any visitPlotsetting(settingsParser::PlotsettingContext *ctx) override
visitor of plotting setting
Definition: settingsVisitor.cpp:163
antlrcpp::Any visitTimeHorizonsetting(settingsParser::TimeHorizonsettingContext *ctx) override
visitor of duration
Definition: settingsVisitor.cpp:143