36
36
virtual void _accept(const OrCondition* element) = 0;
37
37
virtual void _accept(const LessThanCondition* element) = 0;
38
38
virtual void _accept(const LessThanOrEqualCondition* element) = 0;
39
virtual void _accept(const GreaterThanCondition* element) = 0;
40
virtual void _accept(const GreaterThanOrEqualCondition* element) = 0;
41
39
virtual void _accept(const EqualCondition* element) = 0;
42
40
virtual void _accept(const NotEqualCondition* element) = 0;
62
60
virtual void _accept(const EUCondition*)
63
61
{ assert(false); std::cerr << "No accept for EUCondition" << std::endl; exit(0);};
64
62
virtual void _accept(const AUCondition*)
65
{ assert(false); std::cerr << "No accept for AUCondition" << std::endl; exit(0);};
63
{ assert(false); std::cerr << "No accept for AUCondition" << std::endl; exit(0);};
64
virtual void _accept(const ACondition*)
65
{ assert(false); std::cerr << "No accept for ACondition" << std::endl; exit(0);};
66
virtual void _accept(const ECondition*)
67
{ assert(false); std::cerr << "No accept for ECondition" << std::endl; exit(0);};
68
virtual void _accept(const GCondition*)
69
{ assert(false); std::cerr << "No accept for GCondition" << std::endl; exit(0);};
70
virtual void _accept(const FCondition*)
71
{ assert(false); std::cerr << "No accept for FCondition" << std::endl; exit(0);};
72
virtual void _accept(const XCondition*)
73
{ assert(false); std::cerr << "No accept for XCondition" << std::endl; exit(0);};
74
virtual void _accept(const UntilCondition*)
75
{ assert(false); std::cerr << "No accept for UntilCondition" << std::endl; exit(0);};
67
77
// shallow elements, neither of these should exist in a compiled expression
68
78
virtual void _accept(const UnfoldedFireableCondition* element)
69
79
{ assert(false); std::cerr << "No accept for UnfoldedFireableCondition" << std::endl; exit(0);};
93
103
// shallow expression, default to error
94
104
virtual void _accept(const IdentifierExpr* element)
95
105
{ assert(false); std::cerr << "No accept for IdentifierExpr" << std::endl; exit(0);};
108
class ExpressionVisitor : public Visitor {
112
void _accept(const NotCondition *element) override {
114
std::cerr << "No accept for NotCondition" << std::endl;
118
void _accept(const AndCondition *element) override {
120
std::cerr << "No accept for AndCondition" << std::endl;
124
void _accept(const OrCondition *element) override {
126
std::cerr << "No accept for OrCondition" << std::endl;
130
void _accept(const LessThanCondition *element) override {
132
std::cerr << "No accept for LessThanCondition" << std::endl;
136
void _accept(const LessThanOrEqualCondition *element) override {
138
std::cerr << "No accept for LessThanOrEqualCondition" << std::endl;
142
void _accept(const EqualCondition *element) override {
144
std::cerr << "No accept for EqualCondition" << std::endl;
148
void _accept(const NotEqualCondition *element) override {
150
std::cerr << "No accept for NotEqualCondition" << std::endl;
154
void _accept(const DeadlockCondition *element) override {
156
std::cerr << "No accept for DeadlockCondition" << std::endl;
160
void _accept(const CompareConjunction *element) override {
162
std::cerr << "No accept for CompareConjunction" << std::endl;
166
void _accept(const UnfoldedUpperBoundsCondition *element) override {
168
std::cerr << "No accept for UnfoldedUpperBoundsCondition" << std::endl;