irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
definitionVisitor.h
Go to the documentation of this file.
1 #ifndef UTILITY_PARSER_VISITOR_DEFINITION_VISITOR_H
2 #define UTILITY_PARSER_VISITOR_DEFINITION_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 DefinitionVisitor : public hybridautomatonBaseVisitor
15  {
16  private:
22  double strToNum(const std::string& numStr) const;
23 
24  private:
28  std::vector<std::string> vars_;
29 
30  public:
34  DefinitionVisitor() = default;
39  explicit DefinitionVisitor(const std::vector<std::string>& vars);
43  ~DefinitionVisitor() override = default;
49  antlrcpp::Any visitCondition(hybridautomatonParser::ConditionContext* ctx) override;
55  antlrcpp::Any visitPolytope(hybridautomatonParser::PolytopeContext* ctx) override;
61  antlrcpp::Any visitHpolytope(hybridautomatonParser::HpolytopeContext* ctx) override;
67  antlrcpp::Any visitVpolytope(hybridautomatonParser::VpolytopeContext* ctx) override;
73  antlrcpp::Any visitMatrix(hybridautomatonParser::MatrixContext* ctx) override;
79  antlrcpp::Any visitVector(hybridautomatonParser::VectorContext* ctx) override;
85  antlrcpp::Any visitIntervalhull(hybridautomatonParser::IntervalhullContext* ctx) override;
91  antlrcpp::Any visitInterval(hybridautomatonParser::IntervalContext* ctx) override;
92  };
93 } // namespace irafhy
94 #endif //UTILITY_PARSER_VISITOR_DEFINITION_VISITOR_H
antlrcpp::Any visitVector(hybridautomatonParser::VectorContext *ctx) override
vector visitor
Definition: definitionVisitor.cpp:97
~DefinitionVisitor() override=default
destructor
antlrcpp::Any visitPolytope(hybridautomatonParser::PolytopeContext *ctx) override
polytope visitor
Definition: definitionVisitor.cpp:47
antlrcpp::Any visitMatrix(hybridautomatonParser::MatrixContext *ctx) override
matrix visitor
Definition: definitionVisitor.cpp:81
antlrcpp::Any visitIntervalhull(hybridautomatonParser::IntervalhullContext *ctx) override
interval hull visitor
Definition: definitionVisitor.cpp:111
antlrcpp::Any visitHpolytope(hybridautomatonParser::HpolytopeContext *ctx) override
polytope which defined by half spaces visitor
Definition: definitionVisitor.cpp:54
double strToNum(const std::string &numStr) const
convert given string to number
Definition: definitionVisitor.cpp:17
std::vector< std::string > vars_
variables of the hybrid automaton
Definition: definitionVisitor.h:28
Definition: condition.cpp:3
antlrcpp::Any visitInterval(hybridautomatonParser::IntervalContext *ctx) override
interval visitor
Definition: definitionVisitor.cpp:123
DefinitionVisitor()=default
constructor
Definition: definitionVisitor.h:14
antlrcpp::Any visitCondition(hybridautomatonParser::ConditionContext *ctx) override
condition visitor
Definition: definitionVisitor.cpp:32
antlrcpp::Any visitVpolytope(hybridautomatonParser::VpolytopeContext *ctx) override
polytope which defined by extreme vertices
Definition: definitionVisitor.cpp:70