expressir 0.1.0 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +46 -0
  3. data/.github/workflows/release.yml +74 -0
  4. data/.gitignore +3 -0
  5. data/.gitmodules +3 -0
  6. data/Gemfile +2 -0
  7. data/Rakefile +20 -0
  8. data/demo.rb +18 -0
  9. data/exe/generate-parser +48 -0
  10. data/expressir.gemspec +5 -2
  11. data/ext/express-parser/antlrgen/Express.interp +532 -0
  12. data/ext/express-parser/antlrgen/Express.tokens +190 -0
  13. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +7 -0
  14. data/ext/express-parser/antlrgen/ExpressBaseListener.h +623 -0
  15. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +7 -0
  16. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +816 -0
  17. data/ext/express-parser/antlrgen/ExpressLexer.cpp +1169 -0
  18. data/ext/express-parser/antlrgen/ExpressLexer.h +85 -0
  19. data/ext/express-parser/antlrgen/ExpressLexer.interp +534 -0
  20. data/ext/express-parser/antlrgen/ExpressLexer.tokens +190 -0
  21. data/ext/express-parser/antlrgen/ExpressListener.cpp +7 -0
  22. data/ext/express-parser/antlrgen/ExpressListener.h +616 -0
  23. data/ext/express-parser/antlrgen/ExpressParser.cpp +17284 -0
  24. data/ext/express-parser/antlrgen/ExpressParser.h +3696 -0
  25. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +7 -0
  26. data/ext/express-parser/antlrgen/ExpressVisitor.h +422 -0
  27. data/ext/express-parser/express_parser.cpp +17931 -0
  28. data/ext/express-parser/extconf.rb +34 -0
  29. data/lib/expressir/express.rb +0 -1
  30. data/lib/expressir/express_exp/formatter.rb +1450 -0
  31. data/lib/expressir/express_exp/parser.rb +36 -0
  32. data/lib/expressir/express_exp/visitor.rb +2451 -0
  33. data/lib/expressir/model.rb +65 -0
  34. data/lib/expressir/model/attribute.rb +27 -0
  35. data/lib/expressir/model/constant.rb +17 -0
  36. data/lib/expressir/model/entity.rb +46 -0
  37. data/lib/expressir/model/enumeration_item.rb +11 -0
  38. data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
  39. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  40. data/lib/expressir/model/expressions/attribute_reference.rb +15 -0
  41. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  42. data/lib/expressir/model/expressions/call.rb +15 -0
  43. data/lib/expressir/model/expressions/entity_constructor.rb +15 -0
  44. data/lib/expressir/model/expressions/group_reference.rb +15 -0
  45. data/lib/expressir/model/expressions/index_reference.rb +17 -0
  46. data/lib/expressir/model/expressions/interval.rb +21 -0
  47. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  48. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  49. data/lib/expressir/model/expressions/unary_expression.rb +19 -0
  50. data/lib/expressir/model/function.rb +62 -0
  51. data/lib/expressir/model/identifier.rb +9 -0
  52. data/lib/expressir/model/interface.rb +18 -0
  53. data/lib/expressir/model/literals/binary.rb +13 -0
  54. data/lib/expressir/model/literals/integer.rb +13 -0
  55. data/lib/expressir/model/literals/logical.rb +17 -0
  56. data/lib/expressir/model/literals/real.rb +13 -0
  57. data/lib/expressir/model/literals/string.rb +15 -0
  58. data/lib/expressir/model/parameter.rb +17 -0
  59. data/lib/expressir/model/procedure.rb +60 -0
  60. data/lib/expressir/model/renamed_ref.rb +13 -0
  61. data/lib/expressir/model/repository.rb +19 -0
  62. data/lib/expressir/model/rule.rb +62 -0
  63. data/lib/expressir/model/schema.rb +67 -0
  64. data/lib/expressir/model/scope.rb +17 -0
  65. data/lib/expressir/model/statements/alias.rb +26 -0
  66. data/lib/expressir/model/statements/assignment.rb +15 -0
  67. data/lib/expressir/model/statements/call.rb +15 -0
  68. data/lib/expressir/model/statements/case.rb +17 -0
  69. data/lib/expressir/model/statements/case_action.rb +15 -0
  70. data/lib/expressir/model/statements/compound.rb +13 -0
  71. data/lib/expressir/model/statements/escape.rb +8 -0
  72. data/lib/expressir/model/statements/if.rb +17 -0
  73. data/lib/expressir/model/statements/null.rb +8 -0
  74. data/lib/expressir/model/statements/repeat.rb +34 -0
  75. data/lib/expressir/model/statements/return.rb +13 -0
  76. data/lib/expressir/model/statements/skip.rb +8 -0
  77. data/lib/expressir/model/subtype_constraint.rb +27 -0
  78. data/lib/expressir/model/type.rb +24 -0
  79. data/lib/expressir/model/types/aggregate.rb +17 -0
  80. data/lib/expressir/model/types/array.rb +21 -0
  81. data/lib/expressir/model/types/bag.rb +17 -0
  82. data/lib/expressir/model/types/binary.rb +15 -0
  83. data/lib/expressir/model/types/boolean.rb +8 -0
  84. data/lib/expressir/model/types/enumeration.rb +19 -0
  85. data/lib/expressir/model/types/generic.rb +13 -0
  86. data/lib/expressir/model/types/generic_entity.rb +13 -0
  87. data/lib/expressir/model/types/integer.rb +8 -0
  88. data/lib/expressir/model/types/list.rb +19 -0
  89. data/lib/expressir/model/types/logical.rb +8 -0
  90. data/lib/expressir/model/types/number.rb +8 -0
  91. data/lib/expressir/model/types/real.rb +13 -0
  92. data/lib/expressir/model/types/select.rb +21 -0
  93. data/lib/expressir/model/types/set.rb +17 -0
  94. data/lib/expressir/model/types/string.rb +15 -0
  95. data/lib/expressir/model/unique.rb +15 -0
  96. data/lib/expressir/model/variable.rb +17 -0
  97. data/lib/expressir/model/where.rb +15 -0
  98. data/lib/expressir/version.rb +1 -1
  99. data/original/examples/syntax/remark.exp +145 -0
  100. data/original/examples/syntax/remark_formatted.exp +174 -0
  101. data/original/examples/syntax/syntax.exp +310 -0
  102. data/original/examples/syntax/syntax_formatted.exp +1187 -0
  103. data/spec/expressir/express_exp/ap233_spec.rb +22 -0
  104. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  105. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  106. data/spec/expressir/express_exp/parse_remark_spec.rb +345 -0
  107. data/spec/expressir/express_exp/parse_syntax_spec.rb +2998 -0
  108. data/spec/expressir/model/find_spec.rb +110 -0
  109. metadata +139 -12
  110. data/.github/workflows/macos.yml +0 -38
  111. data/.github/workflows/ubuntu.yml +0 -56
  112. data/.github/workflows/windows.yml +0 -40
@@ -0,0 +1,190 @@
1
+ T__0=1
2
+ T__1=2
3
+ T__2=3
4
+ T__3=4
5
+ T__4=5
6
+ T__5=6
7
+ T__6=7
8
+ T__7=8
9
+ T__8=9
10
+ T__9=10
11
+ T__10=11
12
+ T__11=12
13
+ T__12=13
14
+ T__13=14
15
+ T__14=15
16
+ T__15=16
17
+ T__16=17
18
+ T__17=18
19
+ T__18=19
20
+ T__19=20
21
+ T__20=21
22
+ T__21=22
23
+ T__22=23
24
+ T__23=24
25
+ T__24=25
26
+ T__25=26
27
+ T__26=27
28
+ T__27=28
29
+ T__28=29
30
+ ABS=30
31
+ ABSTRACT=31
32
+ ACOS=32
33
+ AGGREGATE=33
34
+ ALIAS=34
35
+ AND=35
36
+ ANDOR=36
37
+ ARRAY=37
38
+ AS=38
39
+ ASIN=39
40
+ ATAN=40
41
+ BAG=41
42
+ BASED_ON=42
43
+ BEGIN_=43
44
+ BINARY=44
45
+ BLENGTH=45
46
+ BOOLEAN=46
47
+ BY=47
48
+ CASE=48
49
+ CONSTANT=49
50
+ CONST_E=50
51
+ COS=51
52
+ DERIVE=52
53
+ DIV=53
54
+ ELSE=54
55
+ END_=55
56
+ END_ALIAS=56
57
+ END_CASE=57
58
+ END_CONSTANT=58
59
+ END_ENTITY=59
60
+ END_FUNCTION=60
61
+ END_IF=61
62
+ END_LOCAL=62
63
+ END_PROCEDURE=63
64
+ END_REPEAT=64
65
+ END_RULE=65
66
+ END_SCHEMA=66
67
+ END_SUBTYPE_CONSTRAINT=67
68
+ END_TYPE=68
69
+ ENTITY=69
70
+ ENUMERATION=70
71
+ ESCAPE=71
72
+ EXISTS=72
73
+ EXP=73
74
+ EXTENSIBLE=74
75
+ FALSE=75
76
+ FIXED=76
77
+ FOR=77
78
+ FORMAT=78
79
+ FROM=79
80
+ FUNCTION=80
81
+ GENERIC=81
82
+ GENERIC_ENTITY=82
83
+ HIBOUND=83
84
+ HIINDEX=84
85
+ IF=85
86
+ IN=86
87
+ INSERT=87
88
+ INTEGER=88
89
+ INVERSE=89
90
+ LENGTH=90
91
+ LIKE=91
92
+ LIST=92
93
+ LOBOUND=93
94
+ LOCAL=94
95
+ LOG=95
96
+ LOG10=96
97
+ LOG2=97
98
+ LOGICAL=98
99
+ LOINDEX=99
100
+ MOD=100
101
+ NOT=101
102
+ NUMBER=102
103
+ NVL=103
104
+ ODD=104
105
+ OF=105
106
+ ONEOF=106
107
+ OPTIONAL=107
108
+ OR=108
109
+ OTHERWISE=109
110
+ PI=110
111
+ PROCEDURE=111
112
+ QUERY=112
113
+ REAL=113
114
+ REFERENCE=114
115
+ REMOVE=115
116
+ RENAMED=116
117
+ REPEAT=117
118
+ RETURN=118
119
+ ROLESOF=119
120
+ RULE=120
121
+ SCHEMA=121
122
+ SELECT=122
123
+ SELF=123
124
+ SET=124
125
+ SIN=125
126
+ SIZEOF=126
127
+ SKIP_=127
128
+ SQRT=128
129
+ STRING=129
130
+ SUBTYPE=130
131
+ SUBTYPE_CONSTRAINT=131
132
+ SUPERTYPE=132
133
+ TAN=133
134
+ THEN=134
135
+ TO=135
136
+ TRUE=136
137
+ TYPE=137
138
+ TYPEOF=138
139
+ TOTAL_OVER=139
140
+ UNIQUE=140
141
+ UNKNOWN=141
142
+ UNTIL=142
143
+ USE=143
144
+ USEDIN=144
145
+ VALUE_=145
146
+ VALUE_IN=146
147
+ VALUE_UNIQUE=147
148
+ VAR=148
149
+ WITH=149
150
+ WHERE=150
151
+ WHILE=151
152
+ XOR=152
153
+ BinaryLiteral=153
154
+ EncodedStringLiteral=154
155
+ IntegerLiteral=155
156
+ RealLiteral=156
157
+ SimpleId=157
158
+ SimpleStringLiteral=158
159
+ EmbeddedRemark=159
160
+ TailRemark=160
161
+ Whitespace=161
162
+ ';'=1
163
+ '('=2
164
+ ','=3
165
+ ')'=4
166
+ '+'=5
167
+ '-'=6
168
+ '['=7
169
+ ']'=8
170
+ ':'=9
171
+ ':='=10
172
+ '.'=11
173
+ '?'=12
174
+ '**'=13
175
+ '\\'=14
176
+ '{'=15
177
+ '}'=16
178
+ '<'=17
179
+ '<='=18
180
+ '*'=19
181
+ '/'=20
182
+ '||'=21
183
+ '<*'=22
184
+ '|'=23
185
+ '>'=24
186
+ '>='=25
187
+ '<>'=26
188
+ '='=27
189
+ ':<>:'=28
190
+ ':=:'=29
@@ -0,0 +1,7 @@
1
+
2
+ // Generated from Express.g4 by ANTLR 4.8
3
+
4
+
5
+ #include "ExpressListener.h"
6
+
7
+
@@ -0,0 +1,616 @@
1
+
2
+ // Generated from Express.g4 by ANTLR 4.8
3
+
4
+ #pragma once
5
+
6
+
7
+ #include "antlr4-runtime.h"
8
+ #include "ExpressParser.h"
9
+
10
+
11
+ /**
12
+ * This interface defines an abstract listener for a parse tree produced by ExpressParser.
13
+ */
14
+ class ExpressListener : public antlr4::tree::ParseTreeListener {
15
+ public:
16
+
17
+ virtual void enterAttributeRef(ExpressParser::AttributeRefContext *ctx) = 0;
18
+ virtual void exitAttributeRef(ExpressParser::AttributeRefContext *ctx) = 0;
19
+
20
+ virtual void enterConstantRef(ExpressParser::ConstantRefContext *ctx) = 0;
21
+ virtual void exitConstantRef(ExpressParser::ConstantRefContext *ctx) = 0;
22
+
23
+ virtual void enterEntityRef(ExpressParser::EntityRefContext *ctx) = 0;
24
+ virtual void exitEntityRef(ExpressParser::EntityRefContext *ctx) = 0;
25
+
26
+ virtual void enterEnumerationRef(ExpressParser::EnumerationRefContext *ctx) = 0;
27
+ virtual void exitEnumerationRef(ExpressParser::EnumerationRefContext *ctx) = 0;
28
+
29
+ virtual void enterFunctionRef(ExpressParser::FunctionRefContext *ctx) = 0;
30
+ virtual void exitFunctionRef(ExpressParser::FunctionRefContext *ctx) = 0;
31
+
32
+ virtual void enterParameterRef(ExpressParser::ParameterRefContext *ctx) = 0;
33
+ virtual void exitParameterRef(ExpressParser::ParameterRefContext *ctx) = 0;
34
+
35
+ virtual void enterProcedureRef(ExpressParser::ProcedureRefContext *ctx) = 0;
36
+ virtual void exitProcedureRef(ExpressParser::ProcedureRefContext *ctx) = 0;
37
+
38
+ virtual void enterRuleLabelRef(ExpressParser::RuleLabelRefContext *ctx) = 0;
39
+ virtual void exitRuleLabelRef(ExpressParser::RuleLabelRefContext *ctx) = 0;
40
+
41
+ virtual void enterRuleRef(ExpressParser::RuleRefContext *ctx) = 0;
42
+ virtual void exitRuleRef(ExpressParser::RuleRefContext *ctx) = 0;
43
+
44
+ virtual void enterSchemaRef(ExpressParser::SchemaRefContext *ctx) = 0;
45
+ virtual void exitSchemaRef(ExpressParser::SchemaRefContext *ctx) = 0;
46
+
47
+ virtual void enterSubtypeConstraintRef(ExpressParser::SubtypeConstraintRefContext *ctx) = 0;
48
+ virtual void exitSubtypeConstraintRef(ExpressParser::SubtypeConstraintRefContext *ctx) = 0;
49
+
50
+ virtual void enterTypeLabelRef(ExpressParser::TypeLabelRefContext *ctx) = 0;
51
+ virtual void exitTypeLabelRef(ExpressParser::TypeLabelRefContext *ctx) = 0;
52
+
53
+ virtual void enterTypeRef(ExpressParser::TypeRefContext *ctx) = 0;
54
+ virtual void exitTypeRef(ExpressParser::TypeRefContext *ctx) = 0;
55
+
56
+ virtual void enterVariableRef(ExpressParser::VariableRefContext *ctx) = 0;
57
+ virtual void exitVariableRef(ExpressParser::VariableRefContext *ctx) = 0;
58
+
59
+ virtual void enterAbstractEntityDeclaration(ExpressParser::AbstractEntityDeclarationContext *ctx) = 0;
60
+ virtual void exitAbstractEntityDeclaration(ExpressParser::AbstractEntityDeclarationContext *ctx) = 0;
61
+
62
+ virtual void enterAbstractSupertype(ExpressParser::AbstractSupertypeContext *ctx) = 0;
63
+ virtual void exitAbstractSupertype(ExpressParser::AbstractSupertypeContext *ctx) = 0;
64
+
65
+ virtual void enterAbstractSupertypeDeclaration(ExpressParser::AbstractSupertypeDeclarationContext *ctx) = 0;
66
+ virtual void exitAbstractSupertypeDeclaration(ExpressParser::AbstractSupertypeDeclarationContext *ctx) = 0;
67
+
68
+ virtual void enterActualParameterList(ExpressParser::ActualParameterListContext *ctx) = 0;
69
+ virtual void exitActualParameterList(ExpressParser::ActualParameterListContext *ctx) = 0;
70
+
71
+ virtual void enterAddLikeOp(ExpressParser::AddLikeOpContext *ctx) = 0;
72
+ virtual void exitAddLikeOp(ExpressParser::AddLikeOpContext *ctx) = 0;
73
+
74
+ virtual void enterAggregateInitializer(ExpressParser::AggregateInitializerContext *ctx) = 0;
75
+ virtual void exitAggregateInitializer(ExpressParser::AggregateInitializerContext *ctx) = 0;
76
+
77
+ virtual void enterAggregateSource(ExpressParser::AggregateSourceContext *ctx) = 0;
78
+ virtual void exitAggregateSource(ExpressParser::AggregateSourceContext *ctx) = 0;
79
+
80
+ virtual void enterAggregateType(ExpressParser::AggregateTypeContext *ctx) = 0;
81
+ virtual void exitAggregateType(ExpressParser::AggregateTypeContext *ctx) = 0;
82
+
83
+ virtual void enterAggregationTypes(ExpressParser::AggregationTypesContext *ctx) = 0;
84
+ virtual void exitAggregationTypes(ExpressParser::AggregationTypesContext *ctx) = 0;
85
+
86
+ virtual void enterAlgorithmHead(ExpressParser::AlgorithmHeadContext *ctx) = 0;
87
+ virtual void exitAlgorithmHead(ExpressParser::AlgorithmHeadContext *ctx) = 0;
88
+
89
+ virtual void enterAliasStmt(ExpressParser::AliasStmtContext *ctx) = 0;
90
+ virtual void exitAliasStmt(ExpressParser::AliasStmtContext *ctx) = 0;
91
+
92
+ virtual void enterArrayType(ExpressParser::ArrayTypeContext *ctx) = 0;
93
+ virtual void exitArrayType(ExpressParser::ArrayTypeContext *ctx) = 0;
94
+
95
+ virtual void enterAssignmentStmt(ExpressParser::AssignmentStmtContext *ctx) = 0;
96
+ virtual void exitAssignmentStmt(ExpressParser::AssignmentStmtContext *ctx) = 0;
97
+
98
+ virtual void enterAttributeDecl(ExpressParser::AttributeDeclContext *ctx) = 0;
99
+ virtual void exitAttributeDecl(ExpressParser::AttributeDeclContext *ctx) = 0;
100
+
101
+ virtual void enterAttributeId(ExpressParser::AttributeIdContext *ctx) = 0;
102
+ virtual void exitAttributeId(ExpressParser::AttributeIdContext *ctx) = 0;
103
+
104
+ virtual void enterAttributeQualifier(ExpressParser::AttributeQualifierContext *ctx) = 0;
105
+ virtual void exitAttributeQualifier(ExpressParser::AttributeQualifierContext *ctx) = 0;
106
+
107
+ virtual void enterBagType(ExpressParser::BagTypeContext *ctx) = 0;
108
+ virtual void exitBagType(ExpressParser::BagTypeContext *ctx) = 0;
109
+
110
+ virtual void enterBinaryType(ExpressParser::BinaryTypeContext *ctx) = 0;
111
+ virtual void exitBinaryType(ExpressParser::BinaryTypeContext *ctx) = 0;
112
+
113
+ virtual void enterBooleanType(ExpressParser::BooleanTypeContext *ctx) = 0;
114
+ virtual void exitBooleanType(ExpressParser::BooleanTypeContext *ctx) = 0;
115
+
116
+ virtual void enterBound1(ExpressParser::Bound1Context *ctx) = 0;
117
+ virtual void exitBound1(ExpressParser::Bound1Context *ctx) = 0;
118
+
119
+ virtual void enterBound2(ExpressParser::Bound2Context *ctx) = 0;
120
+ virtual void exitBound2(ExpressParser::Bound2Context *ctx) = 0;
121
+
122
+ virtual void enterBoundSpec(ExpressParser::BoundSpecContext *ctx) = 0;
123
+ virtual void exitBoundSpec(ExpressParser::BoundSpecContext *ctx) = 0;
124
+
125
+ virtual void enterBuiltInConstant(ExpressParser::BuiltInConstantContext *ctx) = 0;
126
+ virtual void exitBuiltInConstant(ExpressParser::BuiltInConstantContext *ctx) = 0;
127
+
128
+ virtual void enterBuiltInFunction(ExpressParser::BuiltInFunctionContext *ctx) = 0;
129
+ virtual void exitBuiltInFunction(ExpressParser::BuiltInFunctionContext *ctx) = 0;
130
+
131
+ virtual void enterBuiltInProcedure(ExpressParser::BuiltInProcedureContext *ctx) = 0;
132
+ virtual void exitBuiltInProcedure(ExpressParser::BuiltInProcedureContext *ctx) = 0;
133
+
134
+ virtual void enterCaseAction(ExpressParser::CaseActionContext *ctx) = 0;
135
+ virtual void exitCaseAction(ExpressParser::CaseActionContext *ctx) = 0;
136
+
137
+ virtual void enterCaseLabel(ExpressParser::CaseLabelContext *ctx) = 0;
138
+ virtual void exitCaseLabel(ExpressParser::CaseLabelContext *ctx) = 0;
139
+
140
+ virtual void enterCaseStmt(ExpressParser::CaseStmtContext *ctx) = 0;
141
+ virtual void exitCaseStmt(ExpressParser::CaseStmtContext *ctx) = 0;
142
+
143
+ virtual void enterCompoundStmt(ExpressParser::CompoundStmtContext *ctx) = 0;
144
+ virtual void exitCompoundStmt(ExpressParser::CompoundStmtContext *ctx) = 0;
145
+
146
+ virtual void enterConcreteTypes(ExpressParser::ConcreteTypesContext *ctx) = 0;
147
+ virtual void exitConcreteTypes(ExpressParser::ConcreteTypesContext *ctx) = 0;
148
+
149
+ virtual void enterConstantBody(ExpressParser::ConstantBodyContext *ctx) = 0;
150
+ virtual void exitConstantBody(ExpressParser::ConstantBodyContext *ctx) = 0;
151
+
152
+ virtual void enterConstantDecl(ExpressParser::ConstantDeclContext *ctx) = 0;
153
+ virtual void exitConstantDecl(ExpressParser::ConstantDeclContext *ctx) = 0;
154
+
155
+ virtual void enterConstantFactor(ExpressParser::ConstantFactorContext *ctx) = 0;
156
+ virtual void exitConstantFactor(ExpressParser::ConstantFactorContext *ctx) = 0;
157
+
158
+ virtual void enterConstantId(ExpressParser::ConstantIdContext *ctx) = 0;
159
+ virtual void exitConstantId(ExpressParser::ConstantIdContext *ctx) = 0;
160
+
161
+ virtual void enterConstructedTypes(ExpressParser::ConstructedTypesContext *ctx) = 0;
162
+ virtual void exitConstructedTypes(ExpressParser::ConstructedTypesContext *ctx) = 0;
163
+
164
+ virtual void enterDeclaration(ExpressParser::DeclarationContext *ctx) = 0;
165
+ virtual void exitDeclaration(ExpressParser::DeclarationContext *ctx) = 0;
166
+
167
+ virtual void enterDerivedAttr(ExpressParser::DerivedAttrContext *ctx) = 0;
168
+ virtual void exitDerivedAttr(ExpressParser::DerivedAttrContext *ctx) = 0;
169
+
170
+ virtual void enterDeriveClause(ExpressParser::DeriveClauseContext *ctx) = 0;
171
+ virtual void exitDeriveClause(ExpressParser::DeriveClauseContext *ctx) = 0;
172
+
173
+ virtual void enterDomainRule(ExpressParser::DomainRuleContext *ctx) = 0;
174
+ virtual void exitDomainRule(ExpressParser::DomainRuleContext *ctx) = 0;
175
+
176
+ virtual void enterElement(ExpressParser::ElementContext *ctx) = 0;
177
+ virtual void exitElement(ExpressParser::ElementContext *ctx) = 0;
178
+
179
+ virtual void enterEntityBody(ExpressParser::EntityBodyContext *ctx) = 0;
180
+ virtual void exitEntityBody(ExpressParser::EntityBodyContext *ctx) = 0;
181
+
182
+ virtual void enterEntityConstructor(ExpressParser::EntityConstructorContext *ctx) = 0;
183
+ virtual void exitEntityConstructor(ExpressParser::EntityConstructorContext *ctx) = 0;
184
+
185
+ virtual void enterEntityDecl(ExpressParser::EntityDeclContext *ctx) = 0;
186
+ virtual void exitEntityDecl(ExpressParser::EntityDeclContext *ctx) = 0;
187
+
188
+ virtual void enterEntityHead(ExpressParser::EntityHeadContext *ctx) = 0;
189
+ virtual void exitEntityHead(ExpressParser::EntityHeadContext *ctx) = 0;
190
+
191
+ virtual void enterEntityId(ExpressParser::EntityIdContext *ctx) = 0;
192
+ virtual void exitEntityId(ExpressParser::EntityIdContext *ctx) = 0;
193
+
194
+ virtual void enterEnumerationExtension(ExpressParser::EnumerationExtensionContext *ctx) = 0;
195
+ virtual void exitEnumerationExtension(ExpressParser::EnumerationExtensionContext *ctx) = 0;
196
+
197
+ virtual void enterEnumerationId(ExpressParser::EnumerationIdContext *ctx) = 0;
198
+ virtual void exitEnumerationId(ExpressParser::EnumerationIdContext *ctx) = 0;
199
+
200
+ virtual void enterEnumerationItems(ExpressParser::EnumerationItemsContext *ctx) = 0;
201
+ virtual void exitEnumerationItems(ExpressParser::EnumerationItemsContext *ctx) = 0;
202
+
203
+ virtual void enterEnumerationItem(ExpressParser::EnumerationItemContext *ctx) = 0;
204
+ virtual void exitEnumerationItem(ExpressParser::EnumerationItemContext *ctx) = 0;
205
+
206
+ virtual void enterEnumerationReference(ExpressParser::EnumerationReferenceContext *ctx) = 0;
207
+ virtual void exitEnumerationReference(ExpressParser::EnumerationReferenceContext *ctx) = 0;
208
+
209
+ virtual void enterEnumerationType(ExpressParser::EnumerationTypeContext *ctx) = 0;
210
+ virtual void exitEnumerationType(ExpressParser::EnumerationTypeContext *ctx) = 0;
211
+
212
+ virtual void enterEscapeStmt(ExpressParser::EscapeStmtContext *ctx) = 0;
213
+ virtual void exitEscapeStmt(ExpressParser::EscapeStmtContext *ctx) = 0;
214
+
215
+ virtual void enterExplicitAttr(ExpressParser::ExplicitAttrContext *ctx) = 0;
216
+ virtual void exitExplicitAttr(ExpressParser::ExplicitAttrContext *ctx) = 0;
217
+
218
+ virtual void enterExpression(ExpressParser::ExpressionContext *ctx) = 0;
219
+ virtual void exitExpression(ExpressParser::ExpressionContext *ctx) = 0;
220
+
221
+ virtual void enterFactor(ExpressParser::FactorContext *ctx) = 0;
222
+ virtual void exitFactor(ExpressParser::FactorContext *ctx) = 0;
223
+
224
+ virtual void enterFormalParameter(ExpressParser::FormalParameterContext *ctx) = 0;
225
+ virtual void exitFormalParameter(ExpressParser::FormalParameterContext *ctx) = 0;
226
+
227
+ virtual void enterFunctionCall(ExpressParser::FunctionCallContext *ctx) = 0;
228
+ virtual void exitFunctionCall(ExpressParser::FunctionCallContext *ctx) = 0;
229
+
230
+ virtual void enterFunctionDecl(ExpressParser::FunctionDeclContext *ctx) = 0;
231
+ virtual void exitFunctionDecl(ExpressParser::FunctionDeclContext *ctx) = 0;
232
+
233
+ virtual void enterFunctionHead(ExpressParser::FunctionHeadContext *ctx) = 0;
234
+ virtual void exitFunctionHead(ExpressParser::FunctionHeadContext *ctx) = 0;
235
+
236
+ virtual void enterFunctionId(ExpressParser::FunctionIdContext *ctx) = 0;
237
+ virtual void exitFunctionId(ExpressParser::FunctionIdContext *ctx) = 0;
238
+
239
+ virtual void enterGeneralizedTypes(ExpressParser::GeneralizedTypesContext *ctx) = 0;
240
+ virtual void exitGeneralizedTypes(ExpressParser::GeneralizedTypesContext *ctx) = 0;
241
+
242
+ virtual void enterGeneralAggregationTypes(ExpressParser::GeneralAggregationTypesContext *ctx) = 0;
243
+ virtual void exitGeneralAggregationTypes(ExpressParser::GeneralAggregationTypesContext *ctx) = 0;
244
+
245
+ virtual void enterGeneralArrayType(ExpressParser::GeneralArrayTypeContext *ctx) = 0;
246
+ virtual void exitGeneralArrayType(ExpressParser::GeneralArrayTypeContext *ctx) = 0;
247
+
248
+ virtual void enterGeneralBagType(ExpressParser::GeneralBagTypeContext *ctx) = 0;
249
+ virtual void exitGeneralBagType(ExpressParser::GeneralBagTypeContext *ctx) = 0;
250
+
251
+ virtual void enterGeneralListType(ExpressParser::GeneralListTypeContext *ctx) = 0;
252
+ virtual void exitGeneralListType(ExpressParser::GeneralListTypeContext *ctx) = 0;
253
+
254
+ virtual void enterGeneralRef(ExpressParser::GeneralRefContext *ctx) = 0;
255
+ virtual void exitGeneralRef(ExpressParser::GeneralRefContext *ctx) = 0;
256
+
257
+ virtual void enterGeneralSetType(ExpressParser::GeneralSetTypeContext *ctx) = 0;
258
+ virtual void exitGeneralSetType(ExpressParser::GeneralSetTypeContext *ctx) = 0;
259
+
260
+ virtual void enterGenericEntityType(ExpressParser::GenericEntityTypeContext *ctx) = 0;
261
+ virtual void exitGenericEntityType(ExpressParser::GenericEntityTypeContext *ctx) = 0;
262
+
263
+ virtual void enterGenericType(ExpressParser::GenericTypeContext *ctx) = 0;
264
+ virtual void exitGenericType(ExpressParser::GenericTypeContext *ctx) = 0;
265
+
266
+ virtual void enterGroupQualifier(ExpressParser::GroupQualifierContext *ctx) = 0;
267
+ virtual void exitGroupQualifier(ExpressParser::GroupQualifierContext *ctx) = 0;
268
+
269
+ virtual void enterIfStmt(ExpressParser::IfStmtContext *ctx) = 0;
270
+ virtual void exitIfStmt(ExpressParser::IfStmtContext *ctx) = 0;
271
+
272
+ virtual void enterIfStmtStatements(ExpressParser::IfStmtStatementsContext *ctx) = 0;
273
+ virtual void exitIfStmtStatements(ExpressParser::IfStmtStatementsContext *ctx) = 0;
274
+
275
+ virtual void enterIfStmtElseStatements(ExpressParser::IfStmtElseStatementsContext *ctx) = 0;
276
+ virtual void exitIfStmtElseStatements(ExpressParser::IfStmtElseStatementsContext *ctx) = 0;
277
+
278
+ virtual void enterIncrement(ExpressParser::IncrementContext *ctx) = 0;
279
+ virtual void exitIncrement(ExpressParser::IncrementContext *ctx) = 0;
280
+
281
+ virtual void enterIncrementControl(ExpressParser::IncrementControlContext *ctx) = 0;
282
+ virtual void exitIncrementControl(ExpressParser::IncrementControlContext *ctx) = 0;
283
+
284
+ virtual void enterIndex(ExpressParser::IndexContext *ctx) = 0;
285
+ virtual void exitIndex(ExpressParser::IndexContext *ctx) = 0;
286
+
287
+ virtual void enterIndex1(ExpressParser::Index1Context *ctx) = 0;
288
+ virtual void exitIndex1(ExpressParser::Index1Context *ctx) = 0;
289
+
290
+ virtual void enterIndex2(ExpressParser::Index2Context *ctx) = 0;
291
+ virtual void exitIndex2(ExpressParser::Index2Context *ctx) = 0;
292
+
293
+ virtual void enterIndexQualifier(ExpressParser::IndexQualifierContext *ctx) = 0;
294
+ virtual void exitIndexQualifier(ExpressParser::IndexQualifierContext *ctx) = 0;
295
+
296
+ virtual void enterInstantiableType(ExpressParser::InstantiableTypeContext *ctx) = 0;
297
+ virtual void exitInstantiableType(ExpressParser::InstantiableTypeContext *ctx) = 0;
298
+
299
+ virtual void enterIntegerType(ExpressParser::IntegerTypeContext *ctx) = 0;
300
+ virtual void exitIntegerType(ExpressParser::IntegerTypeContext *ctx) = 0;
301
+
302
+ virtual void enterInterfaceSpecification(ExpressParser::InterfaceSpecificationContext *ctx) = 0;
303
+ virtual void exitInterfaceSpecification(ExpressParser::InterfaceSpecificationContext *ctx) = 0;
304
+
305
+ virtual void enterInterval(ExpressParser::IntervalContext *ctx) = 0;
306
+ virtual void exitInterval(ExpressParser::IntervalContext *ctx) = 0;
307
+
308
+ virtual void enterIntervalHigh(ExpressParser::IntervalHighContext *ctx) = 0;
309
+ virtual void exitIntervalHigh(ExpressParser::IntervalHighContext *ctx) = 0;
310
+
311
+ virtual void enterIntervalItem(ExpressParser::IntervalItemContext *ctx) = 0;
312
+ virtual void exitIntervalItem(ExpressParser::IntervalItemContext *ctx) = 0;
313
+
314
+ virtual void enterIntervalLow(ExpressParser::IntervalLowContext *ctx) = 0;
315
+ virtual void exitIntervalLow(ExpressParser::IntervalLowContext *ctx) = 0;
316
+
317
+ virtual void enterIntervalOp(ExpressParser::IntervalOpContext *ctx) = 0;
318
+ virtual void exitIntervalOp(ExpressParser::IntervalOpContext *ctx) = 0;
319
+
320
+ virtual void enterInverseAttr(ExpressParser::InverseAttrContext *ctx) = 0;
321
+ virtual void exitInverseAttr(ExpressParser::InverseAttrContext *ctx) = 0;
322
+
323
+ virtual void enterInverseAttrType(ExpressParser::InverseAttrTypeContext *ctx) = 0;
324
+ virtual void exitInverseAttrType(ExpressParser::InverseAttrTypeContext *ctx) = 0;
325
+
326
+ virtual void enterInverseClause(ExpressParser::InverseClauseContext *ctx) = 0;
327
+ virtual void exitInverseClause(ExpressParser::InverseClauseContext *ctx) = 0;
328
+
329
+ virtual void enterListType(ExpressParser::ListTypeContext *ctx) = 0;
330
+ virtual void exitListType(ExpressParser::ListTypeContext *ctx) = 0;
331
+
332
+ virtual void enterLiteral(ExpressParser::LiteralContext *ctx) = 0;
333
+ virtual void exitLiteral(ExpressParser::LiteralContext *ctx) = 0;
334
+
335
+ virtual void enterLocalDecl(ExpressParser::LocalDeclContext *ctx) = 0;
336
+ virtual void exitLocalDecl(ExpressParser::LocalDeclContext *ctx) = 0;
337
+
338
+ virtual void enterLocalVariable(ExpressParser::LocalVariableContext *ctx) = 0;
339
+ virtual void exitLocalVariable(ExpressParser::LocalVariableContext *ctx) = 0;
340
+
341
+ virtual void enterLogicalExpression(ExpressParser::LogicalExpressionContext *ctx) = 0;
342
+ virtual void exitLogicalExpression(ExpressParser::LogicalExpressionContext *ctx) = 0;
343
+
344
+ virtual void enterLogicalLiteral(ExpressParser::LogicalLiteralContext *ctx) = 0;
345
+ virtual void exitLogicalLiteral(ExpressParser::LogicalLiteralContext *ctx) = 0;
346
+
347
+ virtual void enterLogicalType(ExpressParser::LogicalTypeContext *ctx) = 0;
348
+ virtual void exitLogicalType(ExpressParser::LogicalTypeContext *ctx) = 0;
349
+
350
+ virtual void enterMultiplicationLikeOp(ExpressParser::MultiplicationLikeOpContext *ctx) = 0;
351
+ virtual void exitMultiplicationLikeOp(ExpressParser::MultiplicationLikeOpContext *ctx) = 0;
352
+
353
+ virtual void enterNamedTypes(ExpressParser::NamedTypesContext *ctx) = 0;
354
+ virtual void exitNamedTypes(ExpressParser::NamedTypesContext *ctx) = 0;
355
+
356
+ virtual void enterNamedTypeOrRename(ExpressParser::NamedTypeOrRenameContext *ctx) = 0;
357
+ virtual void exitNamedTypeOrRename(ExpressParser::NamedTypeOrRenameContext *ctx) = 0;
358
+
359
+ virtual void enterNullStmt(ExpressParser::NullStmtContext *ctx) = 0;
360
+ virtual void exitNullStmt(ExpressParser::NullStmtContext *ctx) = 0;
361
+
362
+ virtual void enterNumberType(ExpressParser::NumberTypeContext *ctx) = 0;
363
+ virtual void exitNumberType(ExpressParser::NumberTypeContext *ctx) = 0;
364
+
365
+ virtual void enterNumericExpression(ExpressParser::NumericExpressionContext *ctx) = 0;
366
+ virtual void exitNumericExpression(ExpressParser::NumericExpressionContext *ctx) = 0;
367
+
368
+ virtual void enterOneOf(ExpressParser::OneOfContext *ctx) = 0;
369
+ virtual void exitOneOf(ExpressParser::OneOfContext *ctx) = 0;
370
+
371
+ virtual void enterParameter(ExpressParser::ParameterContext *ctx) = 0;
372
+ virtual void exitParameter(ExpressParser::ParameterContext *ctx) = 0;
373
+
374
+ virtual void enterParameterId(ExpressParser::ParameterIdContext *ctx) = 0;
375
+ virtual void exitParameterId(ExpressParser::ParameterIdContext *ctx) = 0;
376
+
377
+ virtual void enterParameterType(ExpressParser::ParameterTypeContext *ctx) = 0;
378
+ virtual void exitParameterType(ExpressParser::ParameterTypeContext *ctx) = 0;
379
+
380
+ virtual void enterPopulation(ExpressParser::PopulationContext *ctx) = 0;
381
+ virtual void exitPopulation(ExpressParser::PopulationContext *ctx) = 0;
382
+
383
+ virtual void enterPrecisionSpec(ExpressParser::PrecisionSpecContext *ctx) = 0;
384
+ virtual void exitPrecisionSpec(ExpressParser::PrecisionSpecContext *ctx) = 0;
385
+
386
+ virtual void enterPrimary(ExpressParser::PrimaryContext *ctx) = 0;
387
+ virtual void exitPrimary(ExpressParser::PrimaryContext *ctx) = 0;
388
+
389
+ virtual void enterProcedureCallStmt(ExpressParser::ProcedureCallStmtContext *ctx) = 0;
390
+ virtual void exitProcedureCallStmt(ExpressParser::ProcedureCallStmtContext *ctx) = 0;
391
+
392
+ virtual void enterProcedureDecl(ExpressParser::ProcedureDeclContext *ctx) = 0;
393
+ virtual void exitProcedureDecl(ExpressParser::ProcedureDeclContext *ctx) = 0;
394
+
395
+ virtual void enterProcedureHead(ExpressParser::ProcedureHeadContext *ctx) = 0;
396
+ virtual void exitProcedureHead(ExpressParser::ProcedureHeadContext *ctx) = 0;
397
+
398
+ virtual void enterProcedureHeadParameter(ExpressParser::ProcedureHeadParameterContext *ctx) = 0;
399
+ virtual void exitProcedureHeadParameter(ExpressParser::ProcedureHeadParameterContext *ctx) = 0;
400
+
401
+ virtual void enterProcedureId(ExpressParser::ProcedureIdContext *ctx) = 0;
402
+ virtual void exitProcedureId(ExpressParser::ProcedureIdContext *ctx) = 0;
403
+
404
+ virtual void enterQualifiableFactor(ExpressParser::QualifiableFactorContext *ctx) = 0;
405
+ virtual void exitQualifiableFactor(ExpressParser::QualifiableFactorContext *ctx) = 0;
406
+
407
+ virtual void enterQualifiedAttribute(ExpressParser::QualifiedAttributeContext *ctx) = 0;
408
+ virtual void exitQualifiedAttribute(ExpressParser::QualifiedAttributeContext *ctx) = 0;
409
+
410
+ virtual void enterQualifier(ExpressParser::QualifierContext *ctx) = 0;
411
+ virtual void exitQualifier(ExpressParser::QualifierContext *ctx) = 0;
412
+
413
+ virtual void enterQueryExpression(ExpressParser::QueryExpressionContext *ctx) = 0;
414
+ virtual void exitQueryExpression(ExpressParser::QueryExpressionContext *ctx) = 0;
415
+
416
+ virtual void enterRealType(ExpressParser::RealTypeContext *ctx) = 0;
417
+ virtual void exitRealType(ExpressParser::RealTypeContext *ctx) = 0;
418
+
419
+ virtual void enterRedeclaredAttribute(ExpressParser::RedeclaredAttributeContext *ctx) = 0;
420
+ virtual void exitRedeclaredAttribute(ExpressParser::RedeclaredAttributeContext *ctx) = 0;
421
+
422
+ virtual void enterReferencedAttribute(ExpressParser::ReferencedAttributeContext *ctx) = 0;
423
+ virtual void exitReferencedAttribute(ExpressParser::ReferencedAttributeContext *ctx) = 0;
424
+
425
+ virtual void enterReferenceClause(ExpressParser::ReferenceClauseContext *ctx) = 0;
426
+ virtual void exitReferenceClause(ExpressParser::ReferenceClauseContext *ctx) = 0;
427
+
428
+ virtual void enterRelOp(ExpressParser::RelOpContext *ctx) = 0;
429
+ virtual void exitRelOp(ExpressParser::RelOpContext *ctx) = 0;
430
+
431
+ virtual void enterRelOpExtended(ExpressParser::RelOpExtendedContext *ctx) = 0;
432
+ virtual void exitRelOpExtended(ExpressParser::RelOpExtendedContext *ctx) = 0;
433
+
434
+ virtual void enterRenameId(ExpressParser::RenameIdContext *ctx) = 0;
435
+ virtual void exitRenameId(ExpressParser::RenameIdContext *ctx) = 0;
436
+
437
+ virtual void enterRepeatControl(ExpressParser::RepeatControlContext *ctx) = 0;
438
+ virtual void exitRepeatControl(ExpressParser::RepeatControlContext *ctx) = 0;
439
+
440
+ virtual void enterRepeatStmt(ExpressParser::RepeatStmtContext *ctx) = 0;
441
+ virtual void exitRepeatStmt(ExpressParser::RepeatStmtContext *ctx) = 0;
442
+
443
+ virtual void enterRepetition(ExpressParser::RepetitionContext *ctx) = 0;
444
+ virtual void exitRepetition(ExpressParser::RepetitionContext *ctx) = 0;
445
+
446
+ virtual void enterResourceOrRename(ExpressParser::ResourceOrRenameContext *ctx) = 0;
447
+ virtual void exitResourceOrRename(ExpressParser::ResourceOrRenameContext *ctx) = 0;
448
+
449
+ virtual void enterResourceRef(ExpressParser::ResourceRefContext *ctx) = 0;
450
+ virtual void exitResourceRef(ExpressParser::ResourceRefContext *ctx) = 0;
451
+
452
+ virtual void enterReturnStmt(ExpressParser::ReturnStmtContext *ctx) = 0;
453
+ virtual void exitReturnStmt(ExpressParser::ReturnStmtContext *ctx) = 0;
454
+
455
+ virtual void enterRuleDecl(ExpressParser::RuleDeclContext *ctx) = 0;
456
+ virtual void exitRuleDecl(ExpressParser::RuleDeclContext *ctx) = 0;
457
+
458
+ virtual void enterRuleHead(ExpressParser::RuleHeadContext *ctx) = 0;
459
+ virtual void exitRuleHead(ExpressParser::RuleHeadContext *ctx) = 0;
460
+
461
+ virtual void enterRuleId(ExpressParser::RuleIdContext *ctx) = 0;
462
+ virtual void exitRuleId(ExpressParser::RuleIdContext *ctx) = 0;
463
+
464
+ virtual void enterRuleLabelId(ExpressParser::RuleLabelIdContext *ctx) = 0;
465
+ virtual void exitRuleLabelId(ExpressParser::RuleLabelIdContext *ctx) = 0;
466
+
467
+ virtual void enterSchemaBody(ExpressParser::SchemaBodyContext *ctx) = 0;
468
+ virtual void exitSchemaBody(ExpressParser::SchemaBodyContext *ctx) = 0;
469
+
470
+ virtual void enterSchemaBodyDeclaration(ExpressParser::SchemaBodyDeclarationContext *ctx) = 0;
471
+ virtual void exitSchemaBodyDeclaration(ExpressParser::SchemaBodyDeclarationContext *ctx) = 0;
472
+
473
+ virtual void enterSchemaDecl(ExpressParser::SchemaDeclContext *ctx) = 0;
474
+ virtual void exitSchemaDecl(ExpressParser::SchemaDeclContext *ctx) = 0;
475
+
476
+ virtual void enterSchemaId(ExpressParser::SchemaIdContext *ctx) = 0;
477
+ virtual void exitSchemaId(ExpressParser::SchemaIdContext *ctx) = 0;
478
+
479
+ virtual void enterSchemaVersionId(ExpressParser::SchemaVersionIdContext *ctx) = 0;
480
+ virtual void exitSchemaVersionId(ExpressParser::SchemaVersionIdContext *ctx) = 0;
481
+
482
+ virtual void enterSelector(ExpressParser::SelectorContext *ctx) = 0;
483
+ virtual void exitSelector(ExpressParser::SelectorContext *ctx) = 0;
484
+
485
+ virtual void enterSelectExtension(ExpressParser::SelectExtensionContext *ctx) = 0;
486
+ virtual void exitSelectExtension(ExpressParser::SelectExtensionContext *ctx) = 0;
487
+
488
+ virtual void enterSelectList(ExpressParser::SelectListContext *ctx) = 0;
489
+ virtual void exitSelectList(ExpressParser::SelectListContext *ctx) = 0;
490
+
491
+ virtual void enterSelectType(ExpressParser::SelectTypeContext *ctx) = 0;
492
+ virtual void exitSelectType(ExpressParser::SelectTypeContext *ctx) = 0;
493
+
494
+ virtual void enterSetType(ExpressParser::SetTypeContext *ctx) = 0;
495
+ virtual void exitSetType(ExpressParser::SetTypeContext *ctx) = 0;
496
+
497
+ virtual void enterSimpleExpression(ExpressParser::SimpleExpressionContext *ctx) = 0;
498
+ virtual void exitSimpleExpression(ExpressParser::SimpleExpressionContext *ctx) = 0;
499
+
500
+ virtual void enterSimpleFactor(ExpressParser::SimpleFactorContext *ctx) = 0;
501
+ virtual void exitSimpleFactor(ExpressParser::SimpleFactorContext *ctx) = 0;
502
+
503
+ virtual void enterSimpleFactorExpression(ExpressParser::SimpleFactorExpressionContext *ctx) = 0;
504
+ virtual void exitSimpleFactorExpression(ExpressParser::SimpleFactorExpressionContext *ctx) = 0;
505
+
506
+ virtual void enterSimpleFactorUnaryExpression(ExpressParser::SimpleFactorUnaryExpressionContext *ctx) = 0;
507
+ virtual void exitSimpleFactorUnaryExpression(ExpressParser::SimpleFactorUnaryExpressionContext *ctx) = 0;
508
+
509
+ virtual void enterSimpleTypes(ExpressParser::SimpleTypesContext *ctx) = 0;
510
+ virtual void exitSimpleTypes(ExpressParser::SimpleTypesContext *ctx) = 0;
511
+
512
+ virtual void enterSkipStmt(ExpressParser::SkipStmtContext *ctx) = 0;
513
+ virtual void exitSkipStmt(ExpressParser::SkipStmtContext *ctx) = 0;
514
+
515
+ virtual void enterStmt(ExpressParser::StmtContext *ctx) = 0;
516
+ virtual void exitStmt(ExpressParser::StmtContext *ctx) = 0;
517
+
518
+ virtual void enterStringLiteral(ExpressParser::StringLiteralContext *ctx) = 0;
519
+ virtual void exitStringLiteral(ExpressParser::StringLiteralContext *ctx) = 0;
520
+
521
+ virtual void enterStringType(ExpressParser::StringTypeContext *ctx) = 0;
522
+ virtual void exitStringType(ExpressParser::StringTypeContext *ctx) = 0;
523
+
524
+ virtual void enterSubsuper(ExpressParser::SubsuperContext *ctx) = 0;
525
+ virtual void exitSubsuper(ExpressParser::SubsuperContext *ctx) = 0;
526
+
527
+ virtual void enterSubtypeConstraint(ExpressParser::SubtypeConstraintContext *ctx) = 0;
528
+ virtual void exitSubtypeConstraint(ExpressParser::SubtypeConstraintContext *ctx) = 0;
529
+
530
+ virtual void enterSubtypeConstraintBody(ExpressParser::SubtypeConstraintBodyContext *ctx) = 0;
531
+ virtual void exitSubtypeConstraintBody(ExpressParser::SubtypeConstraintBodyContext *ctx) = 0;
532
+
533
+ virtual void enterSubtypeConstraintDecl(ExpressParser::SubtypeConstraintDeclContext *ctx) = 0;
534
+ virtual void exitSubtypeConstraintDecl(ExpressParser::SubtypeConstraintDeclContext *ctx) = 0;
535
+
536
+ virtual void enterSubtypeConstraintHead(ExpressParser::SubtypeConstraintHeadContext *ctx) = 0;
537
+ virtual void exitSubtypeConstraintHead(ExpressParser::SubtypeConstraintHeadContext *ctx) = 0;
538
+
539
+ virtual void enterSubtypeConstraintId(ExpressParser::SubtypeConstraintIdContext *ctx) = 0;
540
+ virtual void exitSubtypeConstraintId(ExpressParser::SubtypeConstraintIdContext *ctx) = 0;
541
+
542
+ virtual void enterSubtypeDeclaration(ExpressParser::SubtypeDeclarationContext *ctx) = 0;
543
+ virtual void exitSubtypeDeclaration(ExpressParser::SubtypeDeclarationContext *ctx) = 0;
544
+
545
+ virtual void enterSupertypeConstraint(ExpressParser::SupertypeConstraintContext *ctx) = 0;
546
+ virtual void exitSupertypeConstraint(ExpressParser::SupertypeConstraintContext *ctx) = 0;
547
+
548
+ virtual void enterSupertypeExpression(ExpressParser::SupertypeExpressionContext *ctx) = 0;
549
+ virtual void exitSupertypeExpression(ExpressParser::SupertypeExpressionContext *ctx) = 0;
550
+
551
+ virtual void enterSupertypeFactor(ExpressParser::SupertypeFactorContext *ctx) = 0;
552
+ virtual void exitSupertypeFactor(ExpressParser::SupertypeFactorContext *ctx) = 0;
553
+
554
+ virtual void enterSupertypeRule(ExpressParser::SupertypeRuleContext *ctx) = 0;
555
+ virtual void exitSupertypeRule(ExpressParser::SupertypeRuleContext *ctx) = 0;
556
+
557
+ virtual void enterSupertypeTerm(ExpressParser::SupertypeTermContext *ctx) = 0;
558
+ virtual void exitSupertypeTerm(ExpressParser::SupertypeTermContext *ctx) = 0;
559
+
560
+ virtual void enterSyntax(ExpressParser::SyntaxContext *ctx) = 0;
561
+ virtual void exitSyntax(ExpressParser::SyntaxContext *ctx) = 0;
562
+
563
+ virtual void enterTerm(ExpressParser::TermContext *ctx) = 0;
564
+ virtual void exitTerm(ExpressParser::TermContext *ctx) = 0;
565
+
566
+ virtual void enterTotalOver(ExpressParser::TotalOverContext *ctx) = 0;
567
+ virtual void exitTotalOver(ExpressParser::TotalOverContext *ctx) = 0;
568
+
569
+ virtual void enterTypeDecl(ExpressParser::TypeDeclContext *ctx) = 0;
570
+ virtual void exitTypeDecl(ExpressParser::TypeDeclContext *ctx) = 0;
571
+
572
+ virtual void enterTypeId(ExpressParser::TypeIdContext *ctx) = 0;
573
+ virtual void exitTypeId(ExpressParser::TypeIdContext *ctx) = 0;
574
+
575
+ virtual void enterTypeLabel(ExpressParser::TypeLabelContext *ctx) = 0;
576
+ virtual void exitTypeLabel(ExpressParser::TypeLabelContext *ctx) = 0;
577
+
578
+ virtual void enterTypeLabelId(ExpressParser::TypeLabelIdContext *ctx) = 0;
579
+ virtual void exitTypeLabelId(ExpressParser::TypeLabelIdContext *ctx) = 0;
580
+
581
+ virtual void enterUnaryOp(ExpressParser::UnaryOpContext *ctx) = 0;
582
+ virtual void exitUnaryOp(ExpressParser::UnaryOpContext *ctx) = 0;
583
+
584
+ virtual void enterUnderlyingType(ExpressParser::UnderlyingTypeContext *ctx) = 0;
585
+ virtual void exitUnderlyingType(ExpressParser::UnderlyingTypeContext *ctx) = 0;
586
+
587
+ virtual void enterUniqueClause(ExpressParser::UniqueClauseContext *ctx) = 0;
588
+ virtual void exitUniqueClause(ExpressParser::UniqueClauseContext *ctx) = 0;
589
+
590
+ virtual void enterUniqueRule(ExpressParser::UniqueRuleContext *ctx) = 0;
591
+ virtual void exitUniqueRule(ExpressParser::UniqueRuleContext *ctx) = 0;
592
+
593
+ virtual void enterUntilControl(ExpressParser::UntilControlContext *ctx) = 0;
594
+ virtual void exitUntilControl(ExpressParser::UntilControlContext *ctx) = 0;
595
+
596
+ virtual void enterUseClause(ExpressParser::UseClauseContext *ctx) = 0;
597
+ virtual void exitUseClause(ExpressParser::UseClauseContext *ctx) = 0;
598
+
599
+ virtual void enterVariableId(ExpressParser::VariableIdContext *ctx) = 0;
600
+ virtual void exitVariableId(ExpressParser::VariableIdContext *ctx) = 0;
601
+
602
+ virtual void enterWhereClause(ExpressParser::WhereClauseContext *ctx) = 0;
603
+ virtual void exitWhereClause(ExpressParser::WhereClauseContext *ctx) = 0;
604
+
605
+ virtual void enterWhileControl(ExpressParser::WhileControlContext *ctx) = 0;
606
+ virtual void exitWhileControl(ExpressParser::WhileControlContext *ctx) = 0;
607
+
608
+ virtual void enterWidth(ExpressParser::WidthContext *ctx) = 0;
609
+ virtual void exitWidth(ExpressParser::WidthContext *ctx) = 0;
610
+
611
+ virtual void enterWidthSpec(ExpressParser::WidthSpecContext *ctx) = 0;
612
+ virtual void exitWidthSpec(ExpressParser::WidthSpecContext *ctx) = 0;
613
+
614
+
615
+ };
616
+