expressir 0.2.24 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.gitignore +2 -2
  4. data/.yardopts +11 -0
  5. data/Rakefile +3 -0
  6. data/demo.rb +5 -5
  7. data/exe/format +10 -73
  8. data/exe/format-test +81 -0
  9. data/expressir.gemspec +3 -1
  10. data/ext/express-parser/extconf.rb +1 -1
  11. data/lib/expressir.rb +0 -1
  12. data/lib/expressir/cli.rb +0 -6
  13. data/lib/expressir/express/cache.rb +51 -0
  14. data/lib/expressir/{express_exp → express}/formatter.rb +306 -239
  15. data/lib/expressir/express/hyperlink_formatter.rb +36 -0
  16. data/lib/expressir/express/model_visitor.rb +24 -0
  17. data/lib/expressir/express/parser.rb +81 -0
  18. data/lib/expressir/express/resolve_references_model_visitor.rb +31 -0
  19. data/lib/expressir/express/schema_head_formatter.rb +23 -0
  20. data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
  21. data/lib/expressir/model.rb +52 -43
  22. data/lib/expressir/model/cache.rb +6 -2
  23. data/lib/expressir/model/data_type.rb +9 -0
  24. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  25. data/lib/expressir/model/data_types/array.rb +31 -0
  26. data/lib/expressir/model/data_types/bag.rb +25 -0
  27. data/lib/expressir/model/data_types/binary.rb +22 -0
  28. data/lib/expressir/model/data_types/boolean.rb +10 -0
  29. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  30. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  31. data/lib/expressir/model/data_types/generic.rb +26 -0
  32. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  33. data/lib/expressir/model/data_types/integer.rb +10 -0
  34. data/lib/expressir/model/data_types/list.rb +28 -0
  35. data/lib/expressir/model/data_types/logical.rb +10 -0
  36. data/lib/expressir/model/data_types/number.rb +10 -0
  37. data/lib/expressir/model/data_types/real.rb +19 -0
  38. data/lib/expressir/model/data_types/select.rb +28 -0
  39. data/lib/expressir/model/data_types/set.rb +25 -0
  40. data/lib/expressir/model/data_types/string.rb +22 -0
  41. data/lib/expressir/model/declaration.rb +9 -0
  42. data/lib/expressir/model/declarations/attribute.rb +47 -0
  43. data/lib/expressir/model/declarations/constant.rb +34 -0
  44. data/lib/expressir/model/declarations/entity.rb +53 -0
  45. data/lib/expressir/model/declarations/function.rb +67 -0
  46. data/lib/expressir/model/declarations/interface.rb +28 -0
  47. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  48. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  49. data/lib/expressir/model/declarations/parameter.rb +34 -0
  50. data/lib/expressir/model/declarations/procedure.rb +64 -0
  51. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  52. data/lib/expressir/model/declarations/rule.rb +71 -0
  53. data/lib/expressir/model/declarations/schema.rb +117 -0
  54. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  55. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  56. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  57. data/lib/expressir/model/declarations/type.rb +45 -0
  58. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  59. data/lib/expressir/model/declarations/variable.rb +34 -0
  60. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  61. data/lib/expressir/model/expression.rb +9 -0
  62. data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
  63. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  64. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  65. data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
  66. data/lib/expressir/model/expressions/function_call.rb +22 -0
  67. data/lib/expressir/model/expressions/interval.rb +17 -6
  68. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  69. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  70. data/lib/expressir/model/identifier.rb +26 -4
  71. data/lib/expressir/model/literal.rb +9 -0
  72. data/lib/expressir/model/literals/binary.rb +6 -2
  73. data/lib/expressir/model/literals/integer.rb +6 -2
  74. data/lib/expressir/model/literals/logical.rb +6 -2
  75. data/lib/expressir/model/literals/real.rb +6 -2
  76. data/lib/expressir/model/literals/string.rb +8 -3
  77. data/lib/expressir/model/model_element.rb +70 -37
  78. data/lib/expressir/model/reference.rb +9 -0
  79. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  80. data/lib/expressir/model/references/group_reference.rb +22 -0
  81. data/lib/expressir/model/references/index_reference.rb +27 -0
  82. data/lib/expressir/model/references/simple_reference.rb +24 -0
  83. data/lib/expressir/model/repository.rb +8 -2
  84. data/lib/expressir/model/statement.rb +9 -0
  85. data/lib/expressir/model/statements/alias.rb +12 -8
  86. data/lib/expressir/model/statements/assignment.rb +8 -3
  87. data/lib/expressir/model/statements/case.rb +11 -5
  88. data/lib/expressir/model/statements/case_action.rb +8 -3
  89. data/lib/expressir/model/statements/compound.rb +7 -3
  90. data/lib/expressir/model/statements/escape.rb +3 -1
  91. data/lib/expressir/model/statements/if.rb +12 -6
  92. data/lib/expressir/model/statements/null.rb +3 -1
  93. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  94. data/lib/expressir/model/statements/repeat.rb +20 -12
  95. data/lib/expressir/model/statements/return.rb +6 -2
  96. data/lib/expressir/model/statements/skip.rb +3 -1
  97. data/lib/expressir/model/supertype_expression.rb +9 -0
  98. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  99. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  100. data/lib/expressir/version.rb +1 -1
  101. data/rakelib/cross-ruby.rake +1 -1
  102. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  103. data/spec/expressir/express/formatter_spec.rb +127 -0
  104. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  105. data/spec/expressir/model/model_element_spec.rb +181 -129
  106. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  107. data/spec/syntax/multiple.yaml +198 -0
  108. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  109. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  110. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  111. data/{original/examples → spec}/syntax/remark.exp +0 -0
  112. data/{original/examples → spec}/syntax/remark.yaml +87 -73
  113. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  114. data/spec/syntax/single.exp +4 -0
  115. data/spec/syntax/single.yaml +18 -0
  116. data/spec/syntax/single_formatted.exp +10 -0
  117. data/spec/syntax/single_formatted.yaml +36 -0
  118. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  119. data/{original/examples → spec}/syntax/syntax.yaml +1181 -1111
  120. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  121. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  122. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  123. metadata +123 -113
  124. data/lib/expressir/express.rb +0 -11
  125. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  126. data/lib/expressir/express/attribute.rb +0 -15
  127. data/lib/expressir/express/comment.rb +0 -7
  128. data/lib/expressir/express/defined_type.rb +0 -36
  129. data/lib/expressir/express/derived.rb +0 -65
  130. data/lib/expressir/express/derived_aggregate.rb +0 -43
  131. data/lib/expressir/express/entity.rb +0 -137
  132. data/lib/expressir/express/explicit.rb +0 -70
  133. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  134. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  135. data/lib/expressir/express/global_rule.rb +0 -44
  136. data/lib/expressir/express/interface_specification.rb +0 -51
  137. data/lib/expressir/express/interfaced_item.rb +0 -38
  138. data/lib/expressir/express/inverse.rb +0 -46
  139. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  140. data/lib/expressir/express/model_element.rb +0 -7
  141. data/lib/expressir/express/named_type.rb +0 -19
  142. data/lib/expressir/express/remark.rb +0 -8
  143. data/lib/expressir/express/repository.rb +0 -306
  144. data/lib/expressir/express/schema_definition.rb +0 -96
  145. data/lib/expressir/express/subtype_constraint.rb +0 -14
  146. data/lib/expressir/express/type.rb +0 -26
  147. data/lib/expressir/express/type_aggregate.rb +0 -42
  148. data/lib/expressir/express/type_enum.rb +0 -29
  149. data/lib/expressir/express/type_parser.rb +0 -45
  150. data/lib/expressir/express/type_select.rb +0 -82
  151. data/lib/expressir/express/unique_rule.rb +0 -35
  152. data/lib/expressir/express/where_rule.rb +0 -32
  153. data/lib/expressir/express_exp/cache.rb +0 -48
  154. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  155. data/lib/expressir/express_exp/parser.rb +0 -64
  156. data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
  157. data/lib/expressir/express_parser.rb +0 -30
  158. data/lib/expressir/model/attribute.rb +0 -38
  159. data/lib/expressir/model/constant.rb +0 -28
  160. data/lib/expressir/model/entity.rb +0 -42
  161. data/lib/expressir/model/enumeration_item.rb +0 -22
  162. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  163. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  164. data/lib/expressir/model/expressions/call.rb +0 -17
  165. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  166. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  167. data/lib/expressir/model/expressions/simple_reference.rb +0 -15
  168. data/lib/expressir/model/function.rb +0 -57
  169. data/lib/expressir/model/interface.rb +0 -20
  170. data/lib/expressir/model/interface_item.rb +0 -15
  171. data/lib/expressir/model/interfaced_item.rb +0 -31
  172. data/lib/expressir/model/parameter.rb +0 -28
  173. data/lib/expressir/model/procedure.rb +0 -55
  174. data/lib/expressir/model/remark_item.rb +0 -15
  175. data/lib/expressir/model/rule.rb +0 -60
  176. data/lib/expressir/model/schema.rb +0 -98
  177. data/lib/expressir/model/statements/call.rb +0 -17
  178. data/lib/expressir/model/subtype_constraint.rb +0 -32
  179. data/lib/expressir/model/type.rb +0 -37
  180. data/lib/expressir/model/types/aggregate.rb +0 -28
  181. data/lib/expressir/model/types/array.rb +0 -23
  182. data/lib/expressir/model/types/bag.rb +0 -19
  183. data/lib/expressir/model/types/binary.rb +0 -17
  184. data/lib/expressir/model/types/boolean.rb +0 -8
  185. data/lib/expressir/model/types/enumeration.rb +0 -21
  186. data/lib/expressir/model/types/generic.rb +0 -24
  187. data/lib/expressir/model/types/generic_entity.rb +0 -24
  188. data/lib/expressir/model/types/integer.rb +0 -8
  189. data/lib/expressir/model/types/list.rb +0 -21
  190. data/lib/expressir/model/types/logical.rb +0 -8
  191. data/lib/expressir/model/types/number.rb +0 -8
  192. data/lib/expressir/model/types/real.rb +0 -15
  193. data/lib/expressir/model/types/select.rb +0 -23
  194. data/lib/expressir/model/types/set.rb +0 -19
  195. data/lib/expressir/model/types/string.rb +0 -17
  196. data/lib/expressir/model/unique.rb +0 -26
  197. data/lib/expressir/model/variable.rb +0 -28
  198. data/lib/expressir/model/where.rb +0 -26
  199. data/lib/expressir/parser.rb +0 -6
  200. data/lib/expressir/parser/owl_parser.rb +0 -8
  201. data/original/examples/syntax/multiple.yaml +0 -184
  202. data/original/examples/syntax/single.exp +0 -3
  203. data/original/examples/syntax/single.yaml +0 -9
  204. data/original/examples/syntax/single_formatted.exp +0 -6
  205. data/original/examples/syntax/single_formatted.yaml +0 -19
  206. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  207. data/spec/expressir/express/repository_spec.rb +0 -25
  208. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -0,0 +1,4 @@
1
+ SCHEMA single_schema 'version';
2
+ ENTITY empty_entity; END_ENTITY;
3
+ ENTITY subtype_empty_entity SUBTYPE OF (empty_entity); END_ENTITY;
4
+ END_SCHEMA;
@@ -0,0 +1,18 @@
1
+ ---
2
+ _class: Expressir::Model::Repository
3
+ schemas:
4
+ - _class: Expressir::Model::Declarations::Schema
5
+ file: spec/syntax/single.exp
6
+ id: single_schema
7
+ version:
8
+ _class: Expressir::Model::Declarations::SchemaVersion
9
+ value: version
10
+ entities:
11
+ - _class: Expressir::Model::Declarations::Entity
12
+ id: empty_entity
13
+ - _class: Expressir::Model::Declarations::Entity
14
+ id: subtype_empty_entity
15
+ subtype_of:
16
+ - _class: Expressir::Model::References::SimpleReference
17
+ id: empty_entity
18
+ base_path: single_schema.empty_entity
@@ -0,0 +1,10 @@
1
+ SCHEMA single_schema 'version';
2
+
3
+ ENTITY empty_entity;
4
+ END_ENTITY;
5
+
6
+ ENTITY subtype_empty_entity
7
+ SUBTYPE OF (empty_entity);
8
+ END_ENTITY;
9
+
10
+ END_SCHEMA;
@@ -0,0 +1,36 @@
1
+ ---
2
+ _class: Expressir::Model::Repository
3
+ schemas:
4
+ - _class: Expressir::Model::Declarations::Schema
5
+ file: spec/syntax/single.exp
6
+ id: single_schema
7
+ version:
8
+ _class: Expressir::Model::Declarations::SchemaVersion
9
+ value: version
10
+ entities:
11
+ - _class: Expressir::Model::Declarations::Entity
12
+ id: empty_entity
13
+ source: |-
14
+ ENTITY empty_entity;
15
+ END_ENTITY;
16
+ - _class: Expressir::Model::Declarations::Entity
17
+ id: subtype_empty_entity
18
+ subtype_of:
19
+ - _class: Expressir::Model::References::SimpleReference
20
+ id: empty_entity
21
+ base_path: single_schema.empty_entity
22
+ source: |-
23
+ ENTITY subtype_empty_entity
24
+ SUBTYPE OF (empty_entity);
25
+ END_ENTITY;
26
+ source: |-
27
+ SCHEMA single_schema 'version';
28
+
29
+ ENTITY empty_entity;
30
+ END_ENTITY;
31
+
32
+ ENTITY subtype_empty_entity
33
+ SUBTYPE OF (empty_entity);
34
+ END_ENTITY;
35
+
36
+ END_SCHEMA;
@@ -1,5 +1,5 @@
1
1
  -- schema
2
- SCHEMA syntax_schema 'version';
2
+ SCHEMA syntax_schema '{ISO standard 10303 part(41) object(1) version(8)}';
3
3
 
4
4
  -- interfaces
5
5
  USE FROM contract_schema;
@@ -192,18 +192,18 @@ PROCEDURE types;
192
192
  TYPE select_type = SELECT; END_TYPE;
193
193
  TYPE select_extensible_type = EXTENSIBLE SELECT; END_TYPE;
194
194
  TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT; END_TYPE;
195
- TYPE select_list_type = SELECT (empty_type); END_TYPE;
196
- TYPE select_list_multiple_type = SELECT (empty_type, empty_type); END_TYPE;
197
- TYPE select_extension_type_ref_type = SELECT BASED_ON select_type; END_TYPE;
198
- TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type); END_TYPE;
199
- TYPE select_extension_type_ref_list_multiple_type = SELECT BASED_ON select_type WITH (empty_type, empty_type); END_TYPE;
195
+ TYPE select_item_type = SELECT (empty_type); END_TYPE;
196
+ TYPE select_multiple_item_type = SELECT (empty_type, empty_type); END_TYPE;
197
+ TYPE select_based_on_type = SELECT BASED_ON select_type; END_TYPE;
198
+ TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH (empty_type); END_TYPE;
199
+ TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH (empty_type, empty_type); END_TYPE;
200
200
  TYPE enumeration_type = ENUMERATION; END_TYPE;
201
201
  TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION; END_TYPE;
202
- TYPE enumeration_list_type = ENUMERATION OF (test); END_TYPE;
203
- TYPE enumeration_list_multiple_type = ENUMERATION OF (test, test2); END_TYPE;
204
- TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type; END_TYPE;
205
- TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test); END_TYPE;
206
- TYPE enumeration_extension_type_ref_list_multiple_type = ENUMERATION BASED_ON enumeration_type WITH (test, test2); END_TYPE;
202
+ TYPE enumeration_item_type = ENUMERATION OF (test); END_TYPE;
203
+ TYPE enumeration_multiple_item_type = ENUMERATION OF (test, test2); END_TYPE;
204
+ TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type; END_TYPE;
205
+ TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH (test); END_TYPE;
206
+ TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH (test, test2); END_TYPE;
207
207
 
208
208
  -- generic types
209
209
  FUNCTION generic_type : GENERIC; ; END_FUNCTION;
@@ -1,363 +1,397 @@
1
1
  ---
2
2
  _class: Expressir::Model::Repository
3
3
  schemas:
4
- - _class: Expressir::Model::Schema
5
- file: original/examples/syntax/syntax.exp
4
+ - _class: Expressir::Model::Declarations::Schema
5
+ file: spec/syntax/syntax.exp
6
6
  id: syntax_schema
7
7
  version:
8
- _class: Expressir::Model::Literals::String
9
- value: version
8
+ _class: Expressir::Model::Declarations::SchemaVersion
9
+ value: "{ISO standard 10303 part(41) object(1) version(8)}"
10
+ items:
11
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
12
+ name: ISO
13
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
14
+ name: standard
15
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
16
+ value: '10303'
17
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
18
+ name: part
19
+ value: '41'
20
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
21
+ name: object
22
+ value: '1'
23
+ - _class: Expressir::Model::Declarations::SchemaVersionItem
24
+ name: version
25
+ value: '8'
10
26
  interfaces:
11
- - _class: Expressir::Model::Interface
27
+ - _class: Expressir::Model::Declarations::Interface
12
28
  kind: :USE
13
29
  schema:
14
- _class: Expressir::Model::Expressions::SimpleReference
30
+ _class: Expressir::Model::References::SimpleReference
15
31
  id: contract_schema
16
- - _class: Expressir::Model::Interface
32
+ - _class: Expressir::Model::Declarations::Interface
17
33
  kind: :USE
18
34
  schema:
19
- _class: Expressir::Model::Expressions::SimpleReference
35
+ _class: Expressir::Model::References::SimpleReference
20
36
  id: contract_schema
21
37
  items:
22
- - _class: Expressir::Model::InterfaceItem
38
+ - _class: Expressir::Model::Declarations::InterfaceItem
23
39
  ref:
24
- _class: Expressir::Model::Expressions::SimpleReference
40
+ _class: Expressir::Model::References::SimpleReference
25
41
  id: contract
26
- - _class: Expressir::Model::Interface
42
+ - _class: Expressir::Model::Declarations::Interface
27
43
  kind: :USE
28
44
  schema:
29
- _class: Expressir::Model::Expressions::SimpleReference
45
+ _class: Expressir::Model::References::SimpleReference
30
46
  id: contract_schema
31
47
  items:
32
- - _class: Expressir::Model::InterfaceItem
48
+ - _class: Expressir::Model::Declarations::InterfaceItem
33
49
  ref:
34
- _class: Expressir::Model::Expressions::SimpleReference
50
+ _class: Expressir::Model::References::SimpleReference
35
51
  id: contract
36
- - _class: Expressir::Model::InterfaceItem
52
+ - _class: Expressir::Model::Declarations::InterfaceItem
37
53
  ref:
38
- _class: Expressir::Model::Expressions::SimpleReference
54
+ _class: Expressir::Model::References::SimpleReference
39
55
  id: contract2
40
- - _class: Expressir::Model::Interface
56
+ - _class: Expressir::Model::Declarations::Interface
41
57
  kind: :USE
42
58
  schema:
43
- _class: Expressir::Model::Expressions::SimpleReference
59
+ _class: Expressir::Model::References::SimpleReference
44
60
  id: contract_schema
45
61
  items:
46
- - _class: Expressir::Model::InterfaceItem
62
+ - _class: Expressir::Model::Declarations::InterfaceItem
47
63
  ref:
48
- _class: Expressir::Model::Expressions::SimpleReference
64
+ _class: Expressir::Model::References::SimpleReference
49
65
  id: contract
50
66
  id: contract2
51
- - _class: Expressir::Model::Interface
67
+ - _class: Expressir::Model::Declarations::Interface
52
68
  kind: :REFERENCE
53
69
  schema:
54
- _class: Expressir::Model::Expressions::SimpleReference
70
+ _class: Expressir::Model::References::SimpleReference
55
71
  id: contract_schema
56
- - _class: Expressir::Model::Interface
72
+ - _class: Expressir::Model::Declarations::Interface
57
73
  kind: :REFERENCE
58
74
  schema:
59
- _class: Expressir::Model::Expressions::SimpleReference
75
+ _class: Expressir::Model::References::SimpleReference
60
76
  id: contract_schema
61
77
  items:
62
- - _class: Expressir::Model::InterfaceItem
78
+ - _class: Expressir::Model::Declarations::InterfaceItem
63
79
  ref:
64
- _class: Expressir::Model::Expressions::SimpleReference
80
+ _class: Expressir::Model::References::SimpleReference
65
81
  id: contract
66
- - _class: Expressir::Model::Interface
82
+ - _class: Expressir::Model::Declarations::Interface
67
83
  kind: :REFERENCE
68
84
  schema:
69
- _class: Expressir::Model::Expressions::SimpleReference
85
+ _class: Expressir::Model::References::SimpleReference
70
86
  id: contract_schema
71
87
  items:
72
- - _class: Expressir::Model::InterfaceItem
88
+ - _class: Expressir::Model::Declarations::InterfaceItem
73
89
  ref:
74
- _class: Expressir::Model::Expressions::SimpleReference
90
+ _class: Expressir::Model::References::SimpleReference
75
91
  id: contract
76
- - _class: Expressir::Model::InterfaceItem
92
+ - _class: Expressir::Model::Declarations::InterfaceItem
77
93
  ref:
78
- _class: Expressir::Model::Expressions::SimpleReference
94
+ _class: Expressir::Model::References::SimpleReference
79
95
  id: contract2
80
- - _class: Expressir::Model::Interface
96
+ - _class: Expressir::Model::Declarations::Interface
81
97
  kind: :REFERENCE
82
98
  schema:
83
- _class: Expressir::Model::Expressions::SimpleReference
99
+ _class: Expressir::Model::References::SimpleReference
84
100
  id: contract_schema
85
101
  items:
86
- - _class: Expressir::Model::InterfaceItem
102
+ - _class: Expressir::Model::Declarations::InterfaceItem
87
103
  ref:
88
- _class: Expressir::Model::Expressions::SimpleReference
104
+ _class: Expressir::Model::References::SimpleReference
89
105
  id: contract
90
106
  id: contract2
91
107
  constants:
92
- - _class: Expressir::Model::Constant
108
+ - _class: Expressir::Model::Declarations::Constant
93
109
  id: empty_constant
94
110
  type:
95
- _class: Expressir::Model::Types::Boolean
111
+ _class: Expressir::Model::DataTypes::Boolean
96
112
  expression:
97
113
  _class: Expressir::Model::Literals::Logical
98
114
  value: :TRUE
99
115
  types:
100
- - _class: Expressir::Model::Type
116
+ - _class: Expressir::Model::Declarations::Type
101
117
  id: empty_type
102
- type:
103
- _class: Expressir::Model::Types::Boolean
104
- - _class: Expressir::Model::Type
118
+ underlying_type:
119
+ _class: Expressir::Model::DataTypes::Boolean
120
+ - _class: Expressir::Model::Declarations::Type
105
121
  id: where_type
106
- type:
107
- _class: Expressir::Model::Types::Boolean
108
- where:
109
- - _class: Expressir::Model::Where
122
+ underlying_type:
123
+ _class: Expressir::Model::DataTypes::Boolean
124
+ where_rules:
125
+ - _class: Expressir::Model::Declarations::WhereRule
110
126
  expression:
111
127
  _class: Expressir::Model::Literals::Logical
112
128
  value: :TRUE
113
- - _class: Expressir::Model::Type
129
+ - _class: Expressir::Model::Declarations::Type
114
130
  id: where_label_type
115
- type:
116
- _class: Expressir::Model::Types::Boolean
117
- where:
118
- - _class: Expressir::Model::Where
131
+ underlying_type:
132
+ _class: Expressir::Model::DataTypes::Boolean
133
+ where_rules:
134
+ - _class: Expressir::Model::Declarations::WhereRule
119
135
  id: WR1
120
136
  expression:
121
137
  _class: Expressir::Model::Literals::Logical
122
138
  value: :TRUE
123
139
  entities:
124
- - _class: Expressir::Model::Entity
140
+ - _class: Expressir::Model::Declarations::Entity
125
141
  id: empty_entity
126
- - _class: Expressir::Model::Entity
142
+ - _class: Expressir::Model::Declarations::Entity
127
143
  id: abstract_entity
128
144
  abstract: true
129
- - _class: Expressir::Model::Entity
145
+ - _class: Expressir::Model::Declarations::Entity
130
146
  id: abstract_supertype_entity
131
147
  abstract: true
132
- - _class: Expressir::Model::Entity
148
+ - _class: Expressir::Model::Declarations::Entity
133
149
  id: abstract_supertype_constraint_entity
134
150
  abstract: true
135
151
  supertype_expression:
136
- _class: Expressir::Model::Expressions::SimpleReference
152
+ _class: Expressir::Model::References::SimpleReference
137
153
  id: empty_entity
138
- - _class: Expressir::Model::Entity
154
+ base_path: syntax_schema.empty_entity
155
+ - _class: Expressir::Model::Declarations::Entity
139
156
  id: supertype_constraint_entity
140
157
  supertype_expression:
141
- _class: Expressir::Model::Expressions::SimpleReference
158
+ _class: Expressir::Model::References::SimpleReference
142
159
  id: empty_entity
143
- - _class: Expressir::Model::Entity
160
+ base_path: syntax_schema.empty_entity
161
+ - _class: Expressir::Model::Declarations::Entity
144
162
  id: subtype_entity
145
163
  subtype_of:
146
- - _class: Expressir::Model::Expressions::SimpleReference
164
+ - _class: Expressir::Model::References::SimpleReference
147
165
  id: empty_entity
148
- - _class: Expressir::Model::Entity
166
+ base_path: syntax_schema.empty_entity
167
+ - _class: Expressir::Model::Declarations::Entity
149
168
  id: supertype_constraint_subtype_entity
150
169
  supertype_expression:
151
- _class: Expressir::Model::Expressions::SimpleReference
170
+ _class: Expressir::Model::References::SimpleReference
152
171
  id: empty_entity
172
+ base_path: syntax_schema.empty_entity
153
173
  subtype_of:
154
- - _class: Expressir::Model::Expressions::SimpleReference
174
+ - _class: Expressir::Model::References::SimpleReference
155
175
  id: empty_entity
156
- - _class: Expressir::Model::Entity
176
+ base_path: syntax_schema.empty_entity
177
+ - _class: Expressir::Model::Declarations::Entity
157
178
  id: attribute_entity
158
179
  attributes:
159
- - _class: Expressir::Model::Attribute
180
+ - _class: Expressir::Model::Declarations::Attribute
160
181
  id: test
161
182
  kind: :EXPLICIT
162
183
  type:
163
- _class: Expressir::Model::Types::Boolean
164
- - _class: Expressir::Model::Entity
184
+ _class: Expressir::Model::DataTypes::Boolean
185
+ - _class: Expressir::Model::Declarations::Entity
165
186
  id: attribute_optional_entity
166
187
  attributes:
167
- - _class: Expressir::Model::Attribute
188
+ - _class: Expressir::Model::Declarations::Attribute
168
189
  id: test
169
190
  kind: :EXPLICIT
170
191
  optional: true
171
192
  type:
172
- _class: Expressir::Model::Types::Boolean
173
- - _class: Expressir::Model::Entity
193
+ _class: Expressir::Model::DataTypes::Boolean
194
+ - _class: Expressir::Model::Declarations::Entity
174
195
  id: attribute_multiple_entity
175
196
  attributes:
176
- - _class: Expressir::Model::Attribute
197
+ - _class: Expressir::Model::Declarations::Attribute
177
198
  id: test
178
199
  kind: :EXPLICIT
179
200
  type:
180
- _class: Expressir::Model::Types::Boolean
181
- - _class: Expressir::Model::Attribute
201
+ _class: Expressir::Model::DataTypes::Boolean
202
+ - _class: Expressir::Model::Declarations::Attribute
182
203
  id: test2
183
204
  kind: :EXPLICIT
184
205
  type:
185
- _class: Expressir::Model::Types::Boolean
186
- - _class: Expressir::Model::Entity
206
+ _class: Expressir::Model::DataTypes::Boolean
207
+ - _class: Expressir::Model::Declarations::Entity
187
208
  id: attribute_multiple_shorthand_entity
188
209
  attributes:
189
- - _class: Expressir::Model::Attribute
210
+ - _class: Expressir::Model::Declarations::Attribute
190
211
  id: test
191
212
  kind: :EXPLICIT
192
213
  type:
193
- _class: Expressir::Model::Types::Boolean
194
- - _class: Expressir::Model::Attribute
214
+ _class: Expressir::Model::DataTypes::Boolean
215
+ - _class: Expressir::Model::Declarations::Attribute
195
216
  id: test2
196
217
  kind: :EXPLICIT
197
218
  type:
198
- _class: Expressir::Model::Types::Boolean
199
- - _class: Expressir::Model::Entity
219
+ _class: Expressir::Model::DataTypes::Boolean
220
+ - _class: Expressir::Model::Declarations::Entity
200
221
  id: attribute_redeclared_entity
201
222
  subtype_of:
202
- - _class: Expressir::Model::Expressions::SimpleReference
223
+ - _class: Expressir::Model::References::SimpleReference
203
224
  id: attribute_entity
225
+ base_path: syntax_schema.attribute_entity
204
226
  attributes:
205
- - _class: Expressir::Model::Attribute
227
+ - _class: Expressir::Model::Declarations::Attribute
206
228
  kind: :EXPLICIT
207
229
  supertype_attribute:
208
- _class: Expressir::Model::Expressions::AttributeReference
230
+ _class: Expressir::Model::References::AttributeReference
209
231
  ref:
210
- _class: Expressir::Model::Expressions::GroupReference
232
+ _class: Expressir::Model::References::GroupReference
211
233
  ref:
212
- _class: Expressir::Model::Expressions::SimpleReference
234
+ _class: Expressir::Model::References::SimpleReference
213
235
  id: SELF
214
236
  entity:
215
- _class: Expressir::Model::Expressions::SimpleReference
237
+ _class: Expressir::Model::References::SimpleReference
216
238
  id: attribute_entity
239
+ base_path: syntax_schema.attribute_entity
217
240
  attribute:
218
- _class: Expressir::Model::Expressions::SimpleReference
241
+ _class: Expressir::Model::References::SimpleReference
219
242
  id: test
220
243
  type:
221
- _class: Expressir::Model::Types::Boolean
222
- - _class: Expressir::Model::Entity
244
+ _class: Expressir::Model::DataTypes::Boolean
245
+ - _class: Expressir::Model::Declarations::Entity
223
246
  id: attribute_redeclared_renamed_entity
224
247
  subtype_of:
225
- - _class: Expressir::Model::Expressions::SimpleReference
248
+ - _class: Expressir::Model::References::SimpleReference
226
249
  id: attribute_entity
250
+ base_path: syntax_schema.attribute_entity
227
251
  attributes:
228
- - _class: Expressir::Model::Attribute
252
+ - _class: Expressir::Model::Declarations::Attribute
229
253
  id: test2
230
254
  kind: :EXPLICIT
231
255
  supertype_attribute:
232
- _class: Expressir::Model::Expressions::AttributeReference
256
+ _class: Expressir::Model::References::AttributeReference
233
257
  ref:
234
- _class: Expressir::Model::Expressions::GroupReference
258
+ _class: Expressir::Model::References::GroupReference
235
259
  ref:
236
- _class: Expressir::Model::Expressions::SimpleReference
260
+ _class: Expressir::Model::References::SimpleReference
237
261
  id: SELF
238
262
  entity:
239
- _class: Expressir::Model::Expressions::SimpleReference
263
+ _class: Expressir::Model::References::SimpleReference
240
264
  id: attribute_entity
265
+ base_path: syntax_schema.attribute_entity
241
266
  attribute:
242
- _class: Expressir::Model::Expressions::SimpleReference
267
+ _class: Expressir::Model::References::SimpleReference
243
268
  id: test
244
269
  type:
245
- _class: Expressir::Model::Types::Boolean
246
- - _class: Expressir::Model::Entity
270
+ _class: Expressir::Model::DataTypes::Boolean
271
+ - _class: Expressir::Model::Declarations::Entity
247
272
  id: derived_attribute_entity
248
273
  attributes:
249
- - _class: Expressir::Model::Attribute
274
+ - _class: Expressir::Model::Declarations::Attribute
250
275
  id: test
251
276
  kind: :DERIVED
252
277
  type:
253
- _class: Expressir::Model::Types::Boolean
278
+ _class: Expressir::Model::DataTypes::Boolean
254
279
  expression:
255
280
  _class: Expressir::Model::Literals::Logical
256
281
  value: :TRUE
257
- - _class: Expressir::Model::Entity
282
+ - _class: Expressir::Model::Declarations::Entity
258
283
  id: derived_attribute_redeclared_entity
259
284
  subtype_of:
260
- - _class: Expressir::Model::Expressions::SimpleReference
285
+ - _class: Expressir::Model::References::SimpleReference
261
286
  id: attribute_entity
287
+ base_path: syntax_schema.attribute_entity
262
288
  attributes:
263
- - _class: Expressir::Model::Attribute
289
+ - _class: Expressir::Model::Declarations::Attribute
264
290
  kind: :DERIVED
265
291
  supertype_attribute:
266
- _class: Expressir::Model::Expressions::AttributeReference
292
+ _class: Expressir::Model::References::AttributeReference
267
293
  ref:
268
- _class: Expressir::Model::Expressions::GroupReference
294
+ _class: Expressir::Model::References::GroupReference
269
295
  ref:
270
- _class: Expressir::Model::Expressions::SimpleReference
296
+ _class: Expressir::Model::References::SimpleReference
271
297
  id: SELF
272
298
  entity:
273
- _class: Expressir::Model::Expressions::SimpleReference
299
+ _class: Expressir::Model::References::SimpleReference
274
300
  id: attribute_entity
301
+ base_path: syntax_schema.attribute_entity
275
302
  attribute:
276
- _class: Expressir::Model::Expressions::SimpleReference
303
+ _class: Expressir::Model::References::SimpleReference
277
304
  id: test
278
305
  type:
279
- _class: Expressir::Model::Types::Boolean
306
+ _class: Expressir::Model::DataTypes::Boolean
280
307
  expression:
281
308
  _class: Expressir::Model::Literals::Logical
282
309
  value: :TRUE
283
- - _class: Expressir::Model::Entity
310
+ - _class: Expressir::Model::Declarations::Entity
284
311
  id: derived_attribute_redeclared_renamed_entity
285
312
  subtype_of:
286
- - _class: Expressir::Model::Expressions::SimpleReference
313
+ - _class: Expressir::Model::References::SimpleReference
287
314
  id: attribute_entity
315
+ base_path: syntax_schema.attribute_entity
288
316
  attributes:
289
- - _class: Expressir::Model::Attribute
317
+ - _class: Expressir::Model::Declarations::Attribute
290
318
  id: test2
291
319
  kind: :DERIVED
292
320
  supertype_attribute:
293
- _class: Expressir::Model::Expressions::AttributeReference
321
+ _class: Expressir::Model::References::AttributeReference
294
322
  ref:
295
- _class: Expressir::Model::Expressions::GroupReference
323
+ _class: Expressir::Model::References::GroupReference
296
324
  ref:
297
- _class: Expressir::Model::Expressions::SimpleReference
325
+ _class: Expressir::Model::References::SimpleReference
298
326
  id: SELF
299
327
  entity:
300
- _class: Expressir::Model::Expressions::SimpleReference
328
+ _class: Expressir::Model::References::SimpleReference
301
329
  id: attribute_entity
330
+ base_path: syntax_schema.attribute_entity
302
331
  attribute:
303
- _class: Expressir::Model::Expressions::SimpleReference
332
+ _class: Expressir::Model::References::SimpleReference
304
333
  id: test
305
334
  type:
306
- _class: Expressir::Model::Types::Boolean
335
+ _class: Expressir::Model::DataTypes::Boolean
307
336
  expression:
308
337
  _class: Expressir::Model::Literals::Logical
309
338
  value: :TRUE
310
- - _class: Expressir::Model::Entity
339
+ - _class: Expressir::Model::Declarations::Entity
311
340
  id: inverse_attribute_entity
312
341
  attributes:
313
- - _class: Expressir::Model::Attribute
342
+ - _class: Expressir::Model::Declarations::Attribute
314
343
  id: test
315
344
  kind: :INVERSE
316
345
  type:
317
- _class: Expressir::Model::Expressions::SimpleReference
346
+ _class: Expressir::Model::References::SimpleReference
318
347
  id: attribute_entity
348
+ base_path: syntax_schema.attribute_entity
319
349
  expression:
320
- _class: Expressir::Model::Expressions::SimpleReference
350
+ _class: Expressir::Model::References::SimpleReference
321
351
  id: test
322
- - _class: Expressir::Model::Entity
352
+ base_path: syntax_schema.inverse_attribute_entity.test
353
+ - _class: Expressir::Model::Declarations::Entity
323
354
  id: inverse_attribute_entity_entity
324
355
  attributes:
325
- - _class: Expressir::Model::Attribute
356
+ - _class: Expressir::Model::Declarations::Attribute
326
357
  id: test
327
358
  kind: :INVERSE
328
359
  type:
329
- _class: Expressir::Model::Expressions::SimpleReference
360
+ _class: Expressir::Model::References::SimpleReference
330
361
  id: attribute_entity
362
+ base_path: syntax_schema.attribute_entity
331
363
  expression:
332
- _class: Expressir::Model::Expressions::AttributeReference
364
+ _class: Expressir::Model::References::AttributeReference
333
365
  ref:
334
- _class: Expressir::Model::Expressions::SimpleReference
366
+ _class: Expressir::Model::References::SimpleReference
335
367
  id: attribute_entity
336
368
  attribute:
337
- _class: Expressir::Model::Expressions::SimpleReference
369
+ _class: Expressir::Model::References::SimpleReference
338
370
  id: test
339
- - _class: Expressir::Model::Entity
371
+ - _class: Expressir::Model::Declarations::Entity
340
372
  id: inverse_attribute_set_entity
341
373
  attributes:
342
- - _class: Expressir::Model::Attribute
374
+ - _class: Expressir::Model::Declarations::Attribute
343
375
  id: test
344
376
  kind: :INVERSE
345
377
  type:
346
- _class: Expressir::Model::Types::Set
378
+ _class: Expressir::Model::DataTypes::Set
347
379
  base_type:
348
- _class: Expressir::Model::Expressions::SimpleReference
380
+ _class: Expressir::Model::References::SimpleReference
349
381
  id: attribute_entity
382
+ base_path: syntax_schema.attribute_entity
350
383
  expression:
351
- _class: Expressir::Model::Expressions::SimpleReference
384
+ _class: Expressir::Model::References::SimpleReference
352
385
  id: test
353
- - _class: Expressir::Model::Entity
386
+ base_path: syntax_schema.inverse_attribute_set_entity.test
387
+ - _class: Expressir::Model::Declarations::Entity
354
388
  id: inverse_attribute_set_bound_entity
355
389
  attributes:
356
- - _class: Expressir::Model::Attribute
390
+ - _class: Expressir::Model::Declarations::Attribute
357
391
  id: test
358
392
  kind: :INVERSE
359
393
  type:
360
- _class: Expressir::Model::Types::Set
394
+ _class: Expressir::Model::DataTypes::Set
361
395
  bound1:
362
396
  _class: Expressir::Model::Literals::Integer
363
397
  value: '1'
@@ -365,33 +399,37 @@ schemas:
365
399
  _class: Expressir::Model::Literals::Integer
366
400
  value: '9'
367
401
  base_type:
368
- _class: Expressir::Model::Expressions::SimpleReference
402
+ _class: Expressir::Model::References::SimpleReference
369
403
  id: attribute_entity
404
+ base_path: syntax_schema.attribute_entity
370
405
  expression:
371
- _class: Expressir::Model::Expressions::SimpleReference
406
+ _class: Expressir::Model::References::SimpleReference
372
407
  id: test
373
- - _class: Expressir::Model::Entity
408
+ base_path: syntax_schema.inverse_attribute_set_bound_entity.test
409
+ - _class: Expressir::Model::Declarations::Entity
374
410
  id: inverse_attribute_bag_entity
375
411
  attributes:
376
- - _class: Expressir::Model::Attribute
412
+ - _class: Expressir::Model::Declarations::Attribute
377
413
  id: test
378
414
  kind: :INVERSE
379
415
  type:
380
- _class: Expressir::Model::Types::Bag
416
+ _class: Expressir::Model::DataTypes::Bag
381
417
  base_type:
382
- _class: Expressir::Model::Expressions::SimpleReference
418
+ _class: Expressir::Model::References::SimpleReference
383
419
  id: attribute_entity
420
+ base_path: syntax_schema.attribute_entity
384
421
  expression:
385
- _class: Expressir::Model::Expressions::SimpleReference
422
+ _class: Expressir::Model::References::SimpleReference
386
423
  id: test
387
- - _class: Expressir::Model::Entity
424
+ base_path: syntax_schema.inverse_attribute_bag_entity.test
425
+ - _class: Expressir::Model::Declarations::Entity
388
426
  id: inverse_attribute_bag_bound_entity
389
427
  attributes:
390
- - _class: Expressir::Model::Attribute
428
+ - _class: Expressir::Model::Declarations::Attribute
391
429
  id: test
392
430
  kind: :INVERSE
393
431
  type:
394
- _class: Expressir::Model::Types::Bag
432
+ _class: Expressir::Model::DataTypes::Bag
395
433
  bound1:
396
434
  _class: Expressir::Model::Literals::Integer
397
435
  value: '1'
@@ -399,1084 +437,1100 @@ schemas:
399
437
  _class: Expressir::Model::Literals::Integer
400
438
  value: '9'
401
439
  base_type:
402
- _class: Expressir::Model::Expressions::SimpleReference
440
+ _class: Expressir::Model::References::SimpleReference
403
441
  id: attribute_entity
442
+ base_path: syntax_schema.attribute_entity
404
443
  expression:
405
- _class: Expressir::Model::Expressions::SimpleReference
444
+ _class: Expressir::Model::References::SimpleReference
406
445
  id: test
407
- - _class: Expressir::Model::Entity
446
+ base_path: syntax_schema.inverse_attribute_bag_bound_entity.test
447
+ - _class: Expressir::Model::Declarations::Entity
408
448
  id: inverse_attribute_redeclared_entity
409
449
  subtype_of:
410
- - _class: Expressir::Model::Expressions::SimpleReference
450
+ - _class: Expressir::Model::References::SimpleReference
411
451
  id: attribute_entity
452
+ base_path: syntax_schema.attribute_entity
412
453
  attributes:
413
- - _class: Expressir::Model::Attribute
454
+ - _class: Expressir::Model::Declarations::Attribute
414
455
  kind: :INVERSE
415
456
  supertype_attribute:
416
- _class: Expressir::Model::Expressions::AttributeReference
457
+ _class: Expressir::Model::References::AttributeReference
417
458
  ref:
418
- _class: Expressir::Model::Expressions::GroupReference
459
+ _class: Expressir::Model::References::GroupReference
419
460
  ref:
420
- _class: Expressir::Model::Expressions::SimpleReference
461
+ _class: Expressir::Model::References::SimpleReference
421
462
  id: SELF
422
463
  entity:
423
- _class: Expressir::Model::Expressions::SimpleReference
464
+ _class: Expressir::Model::References::SimpleReference
424
465
  id: attribute_entity
466
+ base_path: syntax_schema.attribute_entity
425
467
  attribute:
426
- _class: Expressir::Model::Expressions::SimpleReference
468
+ _class: Expressir::Model::References::SimpleReference
427
469
  id: test
428
470
  type:
429
- _class: Expressir::Model::Expressions::SimpleReference
471
+ _class: Expressir::Model::References::SimpleReference
430
472
  id: attribute_entity
473
+ base_path: syntax_schema.attribute_entity
431
474
  expression:
432
- _class: Expressir::Model::Expressions::SimpleReference
475
+ _class: Expressir::Model::References::SimpleReference
433
476
  id: test
434
- - _class: Expressir::Model::Entity
477
+ - _class: Expressir::Model::Declarations::Entity
435
478
  id: inverse_attribute_redeclared_renamed_entity
436
479
  subtype_of:
437
- - _class: Expressir::Model::Expressions::SimpleReference
480
+ - _class: Expressir::Model::References::SimpleReference
438
481
  id: attribute_entity
482
+ base_path: syntax_schema.attribute_entity
439
483
  attributes:
440
- - _class: Expressir::Model::Attribute
484
+ - _class: Expressir::Model::Declarations::Attribute
441
485
  id: test2
442
486
  kind: :INVERSE
443
487
  supertype_attribute:
444
- _class: Expressir::Model::Expressions::AttributeReference
488
+ _class: Expressir::Model::References::AttributeReference
445
489
  ref:
446
- _class: Expressir::Model::Expressions::GroupReference
490
+ _class: Expressir::Model::References::GroupReference
447
491
  ref:
448
- _class: Expressir::Model::Expressions::SimpleReference
492
+ _class: Expressir::Model::References::SimpleReference
449
493
  id: SELF
450
494
  entity:
451
- _class: Expressir::Model::Expressions::SimpleReference
495
+ _class: Expressir::Model::References::SimpleReference
452
496
  id: attribute_entity
497
+ base_path: syntax_schema.attribute_entity
453
498
  attribute:
454
- _class: Expressir::Model::Expressions::SimpleReference
499
+ _class: Expressir::Model::References::SimpleReference
455
500
  id: test
456
501
  type:
457
- _class: Expressir::Model::Expressions::SimpleReference
502
+ _class: Expressir::Model::References::SimpleReference
458
503
  id: attribute_entity
504
+ base_path: syntax_schema.attribute_entity
459
505
  expression:
460
- _class: Expressir::Model::Expressions::SimpleReference
506
+ _class: Expressir::Model::References::SimpleReference
461
507
  id: test
462
- - _class: Expressir::Model::Entity
508
+ - _class: Expressir::Model::Declarations::Entity
463
509
  id: unique_entity
464
510
  attributes:
465
- - _class: Expressir::Model::Attribute
511
+ - _class: Expressir::Model::Declarations::Attribute
466
512
  id: test
467
513
  kind: :EXPLICIT
468
514
  type:
469
- _class: Expressir::Model::Types::Boolean
470
- unique:
471
- - _class: Expressir::Model::Unique
515
+ _class: Expressir::Model::DataTypes::Boolean
516
+ unique_rules:
517
+ - _class: Expressir::Model::Declarations::UniqueRule
472
518
  attributes:
473
- - _class: Expressir::Model::Expressions::SimpleReference
519
+ - _class: Expressir::Model::References::SimpleReference
474
520
  id: test
475
- - _class: Expressir::Model::Entity
521
+ base_path: syntax_schema.unique_entity.test
522
+ - _class: Expressir::Model::Declarations::Entity
476
523
  id: unique_label_entity
477
524
  attributes:
478
- - _class: Expressir::Model::Attribute
525
+ - _class: Expressir::Model::Declarations::Attribute
479
526
  id: test
480
527
  kind: :EXPLICIT
481
528
  type:
482
- _class: Expressir::Model::Types::Boolean
483
- unique:
484
- - _class: Expressir::Model::Unique
529
+ _class: Expressir::Model::DataTypes::Boolean
530
+ unique_rules:
531
+ - _class: Expressir::Model::Declarations::UniqueRule
485
532
  id: UR1
486
533
  attributes:
487
- - _class: Expressir::Model::Expressions::SimpleReference
534
+ - _class: Expressir::Model::References::SimpleReference
488
535
  id: test
489
- - _class: Expressir::Model::Entity
536
+ base_path: syntax_schema.unique_label_entity.test
537
+ - _class: Expressir::Model::Declarations::Entity
490
538
  id: unique_redeclared_entity
491
539
  subtype_of:
492
- - _class: Expressir::Model::Expressions::SimpleReference
540
+ - _class: Expressir::Model::References::SimpleReference
493
541
  id: attribute_entity
494
- unique:
495
- - _class: Expressir::Model::Unique
542
+ base_path: syntax_schema.attribute_entity
543
+ unique_rules:
544
+ - _class: Expressir::Model::Declarations::UniqueRule
496
545
  attributes:
497
- - _class: Expressir::Model::Expressions::AttributeReference
546
+ - _class: Expressir::Model::References::AttributeReference
498
547
  ref:
499
- _class: Expressir::Model::Expressions::GroupReference
548
+ _class: Expressir::Model::References::GroupReference
500
549
  ref:
501
- _class: Expressir::Model::Expressions::SimpleReference
550
+ _class: Expressir::Model::References::SimpleReference
502
551
  id: SELF
503
552
  entity:
504
- _class: Expressir::Model::Expressions::SimpleReference
553
+ _class: Expressir::Model::References::SimpleReference
505
554
  id: attribute_entity
555
+ base_path: syntax_schema.attribute_entity
506
556
  attribute:
507
- _class: Expressir::Model::Expressions::SimpleReference
557
+ _class: Expressir::Model::References::SimpleReference
508
558
  id: test
509
- - _class: Expressir::Model::Entity
559
+ - _class: Expressir::Model::Declarations::Entity
510
560
  id: unique_label_redeclared_entity
511
561
  subtype_of:
512
- - _class: Expressir::Model::Expressions::SimpleReference
562
+ - _class: Expressir::Model::References::SimpleReference
513
563
  id: attribute_entity
514
- unique:
515
- - _class: Expressir::Model::Unique
564
+ base_path: syntax_schema.attribute_entity
565
+ unique_rules:
566
+ - _class: Expressir::Model::Declarations::UniqueRule
516
567
  id: UR1
517
568
  attributes:
518
- - _class: Expressir::Model::Expressions::AttributeReference
569
+ - _class: Expressir::Model::References::AttributeReference
519
570
  ref:
520
- _class: Expressir::Model::Expressions::GroupReference
571
+ _class: Expressir::Model::References::GroupReference
521
572
  ref:
522
- _class: Expressir::Model::Expressions::SimpleReference
573
+ _class: Expressir::Model::References::SimpleReference
523
574
  id: SELF
524
575
  entity:
525
- _class: Expressir::Model::Expressions::SimpleReference
576
+ _class: Expressir::Model::References::SimpleReference
526
577
  id: attribute_entity
578
+ base_path: syntax_schema.attribute_entity
527
579
  attribute:
528
- _class: Expressir::Model::Expressions::SimpleReference
580
+ _class: Expressir::Model::References::SimpleReference
529
581
  id: test
530
- - _class: Expressir::Model::Entity
582
+ - _class: Expressir::Model::Declarations::Entity
531
583
  id: where_entity
532
- where:
533
- - _class: Expressir::Model::Where
584
+ where_rules:
585
+ - _class: Expressir::Model::Declarations::WhereRule
534
586
  expression:
535
587
  _class: Expressir::Model::Literals::Logical
536
588
  value: :TRUE
537
- - _class: Expressir::Model::Entity
589
+ - _class: Expressir::Model::Declarations::Entity
538
590
  id: where_label_entity
539
- where:
540
- - _class: Expressir::Model::Where
591
+ where_rules:
592
+ - _class: Expressir::Model::Declarations::WhereRule
541
593
  id: WR1
542
594
  expression:
543
595
  _class: Expressir::Model::Literals::Logical
544
596
  value: :TRUE
545
597
  subtype_constraints:
546
- - _class: Expressir::Model::SubtypeConstraint
598
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
547
599
  id: empty_subtype_constraint
548
600
  applies_to:
549
- _class: Expressir::Model::Expressions::SimpleReference
601
+ _class: Expressir::Model::References::SimpleReference
550
602
  id: empty_entity
551
- - _class: Expressir::Model::SubtypeConstraint
603
+ base_path: syntax_schema.empty_entity
604
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
552
605
  id: abstract_supertype_subtype_constraint
553
606
  applies_to:
554
- _class: Expressir::Model::Expressions::SimpleReference
607
+ _class: Expressir::Model::References::SimpleReference
555
608
  id: empty_entity
609
+ base_path: syntax_schema.empty_entity
556
610
  abstract: true
557
- - _class: Expressir::Model::SubtypeConstraint
611
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
558
612
  id: total_over_subtype_constraint
559
613
  applies_to:
560
- _class: Expressir::Model::Expressions::SimpleReference
614
+ _class: Expressir::Model::References::SimpleReference
561
615
  id: empty_entity
616
+ base_path: syntax_schema.empty_entity
562
617
  total_over:
563
- - _class: Expressir::Model::Expressions::SimpleReference
618
+ - _class: Expressir::Model::References::SimpleReference
564
619
  id: a
565
- - _class: Expressir::Model::SubtypeConstraint
620
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
566
621
  id: supertype_expression_subtype_constraint
567
622
  applies_to:
568
- _class: Expressir::Model::Expressions::SimpleReference
623
+ _class: Expressir::Model::References::SimpleReference
569
624
  id: empty_entity
625
+ base_path: syntax_schema.empty_entity
570
626
  supertype_expression:
571
- _class: Expressir::Model::Expressions::SimpleReference
627
+ _class: Expressir::Model::References::SimpleReference
572
628
  id: a
573
- - _class: Expressir::Model::SubtypeConstraint
629
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
574
630
  id: supertype_expression_andor_subtype_constraint
575
631
  applies_to:
576
- _class: Expressir::Model::Expressions::SimpleReference
632
+ _class: Expressir::Model::References::SimpleReference
577
633
  id: empty_entity
634
+ base_path: syntax_schema.empty_entity
578
635
  supertype_expression:
579
- _class: Expressir::Model::Expressions::BinaryExpression
636
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
580
637
  operator: :ANDOR
581
638
  operand1:
582
- _class: Expressir::Model::Expressions::SimpleReference
639
+ _class: Expressir::Model::References::SimpleReference
583
640
  id: a
584
641
  operand2:
585
- _class: Expressir::Model::Expressions::SimpleReference
642
+ _class: Expressir::Model::References::SimpleReference
586
643
  id: b
587
- - _class: Expressir::Model::SubtypeConstraint
644
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
588
645
  id: supertype_expression_and_subtype_constraint
589
646
  applies_to:
590
- _class: Expressir::Model::Expressions::SimpleReference
647
+ _class: Expressir::Model::References::SimpleReference
591
648
  id: empty_entity
649
+ base_path: syntax_schema.empty_entity
592
650
  supertype_expression:
593
- _class: Expressir::Model::Expressions::BinaryExpression
651
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
594
652
  operator: :AND
595
653
  operand1:
596
- _class: Expressir::Model::Expressions::SimpleReference
654
+ _class: Expressir::Model::References::SimpleReference
597
655
  id: a
598
656
  operand2:
599
- _class: Expressir::Model::Expressions::SimpleReference
657
+ _class: Expressir::Model::References::SimpleReference
600
658
  id: b
601
- - _class: Expressir::Model::SubtypeConstraint
659
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
602
660
  id: supertype_expression_andor_and_subtype_constraint
603
661
  applies_to:
604
- _class: Expressir::Model::Expressions::SimpleReference
662
+ _class: Expressir::Model::References::SimpleReference
605
663
  id: empty_entity
664
+ base_path: syntax_schema.empty_entity
606
665
  supertype_expression:
607
- _class: Expressir::Model::Expressions::BinaryExpression
666
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
608
667
  operator: :ANDOR
609
668
  operand1:
610
- _class: Expressir::Model::Expressions::SimpleReference
669
+ _class: Expressir::Model::References::SimpleReference
611
670
  id: a
612
671
  operand2:
613
- _class: Expressir::Model::Expressions::BinaryExpression
672
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
614
673
  operator: :AND
615
674
  operand1:
616
- _class: Expressir::Model::Expressions::SimpleReference
675
+ _class: Expressir::Model::References::SimpleReference
617
676
  id: b
618
677
  operand2:
619
- _class: Expressir::Model::Expressions::SimpleReference
678
+ _class: Expressir::Model::References::SimpleReference
620
679
  id: c
621
- - _class: Expressir::Model::SubtypeConstraint
680
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
622
681
  id: supertype_expression_and_andor_subtype_constraint
623
682
  applies_to:
624
- _class: Expressir::Model::Expressions::SimpleReference
683
+ _class: Expressir::Model::References::SimpleReference
625
684
  id: empty_entity
685
+ base_path: syntax_schema.empty_entity
626
686
  supertype_expression:
627
- _class: Expressir::Model::Expressions::BinaryExpression
687
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
628
688
  operator: :ANDOR
629
689
  operand1:
630
- _class: Expressir::Model::Expressions::BinaryExpression
690
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
631
691
  operator: :AND
632
692
  operand1:
633
- _class: Expressir::Model::Expressions::SimpleReference
693
+ _class: Expressir::Model::References::SimpleReference
634
694
  id: a
635
695
  operand2:
636
- _class: Expressir::Model::Expressions::SimpleReference
696
+ _class: Expressir::Model::References::SimpleReference
637
697
  id: b
638
698
  operand2:
639
- _class: Expressir::Model::Expressions::SimpleReference
699
+ _class: Expressir::Model::References::SimpleReference
640
700
  id: c
641
- - _class: Expressir::Model::SubtypeConstraint
701
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
642
702
  id: supertype_expression_parenthesis_andor_and_subtype_constraint
643
703
  applies_to:
644
- _class: Expressir::Model::Expressions::SimpleReference
704
+ _class: Expressir::Model::References::SimpleReference
645
705
  id: empty_entity
706
+ base_path: syntax_schema.empty_entity
646
707
  supertype_expression:
647
- _class: Expressir::Model::Expressions::BinaryExpression
708
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
648
709
  operator: :AND
649
710
  operand1:
650
- _class: Expressir::Model::Expressions::BinaryExpression
711
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
651
712
  operator: :ANDOR
652
713
  operand1:
653
- _class: Expressir::Model::Expressions::SimpleReference
714
+ _class: Expressir::Model::References::SimpleReference
654
715
  id: a
655
716
  operand2:
656
- _class: Expressir::Model::Expressions::SimpleReference
717
+ _class: Expressir::Model::References::SimpleReference
657
718
  id: b
658
719
  operand2:
659
- _class: Expressir::Model::Expressions::SimpleReference
720
+ _class: Expressir::Model::References::SimpleReference
660
721
  id: c
661
- - _class: Expressir::Model::SubtypeConstraint
722
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
662
723
  id: supertype_expression_and_parenthesis_andor_subtype_constraint
663
724
  applies_to:
664
- _class: Expressir::Model::Expressions::SimpleReference
725
+ _class: Expressir::Model::References::SimpleReference
665
726
  id: empty_entity
727
+ base_path: syntax_schema.empty_entity
666
728
  supertype_expression:
667
- _class: Expressir::Model::Expressions::BinaryExpression
729
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
668
730
  operator: :AND
669
731
  operand1:
670
- _class: Expressir::Model::Expressions::SimpleReference
732
+ _class: Expressir::Model::References::SimpleReference
671
733
  id: a
672
734
  operand2:
673
- _class: Expressir::Model::Expressions::BinaryExpression
735
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
674
736
  operator: :ANDOR
675
737
  operand1:
676
- _class: Expressir::Model::Expressions::SimpleReference
738
+ _class: Expressir::Model::References::SimpleReference
677
739
  id: b
678
740
  operand2:
679
- _class: Expressir::Model::Expressions::SimpleReference
741
+ _class: Expressir::Model::References::SimpleReference
680
742
  id: c
681
- - _class: Expressir::Model::SubtypeConstraint
743
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
682
744
  id: supertype_expression_oneof_subtype_constraint
683
745
  applies_to:
684
- _class: Expressir::Model::Expressions::SimpleReference
746
+ _class: Expressir::Model::References::SimpleReference
685
747
  id: empty_entity
748
+ base_path: syntax_schema.empty_entity
686
749
  supertype_expression:
687
- _class: Expressir::Model::Expressions::Call
688
- ref:
689
- _class: Expressir::Model::Expressions::SimpleReference
690
- id: ONEOF
691
- parameters:
692
- - _class: Expressir::Model::Expressions::SimpleReference
750
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
751
+ operands:
752
+ - _class: Expressir::Model::References::SimpleReference
693
753
  id: a
694
- - _class: Expressir::Model::Expressions::SimpleReference
754
+ - _class: Expressir::Model::References::SimpleReference
695
755
  id: b
696
- - _class: Expressir::Model::SubtypeConstraint
756
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
697
757
  id: supertype_expression_and_oneof_subtype_constraint
698
758
  applies_to:
699
- _class: Expressir::Model::Expressions::SimpleReference
759
+ _class: Expressir::Model::References::SimpleReference
700
760
  id: empty_entity
761
+ base_path: syntax_schema.empty_entity
701
762
  supertype_expression:
702
- _class: Expressir::Model::Expressions::BinaryExpression
763
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
703
764
  operator: :AND
704
765
  operand1:
705
- _class: Expressir::Model::Expressions::SimpleReference
766
+ _class: Expressir::Model::References::SimpleReference
706
767
  id: a
707
768
  operand2:
708
- _class: Expressir::Model::Expressions::Call
709
- ref:
710
- _class: Expressir::Model::Expressions::SimpleReference
711
- id: ONEOF
712
- parameters:
713
- - _class: Expressir::Model::Expressions::SimpleReference
769
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
770
+ operands:
771
+ - _class: Expressir::Model::References::SimpleReference
714
772
  id: b
715
- - _class: Expressir::Model::Expressions::SimpleReference
773
+ - _class: Expressir::Model::References::SimpleReference
716
774
  id: c
717
- - _class: Expressir::Model::SubtypeConstraint
775
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
718
776
  id: supertype_expression_andor_oneof_subtype_constraint
719
777
  applies_to:
720
- _class: Expressir::Model::Expressions::SimpleReference
778
+ _class: Expressir::Model::References::SimpleReference
721
779
  id: empty_entity
780
+ base_path: syntax_schema.empty_entity
722
781
  supertype_expression:
723
- _class: Expressir::Model::Expressions::BinaryExpression
782
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
724
783
  operator: :ANDOR
725
784
  operand1:
726
- _class: Expressir::Model::Expressions::SimpleReference
785
+ _class: Expressir::Model::References::SimpleReference
727
786
  id: a
728
787
  operand2:
729
- _class: Expressir::Model::Expressions::Call
730
- ref:
731
- _class: Expressir::Model::Expressions::SimpleReference
732
- id: ONEOF
733
- parameters:
734
- - _class: Expressir::Model::Expressions::SimpleReference
788
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
789
+ operands:
790
+ - _class: Expressir::Model::References::SimpleReference
735
791
  id: b
736
- - _class: Expressir::Model::Expressions::SimpleReference
792
+ - _class: Expressir::Model::References::SimpleReference
737
793
  id: c
738
- - _class: Expressir::Model::SubtypeConstraint
794
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
739
795
  id: supertype_expression_oneof_and_subtype_constraint
740
796
  applies_to:
741
- _class: Expressir::Model::Expressions::SimpleReference
797
+ _class: Expressir::Model::References::SimpleReference
742
798
  id: empty_entity
799
+ base_path: syntax_schema.empty_entity
743
800
  supertype_expression:
744
- _class: Expressir::Model::Expressions::BinaryExpression
801
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
745
802
  operator: :AND
746
803
  operand1:
747
- _class: Expressir::Model::Expressions::Call
748
- ref:
749
- _class: Expressir::Model::Expressions::SimpleReference
750
- id: ONEOF
751
- parameters:
752
- - _class: Expressir::Model::Expressions::SimpleReference
804
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
805
+ operands:
806
+ - _class: Expressir::Model::References::SimpleReference
753
807
  id: a
754
- - _class: Expressir::Model::Expressions::SimpleReference
808
+ - _class: Expressir::Model::References::SimpleReference
755
809
  id: b
756
810
  operand2:
757
- _class: Expressir::Model::Expressions::SimpleReference
811
+ _class: Expressir::Model::References::SimpleReference
758
812
  id: c
759
- - _class: Expressir::Model::SubtypeConstraint
813
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
760
814
  id: supertype_expression_oneof_andor_subtype_constraint
761
815
  applies_to:
762
- _class: Expressir::Model::Expressions::SimpleReference
816
+ _class: Expressir::Model::References::SimpleReference
763
817
  id: empty_entity
818
+ base_path: syntax_schema.empty_entity
764
819
  supertype_expression:
765
- _class: Expressir::Model::Expressions::BinaryExpression
820
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
766
821
  operator: :ANDOR
767
822
  operand1:
768
- _class: Expressir::Model::Expressions::Call
769
- ref:
770
- _class: Expressir::Model::Expressions::SimpleReference
771
- id: ONEOF
772
- parameters:
773
- - _class: Expressir::Model::Expressions::SimpleReference
823
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
824
+ operands:
825
+ - _class: Expressir::Model::References::SimpleReference
774
826
  id: a
775
- - _class: Expressir::Model::Expressions::SimpleReference
827
+ - _class: Expressir::Model::References::SimpleReference
776
828
  id: b
777
829
  operand2:
778
- _class: Expressir::Model::Expressions::SimpleReference
830
+ _class: Expressir::Model::References::SimpleReference
779
831
  id: c
780
- - _class: Expressir::Model::SubtypeConstraint
832
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
781
833
  id: supertype_expression_oneof_and_oneof_subtype_constraint
782
834
  applies_to:
783
- _class: Expressir::Model::Expressions::SimpleReference
835
+ _class: Expressir::Model::References::SimpleReference
784
836
  id: empty_entity
837
+ base_path: syntax_schema.empty_entity
785
838
  supertype_expression:
786
- _class: Expressir::Model::Expressions::BinaryExpression
839
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
787
840
  operator: :AND
788
841
  operand1:
789
- _class: Expressir::Model::Expressions::Call
790
- ref:
791
- _class: Expressir::Model::Expressions::SimpleReference
792
- id: ONEOF
793
- parameters:
794
- - _class: Expressir::Model::Expressions::SimpleReference
842
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
843
+ operands:
844
+ - _class: Expressir::Model::References::SimpleReference
795
845
  id: a
796
- - _class: Expressir::Model::Expressions::SimpleReference
846
+ - _class: Expressir::Model::References::SimpleReference
797
847
  id: b
798
848
  operand2:
799
- _class: Expressir::Model::Expressions::Call
800
- ref:
801
- _class: Expressir::Model::Expressions::SimpleReference
802
- id: ONEOF
803
- parameters:
804
- - _class: Expressir::Model::Expressions::SimpleReference
849
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
850
+ operands:
851
+ - _class: Expressir::Model::References::SimpleReference
805
852
  id: c
806
- - _class: Expressir::Model::Expressions::SimpleReference
853
+ - _class: Expressir::Model::References::SimpleReference
807
854
  id: d
808
- - _class: Expressir::Model::SubtypeConstraint
855
+ - _class: Expressir::Model::Declarations::SubtypeConstraint
809
856
  id: supertype_expression_oneof_andor_oneof_subtype_constraint
810
857
  applies_to:
811
- _class: Expressir::Model::Expressions::SimpleReference
858
+ _class: Expressir::Model::References::SimpleReference
812
859
  id: empty_entity
860
+ base_path: syntax_schema.empty_entity
813
861
  supertype_expression:
814
- _class: Expressir::Model::Expressions::BinaryExpression
862
+ _class: Expressir::Model::SupertypeExpressions::BinarySupertypeExpression
815
863
  operator: :ANDOR
816
864
  operand1:
817
- _class: Expressir::Model::Expressions::Call
818
- ref:
819
- _class: Expressir::Model::Expressions::SimpleReference
820
- id: ONEOF
821
- parameters:
822
- - _class: Expressir::Model::Expressions::SimpleReference
865
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
866
+ operands:
867
+ - _class: Expressir::Model::References::SimpleReference
823
868
  id: a
824
- - _class: Expressir::Model::Expressions::SimpleReference
869
+ - _class: Expressir::Model::References::SimpleReference
825
870
  id: b
826
871
  operand2:
827
- _class: Expressir::Model::Expressions::Call
828
- ref:
829
- _class: Expressir::Model::Expressions::SimpleReference
830
- id: ONEOF
831
- parameters:
832
- - _class: Expressir::Model::Expressions::SimpleReference
872
+ _class: Expressir::Model::SupertypeExpressions::OneofSupertypeExpression
873
+ operands:
874
+ - _class: Expressir::Model::References::SimpleReference
833
875
  id: c
834
- - _class: Expressir::Model::Expressions::SimpleReference
876
+ - _class: Expressir::Model::References::SimpleReference
835
877
  id: d
836
878
  functions:
837
- - _class: Expressir::Model::Function
879
+ - _class: Expressir::Model::Declarations::Function
838
880
  id: empty_function
839
881
  return_type:
840
- _class: Expressir::Model::Types::Boolean
882
+ _class: Expressir::Model::DataTypes::Boolean
841
883
  statements:
842
884
  - _class: Expressir::Model::Statements::Null
843
- - _class: Expressir::Model::Function
885
+ - _class: Expressir::Model::Declarations::Function
844
886
  id: parameter_function
845
887
  parameters:
846
- - _class: Expressir::Model::Parameter
888
+ - _class: Expressir::Model::Declarations::Parameter
847
889
  id: test
848
890
  type:
849
- _class: Expressir::Model::Types::Boolean
891
+ _class: Expressir::Model::DataTypes::Boolean
850
892
  return_type:
851
- _class: Expressir::Model::Types::Boolean
893
+ _class: Expressir::Model::DataTypes::Boolean
852
894
  statements:
853
895
  - _class: Expressir::Model::Statements::Null
854
- - _class: Expressir::Model::Function
896
+ - _class: Expressir::Model::Declarations::Function
855
897
  id: multiple_parameter_function
856
898
  parameters:
857
- - _class: Expressir::Model::Parameter
899
+ - _class: Expressir::Model::Declarations::Parameter
858
900
  id: test
859
901
  type:
860
- _class: Expressir::Model::Types::Boolean
861
- - _class: Expressir::Model::Parameter
902
+ _class: Expressir::Model::DataTypes::Boolean
903
+ - _class: Expressir::Model::Declarations::Parameter
862
904
  id: test2
863
905
  type:
864
- _class: Expressir::Model::Types::Boolean
906
+ _class: Expressir::Model::DataTypes::Boolean
865
907
  return_type:
866
- _class: Expressir::Model::Types::Boolean
908
+ _class: Expressir::Model::DataTypes::Boolean
867
909
  statements:
868
910
  - _class: Expressir::Model::Statements::Null
869
- - _class: Expressir::Model::Function
911
+ - _class: Expressir::Model::Declarations::Function
870
912
  id: multiple_shorthand_parameter_function
871
913
  parameters:
872
- - _class: Expressir::Model::Parameter
914
+ - _class: Expressir::Model::Declarations::Parameter
873
915
  id: test
874
916
  type:
875
- _class: Expressir::Model::Types::Boolean
876
- - _class: Expressir::Model::Parameter
917
+ _class: Expressir::Model::DataTypes::Boolean
918
+ - _class: Expressir::Model::Declarations::Parameter
877
919
  id: test2
878
920
  type:
879
- _class: Expressir::Model::Types::Boolean
921
+ _class: Expressir::Model::DataTypes::Boolean
880
922
  return_type:
881
- _class: Expressir::Model::Types::Boolean
923
+ _class: Expressir::Model::DataTypes::Boolean
882
924
  statements:
883
925
  - _class: Expressir::Model::Statements::Null
884
- - _class: Expressir::Model::Function
926
+ - _class: Expressir::Model::Declarations::Function
885
927
  id: type_function
886
928
  return_type:
887
- _class: Expressir::Model::Types::Boolean
929
+ _class: Expressir::Model::DataTypes::Boolean
888
930
  types:
889
- - _class: Expressir::Model::Type
931
+ - _class: Expressir::Model::Declarations::Type
890
932
  id: test
891
- type:
892
- _class: Expressir::Model::Types::Boolean
933
+ underlying_type:
934
+ _class: Expressir::Model::DataTypes::Boolean
893
935
  statements:
894
936
  - _class: Expressir::Model::Statements::Null
895
- - _class: Expressir::Model::Function
937
+ - _class: Expressir::Model::Declarations::Function
896
938
  id: constant_function
897
939
  return_type:
898
- _class: Expressir::Model::Types::Boolean
940
+ _class: Expressir::Model::DataTypes::Boolean
899
941
  constants:
900
- - _class: Expressir::Model::Constant
942
+ - _class: Expressir::Model::Declarations::Constant
901
943
  id: test
902
944
  type:
903
- _class: Expressir::Model::Types::Boolean
945
+ _class: Expressir::Model::DataTypes::Boolean
904
946
  expression:
905
947
  _class: Expressir::Model::Literals::Logical
906
948
  value: :TRUE
907
949
  statements:
908
950
  - _class: Expressir::Model::Statements::Null
909
- - _class: Expressir::Model::Function
951
+ - _class: Expressir::Model::Declarations::Function
910
952
  id: multiple_constant_function
911
953
  return_type:
912
- _class: Expressir::Model::Types::Boolean
954
+ _class: Expressir::Model::DataTypes::Boolean
913
955
  constants:
914
- - _class: Expressir::Model::Constant
956
+ - _class: Expressir::Model::Declarations::Constant
915
957
  id: test
916
958
  type:
917
- _class: Expressir::Model::Types::Boolean
959
+ _class: Expressir::Model::DataTypes::Boolean
918
960
  expression:
919
961
  _class: Expressir::Model::Literals::Logical
920
962
  value: :TRUE
921
- - _class: Expressir::Model::Constant
963
+ - _class: Expressir::Model::Declarations::Constant
922
964
  id: test2
923
965
  type:
924
- _class: Expressir::Model::Types::Boolean
966
+ _class: Expressir::Model::DataTypes::Boolean
925
967
  expression:
926
968
  _class: Expressir::Model::Literals::Logical
927
969
  value: :TRUE
928
970
  statements:
929
971
  - _class: Expressir::Model::Statements::Null
930
- - _class: Expressir::Model::Function
972
+ - _class: Expressir::Model::Declarations::Function
931
973
  id: variable_function
932
974
  return_type:
933
- _class: Expressir::Model::Types::Boolean
975
+ _class: Expressir::Model::DataTypes::Boolean
934
976
  variables:
935
- - _class: Expressir::Model::Variable
977
+ - _class: Expressir::Model::Declarations::Variable
936
978
  id: test
937
979
  type:
938
- _class: Expressir::Model::Types::Boolean
980
+ _class: Expressir::Model::DataTypes::Boolean
939
981
  statements:
940
982
  - _class: Expressir::Model::Statements::Null
941
- - _class: Expressir::Model::Function
983
+ - _class: Expressir::Model::Declarations::Function
942
984
  id: multiple_variable_function
943
985
  return_type:
944
- _class: Expressir::Model::Types::Boolean
986
+ _class: Expressir::Model::DataTypes::Boolean
945
987
  variables:
946
- - _class: Expressir::Model::Variable
988
+ - _class: Expressir::Model::Declarations::Variable
947
989
  id: test
948
990
  type:
949
- _class: Expressir::Model::Types::Boolean
950
- - _class: Expressir::Model::Variable
991
+ _class: Expressir::Model::DataTypes::Boolean
992
+ - _class: Expressir::Model::Declarations::Variable
951
993
  id: test2
952
994
  type:
953
- _class: Expressir::Model::Types::Boolean
995
+ _class: Expressir::Model::DataTypes::Boolean
954
996
  statements:
955
997
  - _class: Expressir::Model::Statements::Null
956
- - _class: Expressir::Model::Function
998
+ - _class: Expressir::Model::Declarations::Function
957
999
  id: multiple_shorthand_variable_function
958
1000
  return_type:
959
- _class: Expressir::Model::Types::Boolean
1001
+ _class: Expressir::Model::DataTypes::Boolean
960
1002
  variables:
961
- - _class: Expressir::Model::Variable
1003
+ - _class: Expressir::Model::Declarations::Variable
962
1004
  id: test
963
1005
  type:
964
- _class: Expressir::Model::Types::Boolean
965
- - _class: Expressir::Model::Variable
1006
+ _class: Expressir::Model::DataTypes::Boolean
1007
+ - _class: Expressir::Model::Declarations::Variable
966
1008
  id: test2
967
1009
  type:
968
- _class: Expressir::Model::Types::Boolean
1010
+ _class: Expressir::Model::DataTypes::Boolean
969
1011
  statements:
970
1012
  - _class: Expressir::Model::Statements::Null
971
- - _class: Expressir::Model::Function
1013
+ - _class: Expressir::Model::Declarations::Function
972
1014
  id: variable_expression_function
973
1015
  return_type:
974
- _class: Expressir::Model::Types::Boolean
1016
+ _class: Expressir::Model::DataTypes::Boolean
975
1017
  variables:
976
- - _class: Expressir::Model::Variable
1018
+ - _class: Expressir::Model::Declarations::Variable
977
1019
  id: test
978
1020
  type:
979
- _class: Expressir::Model::Types::Boolean
1021
+ _class: Expressir::Model::DataTypes::Boolean
980
1022
  expression:
981
1023
  _class: Expressir::Model::Literals::Logical
982
1024
  value: :TRUE
983
1025
  statements:
984
1026
  - _class: Expressir::Model::Statements::Null
985
- - _class: Expressir::Model::Function
1027
+ - _class: Expressir::Model::Declarations::Function
986
1028
  id: multiple_variable_expression_function
987
1029
  return_type:
988
- _class: Expressir::Model::Types::Boolean
1030
+ _class: Expressir::Model::DataTypes::Boolean
989
1031
  variables:
990
- - _class: Expressir::Model::Variable
1032
+ - _class: Expressir::Model::Declarations::Variable
991
1033
  id: test
992
1034
  type:
993
- _class: Expressir::Model::Types::Boolean
1035
+ _class: Expressir::Model::DataTypes::Boolean
994
1036
  expression:
995
1037
  _class: Expressir::Model::Literals::Logical
996
1038
  value: :TRUE
997
- - _class: Expressir::Model::Variable
1039
+ - _class: Expressir::Model::Declarations::Variable
998
1040
  id: test2
999
1041
  type:
1000
- _class: Expressir::Model::Types::Boolean
1042
+ _class: Expressir::Model::DataTypes::Boolean
1001
1043
  expression:
1002
1044
  _class: Expressir::Model::Literals::Logical
1003
1045
  value: :TRUE
1004
1046
  statements:
1005
1047
  - _class: Expressir::Model::Statements::Null
1006
- - _class: Expressir::Model::Function
1048
+ - _class: Expressir::Model::Declarations::Function
1007
1049
  id: multiple_shorthand_variable_expression_function
1008
1050
  return_type:
1009
- _class: Expressir::Model::Types::Boolean
1051
+ _class: Expressir::Model::DataTypes::Boolean
1010
1052
  variables:
1011
- - _class: Expressir::Model::Variable
1053
+ - _class: Expressir::Model::Declarations::Variable
1012
1054
  id: test
1013
1055
  type:
1014
- _class: Expressir::Model::Types::Boolean
1056
+ _class: Expressir::Model::DataTypes::Boolean
1015
1057
  expression:
1016
1058
  _class: Expressir::Model::Literals::Logical
1017
1059
  value: :TRUE
1018
- - _class: Expressir::Model::Variable
1060
+ - _class: Expressir::Model::Declarations::Variable
1019
1061
  id: test2
1020
1062
  type:
1021
- _class: Expressir::Model::Types::Boolean
1063
+ _class: Expressir::Model::DataTypes::Boolean
1022
1064
  expression:
1023
1065
  _class: Expressir::Model::Literals::Logical
1024
1066
  value: :TRUE
1025
1067
  statements:
1026
1068
  - _class: Expressir::Model::Statements::Null
1027
1069
  rules:
1028
- - _class: Expressir::Model::Rule
1070
+ - _class: Expressir::Model::Declarations::Rule
1029
1071
  id: empty_rule
1030
1072
  applies_to:
1031
- - _class: Expressir::Model::Expressions::SimpleReference
1073
+ - _class: Expressir::Model::References::SimpleReference
1032
1074
  id: empty_entity
1033
- where:
1034
- - _class: Expressir::Model::Where
1075
+ base_path: syntax_schema.empty_entity
1076
+ where_rules:
1077
+ - _class: Expressir::Model::Declarations::WhereRule
1035
1078
  expression:
1036
1079
  _class: Expressir::Model::Literals::Logical
1037
1080
  value: :TRUE
1038
- - _class: Expressir::Model::Rule
1081
+ - _class: Expressir::Model::Declarations::Rule
1039
1082
  id: type_rule
1040
1083
  applies_to:
1041
- - _class: Expressir::Model::Expressions::SimpleReference
1084
+ - _class: Expressir::Model::References::SimpleReference
1042
1085
  id: empty_entity
1086
+ base_path: syntax_schema.empty_entity
1043
1087
  types:
1044
- - _class: Expressir::Model::Type
1088
+ - _class: Expressir::Model::Declarations::Type
1045
1089
  id: test
1046
- type:
1047
- _class: Expressir::Model::Types::Boolean
1048
- where:
1049
- - _class: Expressir::Model::Where
1090
+ underlying_type:
1091
+ _class: Expressir::Model::DataTypes::Boolean
1092
+ where_rules:
1093
+ - _class: Expressir::Model::Declarations::WhereRule
1050
1094
  expression:
1051
1095
  _class: Expressir::Model::Literals::Logical
1052
1096
  value: :TRUE
1053
- - _class: Expressir::Model::Rule
1097
+ - _class: Expressir::Model::Declarations::Rule
1054
1098
  id: constant_rule
1055
1099
  applies_to:
1056
- - _class: Expressir::Model::Expressions::SimpleReference
1100
+ - _class: Expressir::Model::References::SimpleReference
1057
1101
  id: empty_entity
1102
+ base_path: syntax_schema.empty_entity
1058
1103
  constants:
1059
- - _class: Expressir::Model::Constant
1104
+ - _class: Expressir::Model::Declarations::Constant
1060
1105
  id: test
1061
1106
  type:
1062
- _class: Expressir::Model::Types::Boolean
1107
+ _class: Expressir::Model::DataTypes::Boolean
1063
1108
  expression:
1064
1109
  _class: Expressir::Model::Literals::Logical
1065
1110
  value: :TRUE
1066
- where:
1067
- - _class: Expressir::Model::Where
1111
+ where_rules:
1112
+ - _class: Expressir::Model::Declarations::WhereRule
1068
1113
  expression:
1069
1114
  _class: Expressir::Model::Literals::Logical
1070
1115
  value: :TRUE
1071
- - _class: Expressir::Model::Rule
1116
+ - _class: Expressir::Model::Declarations::Rule
1072
1117
  id: multiple_constant_rule
1073
1118
  applies_to:
1074
- - _class: Expressir::Model::Expressions::SimpleReference
1119
+ - _class: Expressir::Model::References::SimpleReference
1075
1120
  id: empty_entity
1121
+ base_path: syntax_schema.empty_entity
1076
1122
  constants:
1077
- - _class: Expressir::Model::Constant
1123
+ - _class: Expressir::Model::Declarations::Constant
1078
1124
  id: test
1079
1125
  type:
1080
- _class: Expressir::Model::Types::Boolean
1126
+ _class: Expressir::Model::DataTypes::Boolean
1081
1127
  expression:
1082
1128
  _class: Expressir::Model::Literals::Logical
1083
1129
  value: :TRUE
1084
- - _class: Expressir::Model::Constant
1130
+ - _class: Expressir::Model::Declarations::Constant
1085
1131
  id: test2
1086
1132
  type:
1087
- _class: Expressir::Model::Types::Boolean
1133
+ _class: Expressir::Model::DataTypes::Boolean
1088
1134
  expression:
1089
1135
  _class: Expressir::Model::Literals::Logical
1090
1136
  value: :TRUE
1091
- where:
1092
- - _class: Expressir::Model::Where
1137
+ where_rules:
1138
+ - _class: Expressir::Model::Declarations::WhereRule
1093
1139
  expression:
1094
1140
  _class: Expressir::Model::Literals::Logical
1095
1141
  value: :TRUE
1096
- - _class: Expressir::Model::Rule
1142
+ - _class: Expressir::Model::Declarations::Rule
1097
1143
  id: variable_rule
1098
1144
  applies_to:
1099
- - _class: Expressir::Model::Expressions::SimpleReference
1145
+ - _class: Expressir::Model::References::SimpleReference
1100
1146
  id: empty_entity
1147
+ base_path: syntax_schema.empty_entity
1101
1148
  variables:
1102
- - _class: Expressir::Model::Variable
1149
+ - _class: Expressir::Model::Declarations::Variable
1103
1150
  id: test
1104
1151
  type:
1105
- _class: Expressir::Model::Types::Boolean
1106
- where:
1107
- - _class: Expressir::Model::Where
1152
+ _class: Expressir::Model::DataTypes::Boolean
1153
+ where_rules:
1154
+ - _class: Expressir::Model::Declarations::WhereRule
1108
1155
  expression:
1109
1156
  _class: Expressir::Model::Literals::Logical
1110
1157
  value: :TRUE
1111
- - _class: Expressir::Model::Rule
1158
+ - _class: Expressir::Model::Declarations::Rule
1112
1159
  id: multiple_variable_rule
1113
1160
  applies_to:
1114
- - _class: Expressir::Model::Expressions::SimpleReference
1161
+ - _class: Expressir::Model::References::SimpleReference
1115
1162
  id: empty_entity
1163
+ base_path: syntax_schema.empty_entity
1116
1164
  variables:
1117
- - _class: Expressir::Model::Variable
1165
+ - _class: Expressir::Model::Declarations::Variable
1118
1166
  id: test
1119
1167
  type:
1120
- _class: Expressir::Model::Types::Boolean
1121
- - _class: Expressir::Model::Variable
1168
+ _class: Expressir::Model::DataTypes::Boolean
1169
+ - _class: Expressir::Model::Declarations::Variable
1122
1170
  id: test2
1123
1171
  type:
1124
- _class: Expressir::Model::Types::Boolean
1125
- where:
1126
- - _class: Expressir::Model::Where
1172
+ _class: Expressir::Model::DataTypes::Boolean
1173
+ where_rules:
1174
+ - _class: Expressir::Model::Declarations::WhereRule
1127
1175
  expression:
1128
1176
  _class: Expressir::Model::Literals::Logical
1129
1177
  value: :TRUE
1130
- - _class: Expressir::Model::Rule
1178
+ - _class: Expressir::Model::Declarations::Rule
1131
1179
  id: multiple_shorthand_variable_rule
1132
1180
  applies_to:
1133
- - _class: Expressir::Model::Expressions::SimpleReference
1181
+ - _class: Expressir::Model::References::SimpleReference
1134
1182
  id: empty_entity
1183
+ base_path: syntax_schema.empty_entity
1135
1184
  variables:
1136
- - _class: Expressir::Model::Variable
1185
+ - _class: Expressir::Model::Declarations::Variable
1137
1186
  id: test
1138
1187
  type:
1139
- _class: Expressir::Model::Types::Boolean
1140
- - _class: Expressir::Model::Variable
1188
+ _class: Expressir::Model::DataTypes::Boolean
1189
+ - _class: Expressir::Model::Declarations::Variable
1141
1190
  id: test2
1142
1191
  type:
1143
- _class: Expressir::Model::Types::Boolean
1144
- where:
1145
- - _class: Expressir::Model::Where
1192
+ _class: Expressir::Model::DataTypes::Boolean
1193
+ where_rules:
1194
+ - _class: Expressir::Model::Declarations::WhereRule
1146
1195
  expression:
1147
1196
  _class: Expressir::Model::Literals::Logical
1148
1197
  value: :TRUE
1149
- - _class: Expressir::Model::Rule
1198
+ - _class: Expressir::Model::Declarations::Rule
1150
1199
  id: variable_expression_rule
1151
1200
  applies_to:
1152
- - _class: Expressir::Model::Expressions::SimpleReference
1201
+ - _class: Expressir::Model::References::SimpleReference
1153
1202
  id: empty_entity
1203
+ base_path: syntax_schema.empty_entity
1154
1204
  variables:
1155
- - _class: Expressir::Model::Variable
1205
+ - _class: Expressir::Model::Declarations::Variable
1156
1206
  id: test
1157
1207
  type:
1158
- _class: Expressir::Model::Types::Boolean
1208
+ _class: Expressir::Model::DataTypes::Boolean
1159
1209
  expression:
1160
1210
  _class: Expressir::Model::Literals::Logical
1161
1211
  value: :TRUE
1162
- where:
1163
- - _class: Expressir::Model::Where
1212
+ where_rules:
1213
+ - _class: Expressir::Model::Declarations::WhereRule
1164
1214
  expression:
1165
1215
  _class: Expressir::Model::Literals::Logical
1166
1216
  value: :TRUE
1167
- - _class: Expressir::Model::Rule
1217
+ - _class: Expressir::Model::Declarations::Rule
1168
1218
  id: multiple_variable_expression_rule
1169
1219
  applies_to:
1170
- - _class: Expressir::Model::Expressions::SimpleReference
1220
+ - _class: Expressir::Model::References::SimpleReference
1171
1221
  id: empty_entity
1222
+ base_path: syntax_schema.empty_entity
1172
1223
  variables:
1173
- - _class: Expressir::Model::Variable
1224
+ - _class: Expressir::Model::Declarations::Variable
1174
1225
  id: test
1175
1226
  type:
1176
- _class: Expressir::Model::Types::Boolean
1227
+ _class: Expressir::Model::DataTypes::Boolean
1177
1228
  expression:
1178
1229
  _class: Expressir::Model::Literals::Logical
1179
1230
  value: :TRUE
1180
- - _class: Expressir::Model::Variable
1231
+ - _class: Expressir::Model::Declarations::Variable
1181
1232
  id: test2
1182
1233
  type:
1183
- _class: Expressir::Model::Types::Boolean
1234
+ _class: Expressir::Model::DataTypes::Boolean
1184
1235
  expression:
1185
1236
  _class: Expressir::Model::Literals::Logical
1186
1237
  value: :TRUE
1187
- where:
1188
- - _class: Expressir::Model::Where
1238
+ where_rules:
1239
+ - _class: Expressir::Model::Declarations::WhereRule
1189
1240
  expression:
1190
1241
  _class: Expressir::Model::Literals::Logical
1191
1242
  value: :TRUE
1192
- - _class: Expressir::Model::Rule
1243
+ - _class: Expressir::Model::Declarations::Rule
1193
1244
  id: multiple_shorthand_variable_expression_rule
1194
1245
  applies_to:
1195
- - _class: Expressir::Model::Expressions::SimpleReference
1246
+ - _class: Expressir::Model::References::SimpleReference
1196
1247
  id: empty_entity
1248
+ base_path: syntax_schema.empty_entity
1197
1249
  variables:
1198
- - _class: Expressir::Model::Variable
1250
+ - _class: Expressir::Model::Declarations::Variable
1199
1251
  id: test
1200
1252
  type:
1201
- _class: Expressir::Model::Types::Boolean
1253
+ _class: Expressir::Model::DataTypes::Boolean
1202
1254
  expression:
1203
1255
  _class: Expressir::Model::Literals::Logical
1204
1256
  value: :TRUE
1205
- - _class: Expressir::Model::Variable
1257
+ - _class: Expressir::Model::Declarations::Variable
1206
1258
  id: test2
1207
1259
  type:
1208
- _class: Expressir::Model::Types::Boolean
1260
+ _class: Expressir::Model::DataTypes::Boolean
1209
1261
  expression:
1210
1262
  _class: Expressir::Model::Literals::Logical
1211
1263
  value: :TRUE
1212
- where:
1213
- - _class: Expressir::Model::Where
1264
+ where_rules:
1265
+ - _class: Expressir::Model::Declarations::WhereRule
1214
1266
  expression:
1215
1267
  _class: Expressir::Model::Literals::Logical
1216
1268
  value: :TRUE
1217
- - _class: Expressir::Model::Rule
1269
+ - _class: Expressir::Model::Declarations::Rule
1218
1270
  id: statement_rule
1219
1271
  applies_to:
1220
- - _class: Expressir::Model::Expressions::SimpleReference
1272
+ - _class: Expressir::Model::References::SimpleReference
1221
1273
  id: empty_entity
1274
+ base_path: syntax_schema.empty_entity
1222
1275
  statements:
1223
1276
  - _class: Expressir::Model::Statements::Null
1224
- where:
1225
- - _class: Expressir::Model::Where
1277
+ where_rules:
1278
+ - _class: Expressir::Model::Declarations::WhereRule
1226
1279
  expression:
1227
1280
  _class: Expressir::Model::Literals::Logical
1228
1281
  value: :TRUE
1229
- - _class: Expressir::Model::Rule
1282
+ - _class: Expressir::Model::Declarations::Rule
1230
1283
  id: where_label_rule
1231
1284
  applies_to:
1232
- - _class: Expressir::Model::Expressions::SimpleReference
1285
+ - _class: Expressir::Model::References::SimpleReference
1233
1286
  id: empty_entity
1234
- where:
1235
- - _class: Expressir::Model::Where
1287
+ base_path: syntax_schema.empty_entity
1288
+ where_rules:
1289
+ - _class: Expressir::Model::Declarations::WhereRule
1236
1290
  id: WR1
1237
1291
  expression:
1238
1292
  _class: Expressir::Model::Literals::Logical
1239
1293
  value: :TRUE
1240
1294
  procedures:
1241
- - _class: Expressir::Model::Procedure
1295
+ - _class: Expressir::Model::Declarations::Procedure
1242
1296
  id: empty_procedure
1243
- - _class: Expressir::Model::Procedure
1297
+ - _class: Expressir::Model::Declarations::Procedure
1244
1298
  id: parameter_procedure
1245
1299
  parameters:
1246
- - _class: Expressir::Model::Parameter
1300
+ - _class: Expressir::Model::Declarations::Parameter
1247
1301
  id: test
1248
1302
  type:
1249
- _class: Expressir::Model::Types::Boolean
1250
- - _class: Expressir::Model::Procedure
1303
+ _class: Expressir::Model::DataTypes::Boolean
1304
+ - _class: Expressir::Model::Declarations::Procedure
1251
1305
  id: multiple_parameter_procedure
1252
1306
  parameters:
1253
- - _class: Expressir::Model::Parameter
1307
+ - _class: Expressir::Model::Declarations::Parameter
1254
1308
  id: test
1255
1309
  type:
1256
- _class: Expressir::Model::Types::Boolean
1257
- - _class: Expressir::Model::Parameter
1310
+ _class: Expressir::Model::DataTypes::Boolean
1311
+ - _class: Expressir::Model::Declarations::Parameter
1258
1312
  id: test2
1259
1313
  type:
1260
- _class: Expressir::Model::Types::Boolean
1261
- - _class: Expressir::Model::Procedure
1314
+ _class: Expressir::Model::DataTypes::Boolean
1315
+ - _class: Expressir::Model::Declarations::Procedure
1262
1316
  id: multiple_shorthand_parameter_procedure
1263
1317
  parameters:
1264
- - _class: Expressir::Model::Parameter
1318
+ - _class: Expressir::Model::Declarations::Parameter
1265
1319
  id: test
1266
1320
  type:
1267
- _class: Expressir::Model::Types::Boolean
1268
- - _class: Expressir::Model::Parameter
1321
+ _class: Expressir::Model::DataTypes::Boolean
1322
+ - _class: Expressir::Model::Declarations::Parameter
1269
1323
  id: test2
1270
1324
  type:
1271
- _class: Expressir::Model::Types::Boolean
1272
- - _class: Expressir::Model::Procedure
1325
+ _class: Expressir::Model::DataTypes::Boolean
1326
+ - _class: Expressir::Model::Declarations::Procedure
1273
1327
  id: variable_parameter_procedure
1274
1328
  parameters:
1275
- - _class: Expressir::Model::Parameter
1329
+ - _class: Expressir::Model::Declarations::Parameter
1276
1330
  id: test
1277
1331
  var: true
1278
1332
  type:
1279
- _class: Expressir::Model::Types::Boolean
1280
- - _class: Expressir::Model::Procedure
1333
+ _class: Expressir::Model::DataTypes::Boolean
1334
+ - _class: Expressir::Model::Declarations::Procedure
1281
1335
  id: multiple_variable_parameter_procedure
1282
1336
  parameters:
1283
- - _class: Expressir::Model::Parameter
1337
+ - _class: Expressir::Model::Declarations::Parameter
1284
1338
  id: test
1285
1339
  var: true
1286
1340
  type:
1287
- _class: Expressir::Model::Types::Boolean
1288
- - _class: Expressir::Model::Parameter
1341
+ _class: Expressir::Model::DataTypes::Boolean
1342
+ - _class: Expressir::Model::Declarations::Parameter
1289
1343
  id: test2
1290
1344
  type:
1291
- _class: Expressir::Model::Types::Boolean
1292
- - _class: Expressir::Model::Procedure
1345
+ _class: Expressir::Model::DataTypes::Boolean
1346
+ - _class: Expressir::Model::Declarations::Procedure
1293
1347
  id: multiple_variable_parameter2_procedure
1294
1348
  parameters:
1295
- - _class: Expressir::Model::Parameter
1349
+ - _class: Expressir::Model::Declarations::Parameter
1296
1350
  id: test
1297
1351
  type:
1298
- _class: Expressir::Model::Types::Boolean
1299
- - _class: Expressir::Model::Parameter
1352
+ _class: Expressir::Model::DataTypes::Boolean
1353
+ - _class: Expressir::Model::Declarations::Parameter
1300
1354
  id: test2
1301
1355
  var: true
1302
1356
  type:
1303
- _class: Expressir::Model::Types::Boolean
1304
- - _class: Expressir::Model::Procedure
1357
+ _class: Expressir::Model::DataTypes::Boolean
1358
+ - _class: Expressir::Model::Declarations::Procedure
1305
1359
  id: multiple_shorthand_variable_parameter_procedure
1306
1360
  parameters:
1307
- - _class: Expressir::Model::Parameter
1361
+ - _class: Expressir::Model::Declarations::Parameter
1308
1362
  id: test
1309
1363
  var: true
1310
1364
  type:
1311
- _class: Expressir::Model::Types::Boolean
1312
- - _class: Expressir::Model::Parameter
1365
+ _class: Expressir::Model::DataTypes::Boolean
1366
+ - _class: Expressir::Model::Declarations::Parameter
1313
1367
  id: test2
1314
1368
  var: true
1315
1369
  type:
1316
- _class: Expressir::Model::Types::Boolean
1317
- - _class: Expressir::Model::Procedure
1370
+ _class: Expressir::Model::DataTypes::Boolean
1371
+ - _class: Expressir::Model::Declarations::Procedure
1318
1372
  id: type_procedure
1319
1373
  types:
1320
- - _class: Expressir::Model::Type
1374
+ - _class: Expressir::Model::Declarations::Type
1321
1375
  id: test
1322
- type:
1323
- _class: Expressir::Model::Types::Boolean
1324
- - _class: Expressir::Model::Procedure
1376
+ underlying_type:
1377
+ _class: Expressir::Model::DataTypes::Boolean
1378
+ - _class: Expressir::Model::Declarations::Procedure
1325
1379
  id: constant_procedure
1326
1380
  constants:
1327
- - _class: Expressir::Model::Constant
1381
+ - _class: Expressir::Model::Declarations::Constant
1328
1382
  id: test
1329
1383
  type:
1330
- _class: Expressir::Model::Types::Boolean
1384
+ _class: Expressir::Model::DataTypes::Boolean
1331
1385
  expression:
1332
1386
  _class: Expressir::Model::Literals::Logical
1333
1387
  value: :TRUE
1334
- - _class: Expressir::Model::Procedure
1388
+ - _class: Expressir::Model::Declarations::Procedure
1335
1389
  id: multiple_constant_procedure
1336
1390
  constants:
1337
- - _class: Expressir::Model::Constant
1391
+ - _class: Expressir::Model::Declarations::Constant
1338
1392
  id: test
1339
1393
  type:
1340
- _class: Expressir::Model::Types::Boolean
1394
+ _class: Expressir::Model::DataTypes::Boolean
1341
1395
  expression:
1342
1396
  _class: Expressir::Model::Literals::Logical
1343
1397
  value: :TRUE
1344
- - _class: Expressir::Model::Constant
1398
+ - _class: Expressir::Model::Declarations::Constant
1345
1399
  id: test2
1346
1400
  type:
1347
- _class: Expressir::Model::Types::Boolean
1401
+ _class: Expressir::Model::DataTypes::Boolean
1348
1402
  expression:
1349
1403
  _class: Expressir::Model::Literals::Logical
1350
1404
  value: :TRUE
1351
- - _class: Expressir::Model::Procedure
1405
+ - _class: Expressir::Model::Declarations::Procedure
1352
1406
  id: variable_procedure
1353
1407
  variables:
1354
- - _class: Expressir::Model::Variable
1408
+ - _class: Expressir::Model::Declarations::Variable
1355
1409
  id: test
1356
1410
  type:
1357
- _class: Expressir::Model::Types::Boolean
1358
- - _class: Expressir::Model::Procedure
1411
+ _class: Expressir::Model::DataTypes::Boolean
1412
+ - _class: Expressir::Model::Declarations::Procedure
1359
1413
  id: multiple_variable_procedure
1360
1414
  variables:
1361
- - _class: Expressir::Model::Variable
1415
+ - _class: Expressir::Model::Declarations::Variable
1362
1416
  id: test
1363
1417
  type:
1364
- _class: Expressir::Model::Types::Boolean
1365
- - _class: Expressir::Model::Variable
1418
+ _class: Expressir::Model::DataTypes::Boolean
1419
+ - _class: Expressir::Model::Declarations::Variable
1366
1420
  id: test2
1367
1421
  type:
1368
- _class: Expressir::Model::Types::Boolean
1369
- - _class: Expressir::Model::Procedure
1422
+ _class: Expressir::Model::DataTypes::Boolean
1423
+ - _class: Expressir::Model::Declarations::Procedure
1370
1424
  id: multiple_shorthand_variable_procedure
1371
1425
  variables:
1372
- - _class: Expressir::Model::Variable
1426
+ - _class: Expressir::Model::Declarations::Variable
1373
1427
  id: test
1374
1428
  type:
1375
- _class: Expressir::Model::Types::Boolean
1376
- - _class: Expressir::Model::Variable
1429
+ _class: Expressir::Model::DataTypes::Boolean
1430
+ - _class: Expressir::Model::Declarations::Variable
1377
1431
  id: test2
1378
1432
  type:
1379
- _class: Expressir::Model::Types::Boolean
1380
- - _class: Expressir::Model::Procedure
1433
+ _class: Expressir::Model::DataTypes::Boolean
1434
+ - _class: Expressir::Model::Declarations::Procedure
1381
1435
  id: variable_expression_procedure
1382
1436
  variables:
1383
- - _class: Expressir::Model::Variable
1437
+ - _class: Expressir::Model::Declarations::Variable
1384
1438
  id: test
1385
1439
  type:
1386
- _class: Expressir::Model::Types::Boolean
1440
+ _class: Expressir::Model::DataTypes::Boolean
1387
1441
  expression:
1388
1442
  _class: Expressir::Model::Literals::Logical
1389
1443
  value: :TRUE
1390
- - _class: Expressir::Model::Procedure
1444
+ - _class: Expressir::Model::Declarations::Procedure
1391
1445
  id: multiple_variable_expression_procedure
1392
1446
  variables:
1393
- - _class: Expressir::Model::Variable
1447
+ - _class: Expressir::Model::Declarations::Variable
1394
1448
  id: test
1395
1449
  type:
1396
- _class: Expressir::Model::Types::Boolean
1450
+ _class: Expressir::Model::DataTypes::Boolean
1397
1451
  expression:
1398
1452
  _class: Expressir::Model::Literals::Logical
1399
1453
  value: :TRUE
1400
- - _class: Expressir::Model::Variable
1454
+ - _class: Expressir::Model::Declarations::Variable
1401
1455
  id: test2
1402
1456
  type:
1403
- _class: Expressir::Model::Types::Boolean
1457
+ _class: Expressir::Model::DataTypes::Boolean
1404
1458
  expression:
1405
1459
  _class: Expressir::Model::Literals::Logical
1406
1460
  value: :TRUE
1407
- - _class: Expressir::Model::Procedure
1461
+ - _class: Expressir::Model::Declarations::Procedure
1408
1462
  id: multiple_shorthand_variable_expression_procedure
1409
1463
  variables:
1410
- - _class: Expressir::Model::Variable
1464
+ - _class: Expressir::Model::Declarations::Variable
1411
1465
  id: test
1412
1466
  type:
1413
- _class: Expressir::Model::Types::Boolean
1467
+ _class: Expressir::Model::DataTypes::Boolean
1414
1468
  expression:
1415
1469
  _class: Expressir::Model::Literals::Logical
1416
1470
  value: :TRUE
1417
- - _class: Expressir::Model::Variable
1471
+ - _class: Expressir::Model::Declarations::Variable
1418
1472
  id: test2
1419
1473
  type:
1420
- _class: Expressir::Model::Types::Boolean
1474
+ _class: Expressir::Model::DataTypes::Boolean
1421
1475
  expression:
1422
1476
  _class: Expressir::Model::Literals::Logical
1423
1477
  value: :TRUE
1424
- - _class: Expressir::Model::Procedure
1478
+ - _class: Expressir::Model::Declarations::Procedure
1425
1479
  id: statement_procedure
1426
1480
  statements:
1427
1481
  - _class: Expressir::Model::Statements::Null
1428
- - _class: Expressir::Model::Procedure
1482
+ - _class: Expressir::Model::Declarations::Procedure
1429
1483
  id: statements
1430
1484
  procedures:
1431
- - _class: Expressir::Model::Procedure
1485
+ - _class: Expressir::Model::Declarations::Procedure
1432
1486
  id: alias_simple_reference_statement
1433
1487
  statements:
1434
1488
  - _class: Expressir::Model::Statements::Alias
1435
1489
  id: test
1436
1490
  expression:
1437
- _class: Expressir::Model::Expressions::SimpleReference
1491
+ _class: Expressir::Model::References::SimpleReference
1438
1492
  id: test
1439
1493
  statements:
1440
1494
  - _class: Expressir::Model::Statements::Null
1441
- - _class: Expressir::Model::Procedure
1495
+ - _class: Expressir::Model::Declarations::Procedure
1442
1496
  id: alias_group_reference_statement
1443
1497
  statements:
1444
1498
  - _class: Expressir::Model::Statements::Alias
1445
1499
  id: test
1446
1500
  expression:
1447
- _class: Expressir::Model::Expressions::GroupReference
1501
+ _class: Expressir::Model::References::GroupReference
1448
1502
  ref:
1449
- _class: Expressir::Model::Expressions::SimpleReference
1503
+ _class: Expressir::Model::References::SimpleReference
1450
1504
  id: test
1451
1505
  entity:
1452
- _class: Expressir::Model::Expressions::SimpleReference
1506
+ _class: Expressir::Model::References::SimpleReference
1453
1507
  id: test2
1454
1508
  statements:
1455
1509
  - _class: Expressir::Model::Statements::Null
1456
- - _class: Expressir::Model::Procedure
1510
+ - _class: Expressir::Model::Declarations::Procedure
1457
1511
  id: alias_index_reference_statement
1458
1512
  statements:
1459
1513
  - _class: Expressir::Model::Statements::Alias
1460
1514
  id: test
1461
1515
  expression:
1462
- _class: Expressir::Model::Expressions::IndexReference
1516
+ _class: Expressir::Model::References::IndexReference
1463
1517
  ref:
1464
- _class: Expressir::Model::Expressions::SimpleReference
1518
+ _class: Expressir::Model::References::SimpleReference
1465
1519
  id: test
1466
1520
  index1:
1467
1521
  _class: Expressir::Model::Literals::Integer
1468
1522
  value: '1'
1469
1523
  statements:
1470
1524
  - _class: Expressir::Model::Statements::Null
1471
- - _class: Expressir::Model::Procedure
1525
+ - _class: Expressir::Model::Declarations::Procedure
1472
1526
  id: alias_index2_reference_statement
1473
1527
  statements:
1474
1528
  - _class: Expressir::Model::Statements::Alias
1475
1529
  id: test
1476
1530
  expression:
1477
- _class: Expressir::Model::Expressions::IndexReference
1531
+ _class: Expressir::Model::References::IndexReference
1478
1532
  ref:
1479
- _class: Expressir::Model::Expressions::SimpleReference
1533
+ _class: Expressir::Model::References::SimpleReference
1480
1534
  id: test
1481
1535
  index1:
1482
1536
  _class: Expressir::Model::Literals::Integer
@@ -1486,54 +1540,54 @@ schemas:
1486
1540
  value: '9'
1487
1541
  statements:
1488
1542
  - _class: Expressir::Model::Statements::Null
1489
- - _class: Expressir::Model::Procedure
1543
+ - _class: Expressir::Model::Declarations::Procedure
1490
1544
  id: alias_attribute_reference_statement
1491
1545
  statements:
1492
1546
  - _class: Expressir::Model::Statements::Alias
1493
1547
  id: test
1494
1548
  expression:
1495
- _class: Expressir::Model::Expressions::AttributeReference
1549
+ _class: Expressir::Model::References::AttributeReference
1496
1550
  ref:
1497
- _class: Expressir::Model::Expressions::SimpleReference
1551
+ _class: Expressir::Model::References::SimpleReference
1498
1552
  id: test
1499
1553
  attribute:
1500
- _class: Expressir::Model::Expressions::SimpleReference
1554
+ _class: Expressir::Model::References::SimpleReference
1501
1555
  id: test2
1502
1556
  statements:
1503
1557
  - _class: Expressir::Model::Statements::Null
1504
- - _class: Expressir::Model::Procedure
1558
+ - _class: Expressir::Model::Declarations::Procedure
1505
1559
  id: assignment_simple_reference_statement
1506
1560
  statements:
1507
1561
  - _class: Expressir::Model::Statements::Assignment
1508
1562
  ref:
1509
- _class: Expressir::Model::Expressions::SimpleReference
1563
+ _class: Expressir::Model::References::SimpleReference
1510
1564
  id: test
1511
1565
  expression:
1512
1566
  _class: Expressir::Model::Literals::Logical
1513
1567
  value: :TRUE
1514
- - _class: Expressir::Model::Procedure
1568
+ - _class: Expressir::Model::Declarations::Procedure
1515
1569
  id: assignment_group_reference_statement
1516
1570
  statements:
1517
1571
  - _class: Expressir::Model::Statements::Assignment
1518
1572
  ref:
1519
- _class: Expressir::Model::Expressions::GroupReference
1573
+ _class: Expressir::Model::References::GroupReference
1520
1574
  ref:
1521
- _class: Expressir::Model::Expressions::SimpleReference
1575
+ _class: Expressir::Model::References::SimpleReference
1522
1576
  id: test
1523
1577
  entity:
1524
- _class: Expressir::Model::Expressions::SimpleReference
1578
+ _class: Expressir::Model::References::SimpleReference
1525
1579
  id: test2
1526
1580
  expression:
1527
1581
  _class: Expressir::Model::Literals::Logical
1528
1582
  value: :TRUE
1529
- - _class: Expressir::Model::Procedure
1583
+ - _class: Expressir::Model::Declarations::Procedure
1530
1584
  id: assignment_index_reference_statement
1531
1585
  statements:
1532
1586
  - _class: Expressir::Model::Statements::Assignment
1533
1587
  ref:
1534
- _class: Expressir::Model::Expressions::IndexReference
1588
+ _class: Expressir::Model::References::IndexReference
1535
1589
  ref:
1536
- _class: Expressir::Model::Expressions::SimpleReference
1590
+ _class: Expressir::Model::References::SimpleReference
1537
1591
  id: test
1538
1592
  index1:
1539
1593
  _class: Expressir::Model::Literals::Integer
@@ -1541,14 +1595,14 @@ schemas:
1541
1595
  expression:
1542
1596
  _class: Expressir::Model::Literals::Logical
1543
1597
  value: :TRUE
1544
- - _class: Expressir::Model::Procedure
1598
+ - _class: Expressir::Model::Declarations::Procedure
1545
1599
  id: assignment_index2_reference_statement
1546
1600
  statements:
1547
1601
  - _class: Expressir::Model::Statements::Assignment
1548
1602
  ref:
1549
- _class: Expressir::Model::Expressions::IndexReference
1603
+ _class: Expressir::Model::References::IndexReference
1550
1604
  ref:
1551
- _class: Expressir::Model::Expressions::SimpleReference
1605
+ _class: Expressir::Model::References::SimpleReference
1552
1606
  id: test
1553
1607
  index1:
1554
1608
  _class: Expressir::Model::Literals::Integer
@@ -1559,27 +1613,27 @@ schemas:
1559
1613
  expression:
1560
1614
  _class: Expressir::Model::Literals::Logical
1561
1615
  value: :TRUE
1562
- - _class: Expressir::Model::Procedure
1616
+ - _class: Expressir::Model::Declarations::Procedure
1563
1617
  id: assignment_attribute_reference_statement
1564
1618
  statements:
1565
1619
  - _class: Expressir::Model::Statements::Assignment
1566
1620
  ref:
1567
- _class: Expressir::Model::Expressions::AttributeReference
1621
+ _class: Expressir::Model::References::AttributeReference
1568
1622
  ref:
1569
- _class: Expressir::Model::Expressions::SimpleReference
1623
+ _class: Expressir::Model::References::SimpleReference
1570
1624
  id: test
1571
1625
  attribute:
1572
- _class: Expressir::Model::Expressions::SimpleReference
1626
+ _class: Expressir::Model::References::SimpleReference
1573
1627
  id: test2
1574
1628
  expression:
1575
1629
  _class: Expressir::Model::Literals::Logical
1576
1630
  value: :TRUE
1577
- - _class: Expressir::Model::Procedure
1631
+ - _class: Expressir::Model::Declarations::Procedure
1578
1632
  id: case_statement
1579
1633
  statements:
1580
1634
  - _class: Expressir::Model::Statements::Case
1581
1635
  expression:
1582
- _class: Expressir::Model::Expressions::SimpleReference
1636
+ _class: Expressir::Model::References::SimpleReference
1583
1637
  id: test
1584
1638
  actions:
1585
1639
  - _class: Expressir::Model::Statements::CaseAction
@@ -1588,12 +1642,12 @@ schemas:
1588
1642
  value: :TRUE
1589
1643
  statement:
1590
1644
  _class: Expressir::Model::Statements::Null
1591
- - _class: Expressir::Model::Procedure
1645
+ - _class: Expressir::Model::Declarations::Procedure
1592
1646
  id: case_multiple_statement
1593
1647
  statements:
1594
1648
  - _class: Expressir::Model::Statements::Case
1595
1649
  expression:
1596
- _class: Expressir::Model::Expressions::SimpleReference
1650
+ _class: Expressir::Model::References::SimpleReference
1597
1651
  id: test
1598
1652
  actions:
1599
1653
  - _class: Expressir::Model::Statements::CaseAction
@@ -1608,12 +1662,12 @@ schemas:
1608
1662
  value: :TRUE
1609
1663
  statement:
1610
1664
  _class: Expressir::Model::Statements::Null
1611
- - _class: Expressir::Model::Procedure
1665
+ - _class: Expressir::Model::Declarations::Procedure
1612
1666
  id: case_multiple_shorthand_statement
1613
1667
  statements:
1614
1668
  - _class: Expressir::Model::Statements::Case
1615
1669
  expression:
1616
- _class: Expressir::Model::Expressions::SimpleReference
1670
+ _class: Expressir::Model::References::SimpleReference
1617
1671
  id: test
1618
1672
  actions:
1619
1673
  - _class: Expressir::Model::Statements::CaseAction
@@ -1624,12 +1678,12 @@ schemas:
1624
1678
  value: :TRUE
1625
1679
  statement:
1626
1680
  _class: Expressir::Model::Statements::Null
1627
- - _class: Expressir::Model::Procedure
1681
+ - _class: Expressir::Model::Declarations::Procedure
1628
1682
  id: case_otherwise_statement
1629
1683
  statements:
1630
1684
  - _class: Expressir::Model::Statements::Case
1631
1685
  expression:
1632
- _class: Expressir::Model::Expressions::SimpleReference
1686
+ _class: Expressir::Model::References::SimpleReference
1633
1687
  id: test
1634
1688
  actions:
1635
1689
  - _class: Expressir::Model::Statements::CaseAction
@@ -1640,17 +1694,17 @@ schemas:
1640
1694
  _class: Expressir::Model::Statements::Null
1641
1695
  otherwise_statement:
1642
1696
  _class: Expressir::Model::Statements::Null
1643
- - _class: Expressir::Model::Procedure
1697
+ - _class: Expressir::Model::Declarations::Procedure
1644
1698
  id: compound_statement
1645
1699
  statements:
1646
1700
  - _class: Expressir::Model::Statements::Compound
1647
1701
  statements:
1648
1702
  - _class: Expressir::Model::Statements::Null
1649
- - _class: Expressir::Model::Procedure
1703
+ - _class: Expressir::Model::Declarations::Procedure
1650
1704
  id: escape_statement
1651
1705
  statements:
1652
1706
  - _class: Expressir::Model::Statements::Escape
1653
- - _class: Expressir::Model::Procedure
1707
+ - _class: Expressir::Model::Declarations::Procedure
1654
1708
  id: if_statement
1655
1709
  statements:
1656
1710
  - _class: Expressir::Model::Statements::If
@@ -1659,7 +1713,7 @@ schemas:
1659
1713
  value: :TRUE
1660
1714
  statements:
1661
1715
  - _class: Expressir::Model::Statements::Null
1662
- - _class: Expressir::Model::Procedure
1716
+ - _class: Expressir::Model::Declarations::Procedure
1663
1717
  id: if2_statement
1664
1718
  statements:
1665
1719
  - _class: Expressir::Model::Statements::If
@@ -1669,7 +1723,7 @@ schemas:
1669
1723
  statements:
1670
1724
  - _class: Expressir::Model::Statements::Null
1671
1725
  - _class: Expressir::Model::Statements::Null
1672
- - _class: Expressir::Model::Procedure
1726
+ - _class: Expressir::Model::Declarations::Procedure
1673
1727
  id: if_else_statement
1674
1728
  statements:
1675
1729
  - _class: Expressir::Model::Statements::If
@@ -1680,7 +1734,7 @@ schemas:
1680
1734
  - _class: Expressir::Model::Statements::Null
1681
1735
  else_statements:
1682
1736
  - _class: Expressir::Model::Statements::Null
1683
- - _class: Expressir::Model::Procedure
1737
+ - _class: Expressir::Model::Declarations::Procedure
1684
1738
  id: if2_else_statement
1685
1739
  statements:
1686
1740
  - _class: Expressir::Model::Statements::If
@@ -1692,7 +1746,7 @@ schemas:
1692
1746
  - _class: Expressir::Model::Statements::Null
1693
1747
  else_statements:
1694
1748
  - _class: Expressir::Model::Statements::Null
1695
- - _class: Expressir::Model::Procedure
1749
+ - _class: Expressir::Model::Declarations::Procedure
1696
1750
  id: if_else2_statement
1697
1751
  statements:
1698
1752
  - _class: Expressir::Model::Statements::If
@@ -1704,7 +1758,7 @@ schemas:
1704
1758
  else_statements:
1705
1759
  - _class: Expressir::Model::Statements::Null
1706
1760
  - _class: Expressir::Model::Statements::Null
1707
- - _class: Expressir::Model::Procedure
1761
+ - _class: Expressir::Model::Declarations::Procedure
1708
1762
  id: if2_else2_statement
1709
1763
  statements:
1710
1764
  - _class: Expressir::Model::Statements::If
@@ -1717,66 +1771,69 @@ schemas:
1717
1771
  else_statements:
1718
1772
  - _class: Expressir::Model::Statements::Null
1719
1773
  - _class: Expressir::Model::Statements::Null
1720
- - _class: Expressir::Model::Procedure
1774
+ - _class: Expressir::Model::Declarations::Procedure
1721
1775
  id: null_statement
1722
1776
  statements:
1723
1777
  - _class: Expressir::Model::Statements::Null
1724
- - _class: Expressir::Model::Procedure
1778
+ - _class: Expressir::Model::Declarations::Procedure
1725
1779
  id: call_statement
1726
1780
  statements:
1727
- - _class: Expressir::Model::Statements::Call
1728
- ref:
1729
- _class: Expressir::Model::Expressions::SimpleReference
1781
+ - _class: Expressir::Model::Statements::ProcedureCall
1782
+ procedure:
1783
+ _class: Expressir::Model::References::SimpleReference
1730
1784
  id: empty_procedure
1731
- - _class: Expressir::Model::Procedure
1785
+ base_path: syntax_schema.empty_procedure
1786
+ - _class: Expressir::Model::Declarations::Procedure
1732
1787
  id: call_parameter_statement
1733
1788
  statements:
1734
- - _class: Expressir::Model::Statements::Call
1735
- ref:
1736
- _class: Expressir::Model::Expressions::SimpleReference
1789
+ - _class: Expressir::Model::Statements::ProcedureCall
1790
+ procedure:
1791
+ _class: Expressir::Model::References::SimpleReference
1737
1792
  id: empty_procedure
1793
+ base_path: syntax_schema.empty_procedure
1738
1794
  parameters:
1739
1795
  - _class: Expressir::Model::Literals::Logical
1740
1796
  value: :TRUE
1741
- - _class: Expressir::Model::Procedure
1797
+ - _class: Expressir::Model::Declarations::Procedure
1742
1798
  id: call_parameter2_statement
1743
1799
  statements:
1744
- - _class: Expressir::Model::Statements::Call
1745
- ref:
1746
- _class: Expressir::Model::Expressions::SimpleReference
1800
+ - _class: Expressir::Model::Statements::ProcedureCall
1801
+ procedure:
1802
+ _class: Expressir::Model::References::SimpleReference
1747
1803
  id: empty_procedure
1804
+ base_path: syntax_schema.empty_procedure
1748
1805
  parameters:
1749
1806
  - _class: Expressir::Model::Literals::Logical
1750
1807
  value: :TRUE
1751
1808
  - _class: Expressir::Model::Literals::Logical
1752
1809
  value: :TRUE
1753
- - _class: Expressir::Model::Procedure
1810
+ - _class: Expressir::Model::Declarations::Procedure
1754
1811
  id: call_insert_statement
1755
1812
  statements:
1756
- - _class: Expressir::Model::Statements::Call
1757
- ref:
1758
- _class: Expressir::Model::Expressions::SimpleReference
1813
+ - _class: Expressir::Model::Statements::ProcedureCall
1814
+ procedure:
1815
+ _class: Expressir::Model::References::SimpleReference
1759
1816
  id: INSERT
1760
1817
  parameters:
1761
1818
  - _class: Expressir::Model::Literals::Logical
1762
1819
  value: :TRUE
1763
- - _class: Expressir::Model::Procedure
1820
+ - _class: Expressir::Model::Declarations::Procedure
1764
1821
  id: call_remove_statement
1765
1822
  statements:
1766
- - _class: Expressir::Model::Statements::Call
1767
- ref:
1768
- _class: Expressir::Model::Expressions::SimpleReference
1823
+ - _class: Expressir::Model::Statements::ProcedureCall
1824
+ procedure:
1825
+ _class: Expressir::Model::References::SimpleReference
1769
1826
  id: REMOVE
1770
1827
  parameters:
1771
1828
  - _class: Expressir::Model::Literals::Logical
1772
1829
  value: :TRUE
1773
- - _class: Expressir::Model::Procedure
1830
+ - _class: Expressir::Model::Declarations::Procedure
1774
1831
  id: repeat_statement
1775
1832
  statements:
1776
1833
  - _class: Expressir::Model::Statements::Repeat
1777
1834
  statements:
1778
1835
  - _class: Expressir::Model::Statements::Null
1779
- - _class: Expressir::Model::Procedure
1836
+ - _class: Expressir::Model::Declarations::Procedure
1780
1837
  id: repeat_variable_statement
1781
1838
  statements:
1782
1839
  - _class: Expressir::Model::Statements::Repeat
@@ -1789,7 +1846,7 @@ schemas:
1789
1846
  value: '9'
1790
1847
  statements:
1791
1848
  - _class: Expressir::Model::Statements::Null
1792
- - _class: Expressir::Model::Procedure
1849
+ - _class: Expressir::Model::Declarations::Procedure
1793
1850
  id: repeat_variable_increment_statement
1794
1851
  statements:
1795
1852
  - _class: Expressir::Model::Statements::Repeat
@@ -1805,7 +1862,7 @@ schemas:
1805
1862
  value: '2'
1806
1863
  statements:
1807
1864
  - _class: Expressir::Model::Statements::Null
1808
- - _class: Expressir::Model::Procedure
1865
+ - _class: Expressir::Model::Declarations::Procedure
1809
1866
  id: repeat_while_statement
1810
1867
  statements:
1811
1868
  - _class: Expressir::Model::Statements::Repeat
@@ -1814,7 +1871,7 @@ schemas:
1814
1871
  value: :TRUE
1815
1872
  statements:
1816
1873
  - _class: Expressir::Model::Statements::Null
1817
- - _class: Expressir::Model::Procedure
1874
+ - _class: Expressir::Model::Declarations::Procedure
1818
1875
  id: repeat_until_statement
1819
1876
  statements:
1820
1877
  - _class: Expressir::Model::Statements::Repeat
@@ -1823,93 +1880,93 @@ schemas:
1823
1880
  value: :TRUE
1824
1881
  statements:
1825
1882
  - _class: Expressir::Model::Statements::Null
1826
- - _class: Expressir::Model::Procedure
1883
+ - _class: Expressir::Model::Declarations::Procedure
1827
1884
  id: return_statement
1828
1885
  statements:
1829
1886
  - _class: Expressir::Model::Statements::Return
1830
- - _class: Expressir::Model::Procedure
1887
+ - _class: Expressir::Model::Declarations::Procedure
1831
1888
  id: return_expression_statement
1832
1889
  statements:
1833
1890
  - _class: Expressir::Model::Statements::Return
1834
1891
  expression:
1835
1892
  _class: Expressir::Model::Literals::Logical
1836
1893
  value: :TRUE
1837
- - _class: Expressir::Model::Procedure
1894
+ - _class: Expressir::Model::Declarations::Procedure
1838
1895
  id: skip_statement
1839
1896
  statements:
1840
1897
  - _class: Expressir::Model::Statements::Skip
1841
- - _class: Expressir::Model::Procedure
1898
+ - _class: Expressir::Model::Declarations::Procedure
1842
1899
  id: types
1843
1900
  types:
1844
- - _class: Expressir::Model::Type
1901
+ - _class: Expressir::Model::Declarations::Type
1845
1902
  id: binary_type
1846
- type:
1847
- _class: Expressir::Model::Types::Binary
1848
- - _class: Expressir::Model::Type
1903
+ underlying_type:
1904
+ _class: Expressir::Model::DataTypes::Binary
1905
+ - _class: Expressir::Model::Declarations::Type
1849
1906
  id: binary_width_type
1850
- type:
1851
- _class: Expressir::Model::Types::Binary
1907
+ underlying_type:
1908
+ _class: Expressir::Model::DataTypes::Binary
1852
1909
  width:
1853
1910
  _class: Expressir::Model::Literals::Integer
1854
1911
  value: '3'
1855
- - _class: Expressir::Model::Type
1912
+ - _class: Expressir::Model::Declarations::Type
1856
1913
  id: binary_width_fixed_type
1857
- type:
1858
- _class: Expressir::Model::Types::Binary
1914
+ underlying_type:
1915
+ _class: Expressir::Model::DataTypes::Binary
1859
1916
  width:
1860
1917
  _class: Expressir::Model::Literals::Integer
1861
1918
  value: '3'
1862
1919
  fixed: true
1863
- - _class: Expressir::Model::Type
1920
+ - _class: Expressir::Model::Declarations::Type
1864
1921
  id: boolean_type
1865
- type:
1866
- _class: Expressir::Model::Types::Boolean
1867
- - _class: Expressir::Model::Type
1922
+ underlying_type:
1923
+ _class: Expressir::Model::DataTypes::Boolean
1924
+ - _class: Expressir::Model::Declarations::Type
1868
1925
  id: integer_type
1869
- type:
1870
- _class: Expressir::Model::Types::Integer
1871
- - _class: Expressir::Model::Type
1926
+ underlying_type:
1927
+ _class: Expressir::Model::DataTypes::Integer
1928
+ - _class: Expressir::Model::Declarations::Type
1872
1929
  id: logical_type
1873
- type:
1874
- _class: Expressir::Model::Types::Logical
1875
- - _class: Expressir::Model::Type
1930
+ underlying_type:
1931
+ _class: Expressir::Model::DataTypes::Logical
1932
+ - _class: Expressir::Model::Declarations::Type
1876
1933
  id: number_type
1877
- type:
1878
- _class: Expressir::Model::Types::Number
1879
- - _class: Expressir::Model::Type
1934
+ underlying_type:
1935
+ _class: Expressir::Model::DataTypes::Number
1936
+ - _class: Expressir::Model::Declarations::Type
1880
1937
  id: real_type
1881
- type:
1882
- _class: Expressir::Model::Types::Real
1883
- - _class: Expressir::Model::Type
1938
+ underlying_type:
1939
+ _class: Expressir::Model::DataTypes::Real
1940
+ - _class: Expressir::Model::Declarations::Type
1884
1941
  id: real_precision_type
1885
- type:
1886
- _class: Expressir::Model::Types::Real
1942
+ underlying_type:
1943
+ _class: Expressir::Model::DataTypes::Real
1887
1944
  precision:
1888
1945
  _class: Expressir::Model::Literals::Integer
1889
1946
  value: '3'
1890
- - _class: Expressir::Model::Type
1947
+ - _class: Expressir::Model::Declarations::Type
1891
1948
  id: string_type
1892
- type:
1893
- _class: Expressir::Model::Types::String
1894
- - _class: Expressir::Model::Type
1949
+ underlying_type:
1950
+ _class: Expressir::Model::DataTypes::String
1951
+ - _class: Expressir::Model::Declarations::Type
1895
1952
  id: string_width_type
1896
- type:
1897
- _class: Expressir::Model::Types::String
1953
+ underlying_type:
1954
+ _class: Expressir::Model::DataTypes::String
1898
1955
  width:
1899
1956
  _class: Expressir::Model::Literals::Integer
1900
1957
  value: '3'
1901
- - _class: Expressir::Model::Type
1958
+ - _class: Expressir::Model::Declarations::Type
1902
1959
  id: string_width_fixed_type
1903
- type:
1904
- _class: Expressir::Model::Types::String
1960
+ underlying_type:
1961
+ _class: Expressir::Model::DataTypes::String
1905
1962
  width:
1906
1963
  _class: Expressir::Model::Literals::Integer
1907
1964
  value: '3'
1908
1965
  fixed: true
1909
- - _class: Expressir::Model::Type
1966
+ - _class: Expressir::Model::Declarations::Type
1910
1967
  id: array_type
1911
- type:
1912
- _class: Expressir::Model::Types::Array
1968
+ underlying_type:
1969
+ _class: Expressir::Model::DataTypes::Array
1913
1970
  bound1:
1914
1971
  _class: Expressir::Model::Literals::Integer
1915
1972
  value: '1'
@@ -1917,11 +1974,11 @@ schemas:
1917
1974
  _class: Expressir::Model::Literals::Integer
1918
1975
  value: '9'
1919
1976
  base_type:
1920
- _class: Expressir::Model::Types::String
1921
- - _class: Expressir::Model::Type
1977
+ _class: Expressir::Model::DataTypes::String
1978
+ - _class: Expressir::Model::Declarations::Type
1922
1979
  id: array_optional_type
1923
- type:
1924
- _class: Expressir::Model::Types::Array
1980
+ underlying_type:
1981
+ _class: Expressir::Model::DataTypes::Array
1925
1982
  bound1:
1926
1983
  _class: Expressir::Model::Literals::Integer
1927
1984
  value: '1'
@@ -1930,11 +1987,11 @@ schemas:
1930
1987
  value: '9'
1931
1988
  optional: true
1932
1989
  base_type:
1933
- _class: Expressir::Model::Types::String
1934
- - _class: Expressir::Model::Type
1990
+ _class: Expressir::Model::DataTypes::String
1991
+ - _class: Expressir::Model::Declarations::Type
1935
1992
  id: array_unique_type
1936
- type:
1937
- _class: Expressir::Model::Types::Array
1993
+ underlying_type:
1994
+ _class: Expressir::Model::DataTypes::Array
1938
1995
  bound1:
1939
1996
  _class: Expressir::Model::Literals::Integer
1940
1997
  value: '1'
@@ -1943,11 +2000,11 @@ schemas:
1943
2000
  value: '9'
1944
2001
  unique: true
1945
2002
  base_type:
1946
- _class: Expressir::Model::Types::String
1947
- - _class: Expressir::Model::Type
2003
+ _class: Expressir::Model::DataTypes::String
2004
+ - _class: Expressir::Model::Declarations::Type
1948
2005
  id: array_optional_unique_type
1949
- type:
1950
- _class: Expressir::Model::Types::Array
2006
+ underlying_type:
2007
+ _class: Expressir::Model::DataTypes::Array
1951
2008
  bound1:
1952
2009
  _class: Expressir::Model::Literals::Integer
1953
2010
  value: '1'
@@ -1957,17 +2014,17 @@ schemas:
1957
2014
  optional: true
1958
2015
  unique: true
1959
2016
  base_type:
1960
- _class: Expressir::Model::Types::String
1961
- - _class: Expressir::Model::Type
2017
+ _class: Expressir::Model::DataTypes::String
2018
+ - _class: Expressir::Model::Declarations::Type
1962
2019
  id: bag_type
1963
- type:
1964
- _class: Expressir::Model::Types::Bag
2020
+ underlying_type:
2021
+ _class: Expressir::Model::DataTypes::Bag
1965
2022
  base_type:
1966
- _class: Expressir::Model::Types::String
1967
- - _class: Expressir::Model::Type
2023
+ _class: Expressir::Model::DataTypes::String
2024
+ - _class: Expressir::Model::Declarations::Type
1968
2025
  id: bag_bound_type
1969
- type:
1970
- _class: Expressir::Model::Types::Bag
2026
+ underlying_type:
2027
+ _class: Expressir::Model::DataTypes::Bag
1971
2028
  bound1:
1972
2029
  _class: Expressir::Model::Literals::Integer
1973
2030
  value: '1'
@@ -1975,17 +2032,17 @@ schemas:
1975
2032
  _class: Expressir::Model::Literals::Integer
1976
2033
  value: '9'
1977
2034
  base_type:
1978
- _class: Expressir::Model::Types::String
1979
- - _class: Expressir::Model::Type
2035
+ _class: Expressir::Model::DataTypes::String
2036
+ - _class: Expressir::Model::Declarations::Type
1980
2037
  id: list_type
1981
- type:
1982
- _class: Expressir::Model::Types::List
2038
+ underlying_type:
2039
+ _class: Expressir::Model::DataTypes::List
1983
2040
  base_type:
1984
- _class: Expressir::Model::Types::String
1985
- - _class: Expressir::Model::Type
2041
+ _class: Expressir::Model::DataTypes::String
2042
+ - _class: Expressir::Model::Declarations::Type
1986
2043
  id: list_bound_type
1987
- type:
1988
- _class: Expressir::Model::Types::List
2044
+ underlying_type:
2045
+ _class: Expressir::Model::DataTypes::List
1989
2046
  bound1:
1990
2047
  _class: Expressir::Model::Literals::Integer
1991
2048
  value: '1'
@@ -1993,18 +2050,18 @@ schemas:
1993
2050
  _class: Expressir::Model::Literals::Integer
1994
2051
  value: '9'
1995
2052
  base_type:
1996
- _class: Expressir::Model::Types::String
1997
- - _class: Expressir::Model::Type
2053
+ _class: Expressir::Model::DataTypes::String
2054
+ - _class: Expressir::Model::Declarations::Type
1998
2055
  id: list_unique_type
1999
- type:
2000
- _class: Expressir::Model::Types::List
2056
+ underlying_type:
2057
+ _class: Expressir::Model::DataTypes::List
2001
2058
  unique: true
2002
2059
  base_type:
2003
- _class: Expressir::Model::Types::String
2004
- - _class: Expressir::Model::Type
2060
+ _class: Expressir::Model::DataTypes::String
2061
+ - _class: Expressir::Model::Declarations::Type
2005
2062
  id: list_bound_unique_type
2006
- type:
2007
- _class: Expressir::Model::Types::List
2063
+ underlying_type:
2064
+ _class: Expressir::Model::DataTypes::List
2008
2065
  bound1:
2009
2066
  _class: Expressir::Model::Literals::Integer
2010
2067
  value: '1'
@@ -2013,17 +2070,17 @@ schemas:
2013
2070
  value: '9'
2014
2071
  unique: true
2015
2072
  base_type:
2016
- _class: Expressir::Model::Types::String
2017
- - _class: Expressir::Model::Type
2073
+ _class: Expressir::Model::DataTypes::String
2074
+ - _class: Expressir::Model::Declarations::Type
2018
2075
  id: set_type
2019
- type:
2020
- _class: Expressir::Model::Types::Set
2076
+ underlying_type:
2077
+ _class: Expressir::Model::DataTypes::Set
2021
2078
  base_type:
2022
- _class: Expressir::Model::Types::String
2023
- - _class: Expressir::Model::Type
2079
+ _class: Expressir::Model::DataTypes::String
2080
+ - _class: Expressir::Model::Declarations::Type
2024
2081
  id: set_bound_type
2025
- type:
2026
- _class: Expressir::Model::Types::Set
2082
+ underlying_type:
2083
+ _class: Expressir::Model::DataTypes::Set
2027
2084
  bound1:
2028
2085
  _class: Expressir::Model::Literals::Integer
2029
2086
  value: '1'
@@ -2031,605 +2088,617 @@ schemas:
2031
2088
  _class: Expressir::Model::Literals::Integer
2032
2089
  value: '9'
2033
2090
  base_type:
2034
- _class: Expressir::Model::Types::String
2035
- - _class: Expressir::Model::Type
2091
+ _class: Expressir::Model::DataTypes::String
2092
+ - _class: Expressir::Model::Declarations::Type
2036
2093
  id: select_type
2037
- type:
2038
- _class: Expressir::Model::Types::Select
2039
- - _class: Expressir::Model::Type
2094
+ underlying_type:
2095
+ _class: Expressir::Model::DataTypes::Select
2096
+ - _class: Expressir::Model::Declarations::Type
2040
2097
  id: select_extensible_type
2041
- type:
2042
- _class: Expressir::Model::Types::Select
2098
+ underlying_type:
2099
+ _class: Expressir::Model::DataTypes::Select
2043
2100
  extensible: true
2044
- - _class: Expressir::Model::Type
2101
+ - _class: Expressir::Model::Declarations::Type
2045
2102
  id: select_extensible_generic_entity_type
2046
- type:
2047
- _class: Expressir::Model::Types::Select
2103
+ underlying_type:
2104
+ _class: Expressir::Model::DataTypes::Select
2048
2105
  extensible: true
2049
2106
  generic_entity: true
2050
- - _class: Expressir::Model::Type
2051
- id: select_list_type
2052
- type:
2053
- _class: Expressir::Model::Types::Select
2107
+ - _class: Expressir::Model::Declarations::Type
2108
+ id: select_item_type
2109
+ underlying_type:
2110
+ _class: Expressir::Model::DataTypes::Select
2054
2111
  items:
2055
- - _class: Expressir::Model::Expressions::SimpleReference
2112
+ - _class: Expressir::Model::References::SimpleReference
2056
2113
  id: empty_type
2057
- - _class: Expressir::Model::Type
2058
- id: select_list_multiple_type
2059
- type:
2060
- _class: Expressir::Model::Types::Select
2114
+ base_path: syntax_schema.empty_type
2115
+ - _class: Expressir::Model::Declarations::Type
2116
+ id: select_multiple_item_type
2117
+ underlying_type:
2118
+ _class: Expressir::Model::DataTypes::Select
2061
2119
  items:
2062
- - _class: Expressir::Model::Expressions::SimpleReference
2120
+ - _class: Expressir::Model::References::SimpleReference
2063
2121
  id: empty_type
2064
- - _class: Expressir::Model::Expressions::SimpleReference
2122
+ base_path: syntax_schema.empty_type
2123
+ - _class: Expressir::Model::References::SimpleReference
2065
2124
  id: empty_type
2066
- - _class: Expressir::Model::Type
2067
- id: select_extension_type_ref_type
2068
- type:
2069
- _class: Expressir::Model::Types::Select
2070
- extension_type:
2071
- _class: Expressir::Model::Expressions::SimpleReference
2125
+ base_path: syntax_schema.empty_type
2126
+ - _class: Expressir::Model::Declarations::Type
2127
+ id: select_based_on_type
2128
+ underlying_type:
2129
+ _class: Expressir::Model::DataTypes::Select
2130
+ based_on:
2131
+ _class: Expressir::Model::References::SimpleReference
2072
2132
  id: select_type
2073
- - _class: Expressir::Model::Type
2074
- id: select_extension_type_ref_list_type
2075
- type:
2076
- _class: Expressir::Model::Types::Select
2077
- extension_type:
2078
- _class: Expressir::Model::Expressions::SimpleReference
2133
+ base_path: syntax_schema.types.select_type
2134
+ - _class: Expressir::Model::Declarations::Type
2135
+ id: select_based_on_item_type
2136
+ underlying_type:
2137
+ _class: Expressir::Model::DataTypes::Select
2138
+ based_on:
2139
+ _class: Expressir::Model::References::SimpleReference
2079
2140
  id: select_type
2080
- extension_items:
2081
- - _class: Expressir::Model::Expressions::SimpleReference
2141
+ base_path: syntax_schema.types.select_type
2142
+ items:
2143
+ - _class: Expressir::Model::References::SimpleReference
2082
2144
  id: empty_type
2083
- - _class: Expressir::Model::Type
2084
- id: select_extension_type_ref_list_multiple_type
2085
- type:
2086
- _class: Expressir::Model::Types::Select
2087
- extension_type:
2088
- _class: Expressir::Model::Expressions::SimpleReference
2145
+ base_path: syntax_schema.empty_type
2146
+ - _class: Expressir::Model::Declarations::Type
2147
+ id: select_based_on_multiple_item_type
2148
+ underlying_type:
2149
+ _class: Expressir::Model::DataTypes::Select
2150
+ based_on:
2151
+ _class: Expressir::Model::References::SimpleReference
2089
2152
  id: select_type
2090
- extension_items:
2091
- - _class: Expressir::Model::Expressions::SimpleReference
2153
+ base_path: syntax_schema.types.select_type
2154
+ items:
2155
+ - _class: Expressir::Model::References::SimpleReference
2092
2156
  id: empty_type
2093
- - _class: Expressir::Model::Expressions::SimpleReference
2157
+ base_path: syntax_schema.empty_type
2158
+ - _class: Expressir::Model::References::SimpleReference
2094
2159
  id: empty_type
2095
- - _class: Expressir::Model::Type
2160
+ base_path: syntax_schema.empty_type
2161
+ - _class: Expressir::Model::Declarations::Type
2096
2162
  id: enumeration_type
2097
- type:
2098
- _class: Expressir::Model::Types::Enumeration
2099
- - _class: Expressir::Model::Type
2163
+ underlying_type:
2164
+ _class: Expressir::Model::DataTypes::Enumeration
2165
+ - _class: Expressir::Model::Declarations::Type
2100
2166
  id: enumeration_extensible_type
2101
- type:
2102
- _class: Expressir::Model::Types::Enumeration
2167
+ underlying_type:
2168
+ _class: Expressir::Model::DataTypes::Enumeration
2103
2169
  extensible: true
2104
- - _class: Expressir::Model::Type
2105
- id: enumeration_list_type
2106
- type:
2107
- _class: Expressir::Model::Types::Enumeration
2170
+ - _class: Expressir::Model::Declarations::Type
2171
+ id: enumeration_item_type
2172
+ underlying_type:
2173
+ _class: Expressir::Model::DataTypes::Enumeration
2108
2174
  items:
2109
- - _class: Expressir::Model::EnumerationItem
2175
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2110
2176
  id: test
2111
- - _class: Expressir::Model::Type
2112
- id: enumeration_list_multiple_type
2113
- type:
2114
- _class: Expressir::Model::Types::Enumeration
2177
+ - _class: Expressir::Model::Declarations::Type
2178
+ id: enumeration_multiple_item_type
2179
+ underlying_type:
2180
+ _class: Expressir::Model::DataTypes::Enumeration
2115
2181
  items:
2116
- - _class: Expressir::Model::EnumerationItem
2182
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2117
2183
  id: test
2118
- - _class: Expressir::Model::EnumerationItem
2184
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2119
2185
  id: test2
2120
- - _class: Expressir::Model::Type
2121
- id: enumeration_extension_type_ref_type
2122
- type:
2123
- _class: Expressir::Model::Types::Enumeration
2124
- extension_type:
2125
- _class: Expressir::Model::Expressions::SimpleReference
2186
+ - _class: Expressir::Model::Declarations::Type
2187
+ id: enumeration_based_on_type
2188
+ underlying_type:
2189
+ _class: Expressir::Model::DataTypes::Enumeration
2190
+ based_on:
2191
+ _class: Expressir::Model::References::SimpleReference
2126
2192
  id: enumeration_type
2127
- - _class: Expressir::Model::Type
2128
- id: enumeration_extension_type_ref_list_type
2129
- type:
2130
- _class: Expressir::Model::Types::Enumeration
2131
- extension_type:
2132
- _class: Expressir::Model::Expressions::SimpleReference
2193
+ base_path: syntax_schema.types.enumeration_type
2194
+ - _class: Expressir::Model::Declarations::Type
2195
+ id: enumeration_based_on_item_type
2196
+ underlying_type:
2197
+ _class: Expressir::Model::DataTypes::Enumeration
2198
+ based_on:
2199
+ _class: Expressir::Model::References::SimpleReference
2133
2200
  id: enumeration_type
2134
- extension_items:
2135
- - _class: Expressir::Model::EnumerationItem
2201
+ base_path: syntax_schema.types.enumeration_type
2202
+ items:
2203
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2136
2204
  id: test
2137
- - _class: Expressir::Model::Type
2138
- id: enumeration_extension_type_ref_list_multiple_type
2139
- type:
2140
- _class: Expressir::Model::Types::Enumeration
2141
- extension_type:
2142
- _class: Expressir::Model::Expressions::SimpleReference
2205
+ - _class: Expressir::Model::Declarations::Type
2206
+ id: enumeration_based_on_multiple_item_type
2207
+ underlying_type:
2208
+ _class: Expressir::Model::DataTypes::Enumeration
2209
+ based_on:
2210
+ _class: Expressir::Model::References::SimpleReference
2143
2211
  id: enumeration_type
2144
- extension_items:
2145
- - _class: Expressir::Model::EnumerationItem
2212
+ base_path: syntax_schema.types.enumeration_type
2213
+ items:
2214
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2146
2215
  id: test
2147
- - _class: Expressir::Model::EnumerationItem
2216
+ - _class: Expressir::Model::DataTypes::EnumerationItem
2148
2217
  id: test2
2149
2218
  functions:
2150
- - _class: Expressir::Model::Function
2219
+ - _class: Expressir::Model::Declarations::Function
2151
2220
  id: generic_type
2152
2221
  return_type:
2153
- _class: Expressir::Model::Types::Generic
2222
+ _class: Expressir::Model::DataTypes::Generic
2154
2223
  statements:
2155
2224
  - _class: Expressir::Model::Statements::Null
2156
- - _class: Expressir::Model::Function
2225
+ - _class: Expressir::Model::Declarations::Function
2157
2226
  id: generic_label_type
2158
2227
  return_type:
2159
- _class: Expressir::Model::Types::Generic
2228
+ _class: Expressir::Model::DataTypes::Generic
2160
2229
  id: label
2161
2230
  statements:
2162
2231
  - _class: Expressir::Model::Statements::Null
2163
- - _class: Expressir::Model::Function
2232
+ - _class: Expressir::Model::Declarations::Function
2164
2233
  id: generic_entity_type
2165
2234
  return_type:
2166
- _class: Expressir::Model::Types::GenericEntity
2235
+ _class: Expressir::Model::DataTypes::GenericEntity
2167
2236
  statements:
2168
2237
  - _class: Expressir::Model::Statements::Null
2169
- - _class: Expressir::Model::Function
2238
+ - _class: Expressir::Model::Declarations::Function
2170
2239
  id: generic_entity_label_type
2171
2240
  return_type:
2172
- _class: Expressir::Model::Types::GenericEntity
2241
+ _class: Expressir::Model::DataTypes::GenericEntity
2173
2242
  id: label
2174
2243
  statements:
2175
2244
  - _class: Expressir::Model::Statements::Null
2176
- - _class: Expressir::Model::Procedure
2245
+ - _class: Expressir::Model::Declarations::Procedure
2177
2246
  id: expressions
2178
2247
  variables:
2179
- - _class: Expressir::Model::Variable
2248
+ - _class: Expressir::Model::Declarations::Variable
2180
2249
  id: binary_expression
2181
2250
  type:
2182
- _class: Expressir::Model::Types::Boolean
2251
+ _class: Expressir::Model::DataTypes::Boolean
2183
2252
  expression:
2184
2253
  _class: Expressir::Model::Literals::Binary
2185
2254
  value: '011110000111100001111000'
2186
- - _class: Expressir::Model::Variable
2255
+ - _class: Expressir::Model::Declarations::Variable
2187
2256
  id: integer_expression
2188
2257
  type:
2189
- _class: Expressir::Model::Types::Boolean
2258
+ _class: Expressir::Model::DataTypes::Boolean
2190
2259
  expression:
2191
2260
  _class: Expressir::Model::Literals::Integer
2192
2261
  value: '999'
2193
- - _class: Expressir::Model::Variable
2262
+ - _class: Expressir::Model::Declarations::Variable
2194
2263
  id: true_logical_expression
2195
2264
  type:
2196
- _class: Expressir::Model::Types::Boolean
2265
+ _class: Expressir::Model::DataTypes::Boolean
2197
2266
  expression:
2198
2267
  _class: Expressir::Model::Literals::Logical
2199
2268
  value: :TRUE
2200
- - _class: Expressir::Model::Variable
2269
+ - _class: Expressir::Model::Declarations::Variable
2201
2270
  id: false_logical_expression
2202
2271
  type:
2203
- _class: Expressir::Model::Types::Boolean
2272
+ _class: Expressir::Model::DataTypes::Boolean
2204
2273
  expression:
2205
2274
  _class: Expressir::Model::Literals::Logical
2206
2275
  value: :FALSE
2207
- - _class: Expressir::Model::Variable
2276
+ - _class: Expressir::Model::Declarations::Variable
2208
2277
  id: unknown_logical_expression
2209
2278
  type:
2210
- _class: Expressir::Model::Types::Boolean
2279
+ _class: Expressir::Model::DataTypes::Boolean
2211
2280
  expression:
2212
2281
  _class: Expressir::Model::Literals::Logical
2213
2282
  value: :UNKNOWN
2214
- - _class: Expressir::Model::Variable
2283
+ - _class: Expressir::Model::Declarations::Variable
2215
2284
  id: real_expression
2216
2285
  type:
2217
- _class: Expressir::Model::Types::Boolean
2286
+ _class: Expressir::Model::DataTypes::Boolean
2218
2287
  expression:
2219
2288
  _class: Expressir::Model::Literals::Real
2220
2289
  value: '999.999'
2221
- - _class: Expressir::Model::Variable
2290
+ - _class: Expressir::Model::Declarations::Variable
2222
2291
  id: simple_string_expression
2223
2292
  type:
2224
- _class: Expressir::Model::Types::Boolean
2293
+ _class: Expressir::Model::DataTypes::Boolean
2225
2294
  expression:
2226
2295
  _class: Expressir::Model::Literals::String
2227
2296
  value: xxx
2228
- - _class: Expressir::Model::Variable
2297
+ - _class: Expressir::Model::Declarations::Variable
2229
2298
  id: utf8_simple_string_expression
2230
2299
  type:
2231
- _class: Expressir::Model::Types::Boolean
2300
+ _class: Expressir::Model::DataTypes::Boolean
2232
2301
  expression:
2233
2302
  _class: Expressir::Model::Literals::String
2234
2303
  value: 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.'
2235
- - _class: Expressir::Model::Variable
2304
+ - _class: Expressir::Model::Declarations::Variable
2236
2305
  id: encoded_string_expression
2237
2306
  type:
2238
- _class: Expressir::Model::Types::Boolean
2307
+ _class: Expressir::Model::DataTypes::Boolean
2239
2308
  expression:
2240
2309
  _class: Expressir::Model::Literals::String
2241
2310
  value: '000000780000007800000078'
2242
2311
  encoded: true
2243
- - _class: Expressir::Model::Variable
2312
+ - _class: Expressir::Model::Declarations::Variable
2244
2313
  id: const_e_expression
2245
2314
  type:
2246
- _class: Expressir::Model::Types::Boolean
2315
+ _class: Expressir::Model::DataTypes::Boolean
2247
2316
  expression:
2248
- _class: Expressir::Model::Expressions::SimpleReference
2317
+ _class: Expressir::Model::References::SimpleReference
2249
2318
  id: CONST_E
2250
- - _class: Expressir::Model::Variable
2319
+ - _class: Expressir::Model::Declarations::Variable
2251
2320
  id: indeterminate_expression
2252
2321
  type:
2253
- _class: Expressir::Model::Types::Boolean
2322
+ _class: Expressir::Model::DataTypes::Boolean
2254
2323
  expression:
2255
- _class: Expressir::Model::Expressions::SimpleReference
2324
+ _class: Expressir::Model::References::SimpleReference
2256
2325
  id: "?"
2257
- - _class: Expressir::Model::Variable
2326
+ - _class: Expressir::Model::Declarations::Variable
2258
2327
  id: pi_expression
2259
2328
  type:
2260
- _class: Expressir::Model::Types::Boolean
2329
+ _class: Expressir::Model::DataTypes::Boolean
2261
2330
  expression:
2262
- _class: Expressir::Model::Expressions::SimpleReference
2331
+ _class: Expressir::Model::References::SimpleReference
2263
2332
  id: PI
2264
- - _class: Expressir::Model::Variable
2333
+ - _class: Expressir::Model::Declarations::Variable
2265
2334
  id: self_expression
2266
2335
  type:
2267
- _class: Expressir::Model::Types::Boolean
2336
+ _class: Expressir::Model::DataTypes::Boolean
2268
2337
  expression:
2269
- _class: Expressir::Model::Expressions::SimpleReference
2338
+ _class: Expressir::Model::References::SimpleReference
2270
2339
  id: SELF
2271
- - _class: Expressir::Model::Variable
2340
+ - _class: Expressir::Model::Declarations::Variable
2272
2341
  id: abs_expression
2273
2342
  type:
2274
- _class: Expressir::Model::Types::Boolean
2343
+ _class: Expressir::Model::DataTypes::Boolean
2275
2344
  expression:
2276
- _class: Expressir::Model::Expressions::Call
2277
- ref:
2278
- _class: Expressir::Model::Expressions::SimpleReference
2345
+ _class: Expressir::Model::Expressions::FunctionCall
2346
+ function:
2347
+ _class: Expressir::Model::References::SimpleReference
2279
2348
  id: ABS
2280
2349
  parameters:
2281
2350
  - _class: Expressir::Model::Literals::Logical
2282
2351
  value: :TRUE
2283
- - _class: Expressir::Model::Variable
2352
+ - _class: Expressir::Model::Declarations::Variable
2284
2353
  id: acos_expression
2285
2354
  type:
2286
- _class: Expressir::Model::Types::Boolean
2355
+ _class: Expressir::Model::DataTypes::Boolean
2287
2356
  expression:
2288
- _class: Expressir::Model::Expressions::Call
2289
- ref:
2290
- _class: Expressir::Model::Expressions::SimpleReference
2357
+ _class: Expressir::Model::Expressions::FunctionCall
2358
+ function:
2359
+ _class: Expressir::Model::References::SimpleReference
2291
2360
  id: ACOS
2292
2361
  parameters:
2293
2362
  - _class: Expressir::Model::Literals::Logical
2294
2363
  value: :TRUE
2295
- - _class: Expressir::Model::Variable
2364
+ - _class: Expressir::Model::Declarations::Variable
2296
2365
  id: asin_expression
2297
2366
  type:
2298
- _class: Expressir::Model::Types::Boolean
2367
+ _class: Expressir::Model::DataTypes::Boolean
2299
2368
  expression:
2300
- _class: Expressir::Model::Expressions::Call
2301
- ref:
2302
- _class: Expressir::Model::Expressions::SimpleReference
2369
+ _class: Expressir::Model::Expressions::FunctionCall
2370
+ function:
2371
+ _class: Expressir::Model::References::SimpleReference
2303
2372
  id: ASIN
2304
2373
  parameters:
2305
2374
  - _class: Expressir::Model::Literals::Logical
2306
2375
  value: :TRUE
2307
- - _class: Expressir::Model::Variable
2376
+ - _class: Expressir::Model::Declarations::Variable
2308
2377
  id: atan_expression
2309
2378
  type:
2310
- _class: Expressir::Model::Types::Boolean
2379
+ _class: Expressir::Model::DataTypes::Boolean
2311
2380
  expression:
2312
- _class: Expressir::Model::Expressions::Call
2313
- ref:
2314
- _class: Expressir::Model::Expressions::SimpleReference
2381
+ _class: Expressir::Model::Expressions::FunctionCall
2382
+ function:
2383
+ _class: Expressir::Model::References::SimpleReference
2315
2384
  id: ATAN
2316
2385
  parameters:
2317
2386
  - _class: Expressir::Model::Literals::Logical
2318
2387
  value: :TRUE
2319
- - _class: Expressir::Model::Variable
2388
+ - _class: Expressir::Model::Declarations::Variable
2320
2389
  id: blength_expression
2321
2390
  type:
2322
- _class: Expressir::Model::Types::Boolean
2391
+ _class: Expressir::Model::DataTypes::Boolean
2323
2392
  expression:
2324
- _class: Expressir::Model::Expressions::Call
2325
- ref:
2326
- _class: Expressir::Model::Expressions::SimpleReference
2393
+ _class: Expressir::Model::Expressions::FunctionCall
2394
+ function:
2395
+ _class: Expressir::Model::References::SimpleReference
2327
2396
  id: BLENGTH
2328
2397
  parameters:
2329
2398
  - _class: Expressir::Model::Literals::Logical
2330
2399
  value: :TRUE
2331
- - _class: Expressir::Model::Variable
2400
+ - _class: Expressir::Model::Declarations::Variable
2332
2401
  id: cos_expression
2333
2402
  type:
2334
- _class: Expressir::Model::Types::Boolean
2403
+ _class: Expressir::Model::DataTypes::Boolean
2335
2404
  expression:
2336
- _class: Expressir::Model::Expressions::Call
2337
- ref:
2338
- _class: Expressir::Model::Expressions::SimpleReference
2405
+ _class: Expressir::Model::Expressions::FunctionCall
2406
+ function:
2407
+ _class: Expressir::Model::References::SimpleReference
2339
2408
  id: COS
2340
2409
  parameters:
2341
2410
  - _class: Expressir::Model::Literals::Logical
2342
2411
  value: :TRUE
2343
- - _class: Expressir::Model::Variable
2412
+ - _class: Expressir::Model::Declarations::Variable
2344
2413
  id: exists_expression
2345
2414
  type:
2346
- _class: Expressir::Model::Types::Boolean
2415
+ _class: Expressir::Model::DataTypes::Boolean
2347
2416
  expression:
2348
- _class: Expressir::Model::Expressions::Call
2349
- ref:
2350
- _class: Expressir::Model::Expressions::SimpleReference
2417
+ _class: Expressir::Model::Expressions::FunctionCall
2418
+ function:
2419
+ _class: Expressir::Model::References::SimpleReference
2351
2420
  id: EXISTS
2352
2421
  parameters:
2353
2422
  - _class: Expressir::Model::Literals::Logical
2354
2423
  value: :TRUE
2355
- - _class: Expressir::Model::Variable
2424
+ - _class: Expressir::Model::Declarations::Variable
2356
2425
  id: exp_expression
2357
2426
  type:
2358
- _class: Expressir::Model::Types::Boolean
2427
+ _class: Expressir::Model::DataTypes::Boolean
2359
2428
  expression:
2360
- _class: Expressir::Model::Expressions::Call
2361
- ref:
2362
- _class: Expressir::Model::Expressions::SimpleReference
2429
+ _class: Expressir::Model::Expressions::FunctionCall
2430
+ function:
2431
+ _class: Expressir::Model::References::SimpleReference
2363
2432
  id: EXP
2364
2433
  parameters:
2365
2434
  - _class: Expressir::Model::Literals::Logical
2366
2435
  value: :TRUE
2367
- - _class: Expressir::Model::Variable
2436
+ - _class: Expressir::Model::Declarations::Variable
2368
2437
  id: format_expression
2369
2438
  type:
2370
- _class: Expressir::Model::Types::Boolean
2439
+ _class: Expressir::Model::DataTypes::Boolean
2371
2440
  expression:
2372
- _class: Expressir::Model::Expressions::Call
2373
- ref:
2374
- _class: Expressir::Model::Expressions::SimpleReference
2441
+ _class: Expressir::Model::Expressions::FunctionCall
2442
+ function:
2443
+ _class: Expressir::Model::References::SimpleReference
2375
2444
  id: FORMAT
2376
2445
  parameters:
2377
2446
  - _class: Expressir::Model::Literals::Logical
2378
2447
  value: :TRUE
2379
- - _class: Expressir::Model::Variable
2448
+ - _class: Expressir::Model::Declarations::Variable
2380
2449
  id: hibound_expression
2381
2450
  type:
2382
- _class: Expressir::Model::Types::Boolean
2451
+ _class: Expressir::Model::DataTypes::Boolean
2383
2452
  expression:
2384
- _class: Expressir::Model::Expressions::Call
2385
- ref:
2386
- _class: Expressir::Model::Expressions::SimpleReference
2453
+ _class: Expressir::Model::Expressions::FunctionCall
2454
+ function:
2455
+ _class: Expressir::Model::References::SimpleReference
2387
2456
  id: HIBOUND
2388
2457
  parameters:
2389
2458
  - _class: Expressir::Model::Literals::Logical
2390
2459
  value: :TRUE
2391
- - _class: Expressir::Model::Variable
2460
+ - _class: Expressir::Model::Declarations::Variable
2392
2461
  id: hiindex_expression
2393
2462
  type:
2394
- _class: Expressir::Model::Types::Boolean
2463
+ _class: Expressir::Model::DataTypes::Boolean
2395
2464
  expression:
2396
- _class: Expressir::Model::Expressions::Call
2397
- ref:
2398
- _class: Expressir::Model::Expressions::SimpleReference
2465
+ _class: Expressir::Model::Expressions::FunctionCall
2466
+ function:
2467
+ _class: Expressir::Model::References::SimpleReference
2399
2468
  id: HIINDEX
2400
2469
  parameters:
2401
2470
  - _class: Expressir::Model::Literals::Logical
2402
2471
  value: :TRUE
2403
- - _class: Expressir::Model::Variable
2472
+ - _class: Expressir::Model::Declarations::Variable
2404
2473
  id: length_expression
2405
2474
  type:
2406
- _class: Expressir::Model::Types::Boolean
2475
+ _class: Expressir::Model::DataTypes::Boolean
2407
2476
  expression:
2408
- _class: Expressir::Model::Expressions::Call
2409
- ref:
2410
- _class: Expressir::Model::Expressions::SimpleReference
2477
+ _class: Expressir::Model::Expressions::FunctionCall
2478
+ function:
2479
+ _class: Expressir::Model::References::SimpleReference
2411
2480
  id: LENGTH
2412
2481
  parameters:
2413
2482
  - _class: Expressir::Model::Literals::Logical
2414
2483
  value: :TRUE
2415
- - _class: Expressir::Model::Variable
2484
+ - _class: Expressir::Model::Declarations::Variable
2416
2485
  id: lobound_expression
2417
2486
  type:
2418
- _class: Expressir::Model::Types::Boolean
2487
+ _class: Expressir::Model::DataTypes::Boolean
2419
2488
  expression:
2420
- _class: Expressir::Model::Expressions::Call
2421
- ref:
2422
- _class: Expressir::Model::Expressions::SimpleReference
2489
+ _class: Expressir::Model::Expressions::FunctionCall
2490
+ function:
2491
+ _class: Expressir::Model::References::SimpleReference
2423
2492
  id: LOBOUND
2424
2493
  parameters:
2425
2494
  - _class: Expressir::Model::Literals::Logical
2426
2495
  value: :TRUE
2427
- - _class: Expressir::Model::Variable
2496
+ - _class: Expressir::Model::Declarations::Variable
2428
2497
  id: loindex_expression
2429
2498
  type:
2430
- _class: Expressir::Model::Types::Boolean
2499
+ _class: Expressir::Model::DataTypes::Boolean
2431
2500
  expression:
2432
- _class: Expressir::Model::Expressions::Call
2433
- ref:
2434
- _class: Expressir::Model::Expressions::SimpleReference
2501
+ _class: Expressir::Model::Expressions::FunctionCall
2502
+ function:
2503
+ _class: Expressir::Model::References::SimpleReference
2435
2504
  id: LOINDEX
2436
2505
  parameters:
2437
2506
  - _class: Expressir::Model::Literals::Logical
2438
2507
  value: :TRUE
2439
- - _class: Expressir::Model::Variable
2508
+ - _class: Expressir::Model::Declarations::Variable
2440
2509
  id: log_expression
2441
2510
  type:
2442
- _class: Expressir::Model::Types::Boolean
2511
+ _class: Expressir::Model::DataTypes::Boolean
2443
2512
  expression:
2444
- _class: Expressir::Model::Expressions::Call
2445
- ref:
2446
- _class: Expressir::Model::Expressions::SimpleReference
2513
+ _class: Expressir::Model::Expressions::FunctionCall
2514
+ function:
2515
+ _class: Expressir::Model::References::SimpleReference
2447
2516
  id: LOG
2448
2517
  parameters:
2449
2518
  - _class: Expressir::Model::Literals::Logical
2450
2519
  value: :TRUE
2451
- - _class: Expressir::Model::Variable
2520
+ - _class: Expressir::Model::Declarations::Variable
2452
2521
  id: log2_expression
2453
2522
  type:
2454
- _class: Expressir::Model::Types::Boolean
2523
+ _class: Expressir::Model::DataTypes::Boolean
2455
2524
  expression:
2456
- _class: Expressir::Model::Expressions::Call
2457
- ref:
2458
- _class: Expressir::Model::Expressions::SimpleReference
2525
+ _class: Expressir::Model::Expressions::FunctionCall
2526
+ function:
2527
+ _class: Expressir::Model::References::SimpleReference
2459
2528
  id: LOG2
2460
2529
  parameters:
2461
2530
  - _class: Expressir::Model::Literals::Logical
2462
2531
  value: :TRUE
2463
- - _class: Expressir::Model::Variable
2532
+ - _class: Expressir::Model::Declarations::Variable
2464
2533
  id: log10_expression
2465
2534
  type:
2466
- _class: Expressir::Model::Types::Boolean
2535
+ _class: Expressir::Model::DataTypes::Boolean
2467
2536
  expression:
2468
- _class: Expressir::Model::Expressions::Call
2469
- ref:
2470
- _class: Expressir::Model::Expressions::SimpleReference
2537
+ _class: Expressir::Model::Expressions::FunctionCall
2538
+ function:
2539
+ _class: Expressir::Model::References::SimpleReference
2471
2540
  id: LOG10
2472
2541
  parameters:
2473
2542
  - _class: Expressir::Model::Literals::Logical
2474
2543
  value: :TRUE
2475
- - _class: Expressir::Model::Variable
2544
+ - _class: Expressir::Model::Declarations::Variable
2476
2545
  id: nvl_expression
2477
2546
  type:
2478
- _class: Expressir::Model::Types::Boolean
2547
+ _class: Expressir::Model::DataTypes::Boolean
2479
2548
  expression:
2480
- _class: Expressir::Model::Expressions::Call
2481
- ref:
2482
- _class: Expressir::Model::Expressions::SimpleReference
2549
+ _class: Expressir::Model::Expressions::FunctionCall
2550
+ function:
2551
+ _class: Expressir::Model::References::SimpleReference
2483
2552
  id: NVL
2484
2553
  parameters:
2485
2554
  - _class: Expressir::Model::Literals::Logical
2486
2555
  value: :TRUE
2487
- - _class: Expressir::Model::Variable
2556
+ - _class: Expressir::Model::Declarations::Variable
2488
2557
  id: odd_expression
2489
2558
  type:
2490
- _class: Expressir::Model::Types::Boolean
2559
+ _class: Expressir::Model::DataTypes::Boolean
2491
2560
  expression:
2492
- _class: Expressir::Model::Expressions::Call
2493
- ref:
2494
- _class: Expressir::Model::Expressions::SimpleReference
2561
+ _class: Expressir::Model::Expressions::FunctionCall
2562
+ function:
2563
+ _class: Expressir::Model::References::SimpleReference
2495
2564
  id: ODD
2496
2565
  parameters:
2497
2566
  - _class: Expressir::Model::Literals::Logical
2498
2567
  value: :TRUE
2499
- - _class: Expressir::Model::Variable
2568
+ - _class: Expressir::Model::Declarations::Variable
2500
2569
  id: rolesof_expression
2501
2570
  type:
2502
- _class: Expressir::Model::Types::Boolean
2571
+ _class: Expressir::Model::DataTypes::Boolean
2503
2572
  expression:
2504
- _class: Expressir::Model::Expressions::Call
2505
- ref:
2506
- _class: Expressir::Model::Expressions::SimpleReference
2573
+ _class: Expressir::Model::Expressions::FunctionCall
2574
+ function:
2575
+ _class: Expressir::Model::References::SimpleReference
2507
2576
  id: ROLESOF
2508
2577
  parameters:
2509
2578
  - _class: Expressir::Model::Literals::Logical
2510
2579
  value: :TRUE
2511
- - _class: Expressir::Model::Variable
2580
+ - _class: Expressir::Model::Declarations::Variable
2512
2581
  id: sin_expression
2513
2582
  type:
2514
- _class: Expressir::Model::Types::Boolean
2583
+ _class: Expressir::Model::DataTypes::Boolean
2515
2584
  expression:
2516
- _class: Expressir::Model::Expressions::Call
2517
- ref:
2518
- _class: Expressir::Model::Expressions::SimpleReference
2585
+ _class: Expressir::Model::Expressions::FunctionCall
2586
+ function:
2587
+ _class: Expressir::Model::References::SimpleReference
2519
2588
  id: SIN
2520
2589
  parameters:
2521
2590
  - _class: Expressir::Model::Literals::Logical
2522
2591
  value: :TRUE
2523
- - _class: Expressir::Model::Variable
2592
+ - _class: Expressir::Model::Declarations::Variable
2524
2593
  id: sizeof_expression
2525
2594
  type:
2526
- _class: Expressir::Model::Types::Boolean
2595
+ _class: Expressir::Model::DataTypes::Boolean
2527
2596
  expression:
2528
- _class: Expressir::Model::Expressions::Call
2529
- ref:
2530
- _class: Expressir::Model::Expressions::SimpleReference
2597
+ _class: Expressir::Model::Expressions::FunctionCall
2598
+ function:
2599
+ _class: Expressir::Model::References::SimpleReference
2531
2600
  id: SIZEOF
2532
2601
  parameters:
2533
2602
  - _class: Expressir::Model::Literals::Logical
2534
2603
  value: :TRUE
2535
- - _class: Expressir::Model::Variable
2604
+ - _class: Expressir::Model::Declarations::Variable
2536
2605
  id: sqrt_expression
2537
2606
  type:
2538
- _class: Expressir::Model::Types::Boolean
2607
+ _class: Expressir::Model::DataTypes::Boolean
2539
2608
  expression:
2540
- _class: Expressir::Model::Expressions::Call
2541
- ref:
2542
- _class: Expressir::Model::Expressions::SimpleReference
2609
+ _class: Expressir::Model::Expressions::FunctionCall
2610
+ function:
2611
+ _class: Expressir::Model::References::SimpleReference
2543
2612
  id: SQRT
2544
2613
  parameters:
2545
2614
  - _class: Expressir::Model::Literals::Logical
2546
2615
  value: :TRUE
2547
- - _class: Expressir::Model::Variable
2616
+ - _class: Expressir::Model::Declarations::Variable
2548
2617
  id: tan_expression
2549
2618
  type:
2550
- _class: Expressir::Model::Types::Boolean
2619
+ _class: Expressir::Model::DataTypes::Boolean
2551
2620
  expression:
2552
- _class: Expressir::Model::Expressions::Call
2553
- ref:
2554
- _class: Expressir::Model::Expressions::SimpleReference
2621
+ _class: Expressir::Model::Expressions::FunctionCall
2622
+ function:
2623
+ _class: Expressir::Model::References::SimpleReference
2555
2624
  id: TAN
2556
2625
  parameters:
2557
2626
  - _class: Expressir::Model::Literals::Logical
2558
2627
  value: :TRUE
2559
- - _class: Expressir::Model::Variable
2628
+ - _class: Expressir::Model::Declarations::Variable
2560
2629
  id: typeof_expression
2561
2630
  type:
2562
- _class: Expressir::Model::Types::Boolean
2631
+ _class: Expressir::Model::DataTypes::Boolean
2563
2632
  expression:
2564
- _class: Expressir::Model::Expressions::Call
2565
- ref:
2566
- _class: Expressir::Model::Expressions::SimpleReference
2633
+ _class: Expressir::Model::Expressions::FunctionCall
2634
+ function:
2635
+ _class: Expressir::Model::References::SimpleReference
2567
2636
  id: TYPEOF
2568
2637
  parameters:
2569
2638
  - _class: Expressir::Model::Literals::Logical
2570
2639
  value: :TRUE
2571
- - _class: Expressir::Model::Variable
2640
+ - _class: Expressir::Model::Declarations::Variable
2572
2641
  id: usedin_expression
2573
2642
  type:
2574
- _class: Expressir::Model::Types::Boolean
2643
+ _class: Expressir::Model::DataTypes::Boolean
2575
2644
  expression:
2576
- _class: Expressir::Model::Expressions::Call
2577
- ref:
2578
- _class: Expressir::Model::Expressions::SimpleReference
2645
+ _class: Expressir::Model::Expressions::FunctionCall
2646
+ function:
2647
+ _class: Expressir::Model::References::SimpleReference
2579
2648
  id: USEDIN
2580
2649
  parameters:
2581
2650
  - _class: Expressir::Model::Literals::Logical
2582
2651
  value: :TRUE
2583
- - _class: Expressir::Model::Variable
2652
+ - _class: Expressir::Model::Declarations::Variable
2584
2653
  id: value_expression
2585
2654
  type:
2586
- _class: Expressir::Model::Types::Boolean
2655
+ _class: Expressir::Model::DataTypes::Boolean
2587
2656
  expression:
2588
- _class: Expressir::Model::Expressions::Call
2589
- ref:
2590
- _class: Expressir::Model::Expressions::SimpleReference
2657
+ _class: Expressir::Model::Expressions::FunctionCall
2658
+ function:
2659
+ _class: Expressir::Model::References::SimpleReference
2591
2660
  id: VALUE
2592
2661
  parameters:
2593
2662
  - _class: Expressir::Model::Literals::Logical
2594
2663
  value: :TRUE
2595
- - _class: Expressir::Model::Variable
2664
+ - _class: Expressir::Model::Declarations::Variable
2596
2665
  id: value_in_expression
2597
2666
  type:
2598
- _class: Expressir::Model::Types::Boolean
2667
+ _class: Expressir::Model::DataTypes::Boolean
2599
2668
  expression:
2600
- _class: Expressir::Model::Expressions::Call
2601
- ref:
2602
- _class: Expressir::Model::Expressions::SimpleReference
2669
+ _class: Expressir::Model::Expressions::FunctionCall
2670
+ function:
2671
+ _class: Expressir::Model::References::SimpleReference
2603
2672
  id: VALUE_IN
2604
2673
  parameters:
2605
2674
  - _class: Expressir::Model::Literals::Logical
2606
2675
  value: :TRUE
2607
- - _class: Expressir::Model::Variable
2676
+ - _class: Expressir::Model::Declarations::Variable
2608
2677
  id: value_unique_expression
2609
2678
  type:
2610
- _class: Expressir::Model::Types::Boolean
2679
+ _class: Expressir::Model::DataTypes::Boolean
2611
2680
  expression:
2612
- _class: Expressir::Model::Expressions::Call
2613
- ref:
2614
- _class: Expressir::Model::Expressions::SimpleReference
2681
+ _class: Expressir::Model::Expressions::FunctionCall
2682
+ function:
2683
+ _class: Expressir::Model::References::SimpleReference
2615
2684
  id: VALUE_UNIQUE
2616
2685
  parameters:
2617
2686
  - _class: Expressir::Model::Literals::Logical
2618
2687
  value: :TRUE
2619
- - _class: Expressir::Model::Variable
2688
+ - _class: Expressir::Model::Declarations::Variable
2620
2689
  id: plus_expression
2621
2690
  type:
2622
- _class: Expressir::Model::Types::Boolean
2691
+ _class: Expressir::Model::DataTypes::Boolean
2623
2692
  expression:
2624
2693
  _class: Expressir::Model::Expressions::UnaryExpression
2625
2694
  operator: :PLUS
2626
2695
  operand:
2627
2696
  _class: Expressir::Model::Literals::Integer
2628
2697
  value: '4'
2629
- - _class: Expressir::Model::Variable
2698
+ - _class: Expressir::Model::Declarations::Variable
2630
2699
  id: plus_addition_expression
2631
2700
  type:
2632
- _class: Expressir::Model::Types::Boolean
2701
+ _class: Expressir::Model::DataTypes::Boolean
2633
2702
  expression:
2634
2703
  _class: Expressir::Model::Expressions::UnaryExpression
2635
2704
  operator: :PLUS
@@ -2642,20 +2711,20 @@ schemas:
2642
2711
  operand2:
2643
2712
  _class: Expressir::Model::Literals::Integer
2644
2713
  value: '2'
2645
- - _class: Expressir::Model::Variable
2714
+ - _class: Expressir::Model::Declarations::Variable
2646
2715
  id: minus_expression
2647
2716
  type:
2648
- _class: Expressir::Model::Types::Boolean
2717
+ _class: Expressir::Model::DataTypes::Boolean
2649
2718
  expression:
2650
2719
  _class: Expressir::Model::Expressions::UnaryExpression
2651
2720
  operator: :MINUS
2652
2721
  operand:
2653
2722
  _class: Expressir::Model::Literals::Integer
2654
2723
  value: '4'
2655
- - _class: Expressir::Model::Variable
2724
+ - _class: Expressir::Model::Declarations::Variable
2656
2725
  id: minus_addition_expression
2657
2726
  type:
2658
- _class: Expressir::Model::Types::Boolean
2727
+ _class: Expressir::Model::DataTypes::Boolean
2659
2728
  expression:
2660
2729
  _class: Expressir::Model::Expressions::UnaryExpression
2661
2730
  operator: :MINUS
@@ -2668,10 +2737,10 @@ schemas:
2668
2737
  operand2:
2669
2738
  _class: Expressir::Model::Literals::Integer
2670
2739
  value: '2'
2671
- - _class: Expressir::Model::Variable
2740
+ - _class: Expressir::Model::Declarations::Variable
2672
2741
  id: addition_expression
2673
2742
  type:
2674
- _class: Expressir::Model::Types::Boolean
2743
+ _class: Expressir::Model::DataTypes::Boolean
2675
2744
  expression:
2676
2745
  _class: Expressir::Model::Expressions::BinaryExpression
2677
2746
  operator: :ADDITION
@@ -2681,10 +2750,10 @@ schemas:
2681
2750
  operand2:
2682
2751
  _class: Expressir::Model::Literals::Integer
2683
2752
  value: '2'
2684
- - _class: Expressir::Model::Variable
2753
+ - _class: Expressir::Model::Declarations::Variable
2685
2754
  id: subtraction_expression
2686
2755
  type:
2687
- _class: Expressir::Model::Types::Boolean
2756
+ _class: Expressir::Model::DataTypes::Boolean
2688
2757
  expression:
2689
2758
  _class: Expressir::Model::Expressions::BinaryExpression
2690
2759
  operator: :SUBTRACTION
@@ -2694,10 +2763,10 @@ schemas:
2694
2763
  operand2:
2695
2764
  _class: Expressir::Model::Literals::Integer
2696
2765
  value: '2'
2697
- - _class: Expressir::Model::Variable
2766
+ - _class: Expressir::Model::Declarations::Variable
2698
2767
  id: multiplication_expression
2699
2768
  type:
2700
- _class: Expressir::Model::Types::Boolean
2769
+ _class: Expressir::Model::DataTypes::Boolean
2701
2770
  expression:
2702
2771
  _class: Expressir::Model::Expressions::BinaryExpression
2703
2772
  operator: :MULTIPLICATION
@@ -2707,10 +2776,10 @@ schemas:
2707
2776
  operand2:
2708
2777
  _class: Expressir::Model::Literals::Integer
2709
2778
  value: '2'
2710
- - _class: Expressir::Model::Variable
2779
+ - _class: Expressir::Model::Declarations::Variable
2711
2780
  id: real_division_expression
2712
2781
  type:
2713
- _class: Expressir::Model::Types::Boolean
2782
+ _class: Expressir::Model::DataTypes::Boolean
2714
2783
  expression:
2715
2784
  _class: Expressir::Model::Expressions::BinaryExpression
2716
2785
  operator: :REAL_DIVISION
@@ -2720,10 +2789,10 @@ schemas:
2720
2789
  operand2:
2721
2790
  _class: Expressir::Model::Literals::Integer
2722
2791
  value: '2'
2723
- - _class: Expressir::Model::Variable
2792
+ - _class: Expressir::Model::Declarations::Variable
2724
2793
  id: integer_division_expression
2725
2794
  type:
2726
- _class: Expressir::Model::Types::Boolean
2795
+ _class: Expressir::Model::DataTypes::Boolean
2727
2796
  expression:
2728
2797
  _class: Expressir::Model::Expressions::BinaryExpression
2729
2798
  operator: :INTEGER_DIVISION
@@ -2733,10 +2802,10 @@ schemas:
2733
2802
  operand2:
2734
2803
  _class: Expressir::Model::Literals::Integer
2735
2804
  value: '2'
2736
- - _class: Expressir::Model::Variable
2805
+ - _class: Expressir::Model::Declarations::Variable
2737
2806
  id: modulo_expression
2738
2807
  type:
2739
- _class: Expressir::Model::Types::Boolean
2808
+ _class: Expressir::Model::DataTypes::Boolean
2740
2809
  expression:
2741
2810
  _class: Expressir::Model::Expressions::BinaryExpression
2742
2811
  operator: :MODULO
@@ -2746,10 +2815,10 @@ schemas:
2746
2815
  operand2:
2747
2816
  _class: Expressir::Model::Literals::Integer
2748
2817
  value: '2'
2749
- - _class: Expressir::Model::Variable
2818
+ - _class: Expressir::Model::Declarations::Variable
2750
2819
  id: exponentiation_expression
2751
2820
  type:
2752
- _class: Expressir::Model::Types::Boolean
2821
+ _class: Expressir::Model::DataTypes::Boolean
2753
2822
  expression:
2754
2823
  _class: Expressir::Model::Expressions::BinaryExpression
2755
2824
  operator: :EXPONENTIATION
@@ -2759,10 +2828,10 @@ schemas:
2759
2828
  operand2:
2760
2829
  _class: Expressir::Model::Literals::Integer
2761
2830
  value: '2'
2762
- - _class: Expressir::Model::Variable
2831
+ - _class: Expressir::Model::Declarations::Variable
2763
2832
  id: addition_addition_expression
2764
2833
  type:
2765
- _class: Expressir::Model::Types::Boolean
2834
+ _class: Expressir::Model::DataTypes::Boolean
2766
2835
  expression:
2767
2836
  _class: Expressir::Model::Expressions::BinaryExpression
2768
2837
  operator: :ADDITION
@@ -2778,10 +2847,10 @@ schemas:
2778
2847
  operand2:
2779
2848
  _class: Expressir::Model::Literals::Integer
2780
2849
  value: '1'
2781
- - _class: Expressir::Model::Variable
2850
+ - _class: Expressir::Model::Declarations::Variable
2782
2851
  id: subtraction_subtraction_expression
2783
2852
  type:
2784
- _class: Expressir::Model::Types::Boolean
2853
+ _class: Expressir::Model::DataTypes::Boolean
2785
2854
  expression:
2786
2855
  _class: Expressir::Model::Expressions::BinaryExpression
2787
2856
  operator: :SUBTRACTION
@@ -2797,10 +2866,10 @@ schemas:
2797
2866
  operand2:
2798
2867
  _class: Expressir::Model::Literals::Integer
2799
2868
  value: '1'
2800
- - _class: Expressir::Model::Variable
2869
+ - _class: Expressir::Model::Declarations::Variable
2801
2870
  id: addition_subtraction_expression
2802
2871
  type:
2803
- _class: Expressir::Model::Types::Boolean
2872
+ _class: Expressir::Model::DataTypes::Boolean
2804
2873
  expression:
2805
2874
  _class: Expressir::Model::Expressions::BinaryExpression
2806
2875
  operator: :SUBTRACTION
@@ -2816,10 +2885,10 @@ schemas:
2816
2885
  operand2:
2817
2886
  _class: Expressir::Model::Literals::Integer
2818
2887
  value: '1'
2819
- - _class: Expressir::Model::Variable
2888
+ - _class: Expressir::Model::Declarations::Variable
2820
2889
  id: subtraction_addition_expression
2821
2890
  type:
2822
- _class: Expressir::Model::Types::Boolean
2891
+ _class: Expressir::Model::DataTypes::Boolean
2823
2892
  expression:
2824
2893
  _class: Expressir::Model::Expressions::BinaryExpression
2825
2894
  operator: :ADDITION
@@ -2835,10 +2904,10 @@ schemas:
2835
2904
  operand2:
2836
2905
  _class: Expressir::Model::Literals::Integer
2837
2906
  value: '1'
2838
- - _class: Expressir::Model::Variable
2907
+ - _class: Expressir::Model::Declarations::Variable
2839
2908
  id: addition_multiplication_expression
2840
2909
  type:
2841
- _class: Expressir::Model::Types::Boolean
2910
+ _class: Expressir::Model::DataTypes::Boolean
2842
2911
  expression:
2843
2912
  _class: Expressir::Model::Expressions::BinaryExpression
2844
2913
  operator: :ADDITION
@@ -2854,10 +2923,10 @@ schemas:
2854
2923
  operand2:
2855
2924
  _class: Expressir::Model::Literals::Integer
2856
2925
  value: '2'
2857
- - _class: Expressir::Model::Variable
2926
+ - _class: Expressir::Model::Declarations::Variable
2858
2927
  id: multiplication_addition_expression
2859
2928
  type:
2860
- _class: Expressir::Model::Types::Boolean
2929
+ _class: Expressir::Model::DataTypes::Boolean
2861
2930
  expression:
2862
2931
  _class: Expressir::Model::Expressions::BinaryExpression
2863
2932
  operator: :ADDITION
@@ -2873,10 +2942,10 @@ schemas:
2873
2942
  operand2:
2874
2943
  _class: Expressir::Model::Literals::Integer
2875
2944
  value: '2'
2876
- - _class: Expressir::Model::Variable
2945
+ - _class: Expressir::Model::Declarations::Variable
2877
2946
  id: parenthesis_addition_multiplication_expression
2878
2947
  type:
2879
- _class: Expressir::Model::Types::Boolean
2948
+ _class: Expressir::Model::DataTypes::Boolean
2880
2949
  expression:
2881
2950
  _class: Expressir::Model::Expressions::BinaryExpression
2882
2951
  operator: :MULTIPLICATION
@@ -2892,10 +2961,10 @@ schemas:
2892
2961
  operand2:
2893
2962
  _class: Expressir::Model::Literals::Integer
2894
2963
  value: '2'
2895
- - _class: Expressir::Model::Variable
2964
+ - _class: Expressir::Model::Declarations::Variable
2896
2965
  id: multiplication_parenthesis_addition_expression
2897
2966
  type:
2898
- _class: Expressir::Model::Types::Boolean
2967
+ _class: Expressir::Model::DataTypes::Boolean
2899
2968
  expression:
2900
2969
  _class: Expressir::Model::Expressions::BinaryExpression
2901
2970
  operator: :MULTIPLICATION
@@ -2911,10 +2980,10 @@ schemas:
2911
2980
  operand2:
2912
2981
  _class: Expressir::Model::Literals::Integer
2913
2982
  value: '2'
2914
- - _class: Expressir::Model::Variable
2983
+ - _class: Expressir::Model::Declarations::Variable
2915
2984
  id: equal_expression
2916
2985
  type:
2917
- _class: Expressir::Model::Types::Boolean
2986
+ _class: Expressir::Model::DataTypes::Boolean
2918
2987
  expression:
2919
2988
  _class: Expressir::Model::Expressions::BinaryExpression
2920
2989
  operator: :EQUAL
@@ -2924,10 +2993,10 @@ schemas:
2924
2993
  operand2:
2925
2994
  _class: Expressir::Model::Literals::Integer
2926
2995
  value: '2'
2927
- - _class: Expressir::Model::Variable
2996
+ - _class: Expressir::Model::Declarations::Variable
2928
2997
  id: not_equal_expression
2929
2998
  type:
2930
- _class: Expressir::Model::Types::Boolean
2999
+ _class: Expressir::Model::DataTypes::Boolean
2931
3000
  expression:
2932
3001
  _class: Expressir::Model::Expressions::BinaryExpression
2933
3002
  operator: :NOT_EQUAL
@@ -2937,10 +3006,10 @@ schemas:
2937
3006
  operand2:
2938
3007
  _class: Expressir::Model::Literals::Integer
2939
3008
  value: '2'
2940
- - _class: Expressir::Model::Variable
3009
+ - _class: Expressir::Model::Declarations::Variable
2941
3010
  id: instance_equal_expression
2942
3011
  type:
2943
- _class: Expressir::Model::Types::Boolean
3012
+ _class: Expressir::Model::DataTypes::Boolean
2944
3013
  expression:
2945
3014
  _class: Expressir::Model::Expressions::BinaryExpression
2946
3015
  operator: :INSTANCE_EQUAL
@@ -2950,10 +3019,10 @@ schemas:
2950
3019
  operand2:
2951
3020
  _class: Expressir::Model::Literals::Integer
2952
3021
  value: '2'
2953
- - _class: Expressir::Model::Variable
3022
+ - _class: Expressir::Model::Declarations::Variable
2954
3023
  id: instance_not_equal_expression
2955
3024
  type:
2956
- _class: Expressir::Model::Types::Boolean
3025
+ _class: Expressir::Model::DataTypes::Boolean
2957
3026
  expression:
2958
3027
  _class: Expressir::Model::Expressions::BinaryExpression
2959
3028
  operator: :INSTANCE_NOT_EQUAL
@@ -2963,10 +3032,10 @@ schemas:
2963
3032
  operand2:
2964
3033
  _class: Expressir::Model::Literals::Integer
2965
3034
  value: '2'
2966
- - _class: Expressir::Model::Variable
3035
+ - _class: Expressir::Model::Declarations::Variable
2967
3036
  id: lt_expression
2968
3037
  type:
2969
- _class: Expressir::Model::Types::Boolean
3038
+ _class: Expressir::Model::DataTypes::Boolean
2970
3039
  expression:
2971
3040
  _class: Expressir::Model::Expressions::BinaryExpression
2972
3041
  operator: :LESS_THAN
@@ -2976,10 +3045,10 @@ schemas:
2976
3045
  operand2:
2977
3046
  _class: Expressir::Model::Literals::Integer
2978
3047
  value: '2'
2979
- - _class: Expressir::Model::Variable
3048
+ - _class: Expressir::Model::Declarations::Variable
2980
3049
  id: gt_expression
2981
3050
  type:
2982
- _class: Expressir::Model::Types::Boolean
3051
+ _class: Expressir::Model::DataTypes::Boolean
2983
3052
  expression:
2984
3053
  _class: Expressir::Model::Expressions::BinaryExpression
2985
3054
  operator: :GREATER_THAN
@@ -2989,10 +3058,10 @@ schemas:
2989
3058
  operand2:
2990
3059
  _class: Expressir::Model::Literals::Integer
2991
3060
  value: '2'
2992
- - _class: Expressir::Model::Variable
3061
+ - _class: Expressir::Model::Declarations::Variable
2993
3062
  id: lte_expression
2994
3063
  type:
2995
- _class: Expressir::Model::Types::Boolean
3064
+ _class: Expressir::Model::DataTypes::Boolean
2996
3065
  expression:
2997
3066
  _class: Expressir::Model::Expressions::BinaryExpression
2998
3067
  operator: :LESS_THAN_OR_EQUAL
@@ -3002,10 +3071,10 @@ schemas:
3002
3071
  operand2:
3003
3072
  _class: Expressir::Model::Literals::Integer
3004
3073
  value: '2'
3005
- - _class: Expressir::Model::Variable
3074
+ - _class: Expressir::Model::Declarations::Variable
3006
3075
  id: gte_expression
3007
3076
  type:
3008
- _class: Expressir::Model::Types::Boolean
3077
+ _class: Expressir::Model::DataTypes::Boolean
3009
3078
  expression:
3010
3079
  _class: Expressir::Model::Expressions::BinaryExpression
3011
3080
  operator: :GREATER_THAN_OR_EQUAL
@@ -3015,20 +3084,20 @@ schemas:
3015
3084
  operand2:
3016
3085
  _class: Expressir::Model::Literals::Integer
3017
3086
  value: '2'
3018
- - _class: Expressir::Model::Variable
3087
+ - _class: Expressir::Model::Declarations::Variable
3019
3088
  id: not_expression
3020
3089
  type:
3021
- _class: Expressir::Model::Types::Boolean
3090
+ _class: Expressir::Model::DataTypes::Boolean
3022
3091
  expression:
3023
3092
  _class: Expressir::Model::Expressions::UnaryExpression
3024
3093
  operator: :NOT
3025
3094
  operand:
3026
3095
  _class: Expressir::Model::Literals::Logical
3027
3096
  value: :TRUE
3028
- - _class: Expressir::Model::Variable
3097
+ - _class: Expressir::Model::Declarations::Variable
3029
3098
  id: not_or_expression
3030
3099
  type:
3031
- _class: Expressir::Model::Types::Boolean
3100
+ _class: Expressir::Model::DataTypes::Boolean
3032
3101
  expression:
3033
3102
  _class: Expressir::Model::Expressions::UnaryExpression
3034
3103
  operator: :NOT
@@ -3041,10 +3110,10 @@ schemas:
3041
3110
  operand2:
3042
3111
  _class: Expressir::Model::Literals::Logical
3043
3112
  value: :FALSE
3044
- - _class: Expressir::Model::Variable
3113
+ - _class: Expressir::Model::Declarations::Variable
3045
3114
  id: or_expression
3046
3115
  type:
3047
- _class: Expressir::Model::Types::Boolean
3116
+ _class: Expressir::Model::DataTypes::Boolean
3048
3117
  expression:
3049
3118
  _class: Expressir::Model::Expressions::BinaryExpression
3050
3119
  operator: :OR
@@ -3054,10 +3123,10 @@ schemas:
3054
3123
  operand2:
3055
3124
  _class: Expressir::Model::Literals::Logical
3056
3125
  value: :FALSE
3057
- - _class: Expressir::Model::Variable
3126
+ - _class: Expressir::Model::Declarations::Variable
3058
3127
  id: and_expression
3059
3128
  type:
3060
- _class: Expressir::Model::Types::Boolean
3129
+ _class: Expressir::Model::DataTypes::Boolean
3061
3130
  expression:
3062
3131
  _class: Expressir::Model::Expressions::BinaryExpression
3063
3132
  operator: :AND
@@ -3067,10 +3136,10 @@ schemas:
3067
3136
  operand2:
3068
3137
  _class: Expressir::Model::Literals::Logical
3069
3138
  value: :FALSE
3070
- - _class: Expressir::Model::Variable
3139
+ - _class: Expressir::Model::Declarations::Variable
3071
3140
  id: or_or_expression
3072
3141
  type:
3073
- _class: Expressir::Model::Types::Boolean
3142
+ _class: Expressir::Model::DataTypes::Boolean
3074
3143
  expression:
3075
3144
  _class: Expressir::Model::Expressions::BinaryExpression
3076
3145
  operator: :OR
@@ -3086,10 +3155,10 @@ schemas:
3086
3155
  operand2:
3087
3156
  _class: Expressir::Model::Literals::Logical
3088
3157
  value: :TRUE
3089
- - _class: Expressir::Model::Variable
3158
+ - _class: Expressir::Model::Declarations::Variable
3090
3159
  id: and_and_expression
3091
3160
  type:
3092
- _class: Expressir::Model::Types::Boolean
3161
+ _class: Expressir::Model::DataTypes::Boolean
3093
3162
  expression:
3094
3163
  _class: Expressir::Model::Expressions::BinaryExpression
3095
3164
  operator: :AND
@@ -3105,10 +3174,10 @@ schemas:
3105
3174
  operand2:
3106
3175
  _class: Expressir::Model::Literals::Logical
3107
3176
  value: :TRUE
3108
- - _class: Expressir::Model::Variable
3177
+ - _class: Expressir::Model::Declarations::Variable
3109
3178
  id: or_and_expression
3110
3179
  type:
3111
- _class: Expressir::Model::Types::Boolean
3180
+ _class: Expressir::Model::DataTypes::Boolean
3112
3181
  expression:
3113
3182
  _class: Expressir::Model::Expressions::BinaryExpression
3114
3183
  operator: :OR
@@ -3124,10 +3193,10 @@ schemas:
3124
3193
  operand2:
3125
3194
  _class: Expressir::Model::Literals::Logical
3126
3195
  value: :TRUE
3127
- - _class: Expressir::Model::Variable
3196
+ - _class: Expressir::Model::Declarations::Variable
3128
3197
  id: and_or_expression
3129
3198
  type:
3130
- _class: Expressir::Model::Types::Boolean
3199
+ _class: Expressir::Model::DataTypes::Boolean
3131
3200
  expression:
3132
3201
  _class: Expressir::Model::Expressions::BinaryExpression
3133
3202
  operator: :OR
@@ -3143,10 +3212,10 @@ schemas:
3143
3212
  operand2:
3144
3213
  _class: Expressir::Model::Literals::Logical
3145
3214
  value: :TRUE
3146
- - _class: Expressir::Model::Variable
3215
+ - _class: Expressir::Model::Declarations::Variable
3147
3216
  id: parenthesis_or_and_expression
3148
3217
  type:
3149
- _class: Expressir::Model::Types::Boolean
3218
+ _class: Expressir::Model::DataTypes::Boolean
3150
3219
  expression:
3151
3220
  _class: Expressir::Model::Expressions::BinaryExpression
3152
3221
  operator: :AND
@@ -3162,10 +3231,10 @@ schemas:
3162
3231
  operand2:
3163
3232
  _class: Expressir::Model::Literals::Logical
3164
3233
  value: :TRUE
3165
- - _class: Expressir::Model::Variable
3234
+ - _class: Expressir::Model::Declarations::Variable
3166
3235
  id: and_parenthesis_or_expression
3167
3236
  type:
3168
- _class: Expressir::Model::Types::Boolean
3237
+ _class: Expressir::Model::DataTypes::Boolean
3169
3238
  expression:
3170
3239
  _class: Expressir::Model::Expressions::BinaryExpression
3171
3240
  operator: :AND
@@ -3181,23 +3250,23 @@ schemas:
3181
3250
  operand2:
3182
3251
  _class: Expressir::Model::Literals::Logical
3183
3252
  value: :TRUE
3184
- - _class: Expressir::Model::Variable
3253
+ - _class: Expressir::Model::Declarations::Variable
3185
3254
  id: combine_expression
3186
3255
  type:
3187
- _class: Expressir::Model::Types::Boolean
3256
+ _class: Expressir::Model::DataTypes::Boolean
3188
3257
  expression:
3189
3258
  _class: Expressir::Model::Expressions::BinaryExpression
3190
3259
  operator: :COMBINE
3191
3260
  operand1:
3192
- _class: Expressir::Model::Expressions::SimpleReference
3261
+ _class: Expressir::Model::References::SimpleReference
3193
3262
  id: test
3194
3263
  operand2:
3195
- _class: Expressir::Model::Expressions::SimpleReference
3264
+ _class: Expressir::Model::References::SimpleReference
3196
3265
  id: test2
3197
- - _class: Expressir::Model::Variable
3266
+ - _class: Expressir::Model::Declarations::Variable
3198
3267
  id: in_expression
3199
3268
  type:
3200
- _class: Expressir::Model::Types::Boolean
3269
+ _class: Expressir::Model::DataTypes::Boolean
3201
3270
  expression:
3202
3271
  _class: Expressir::Model::Expressions::BinaryExpression
3203
3272
  operator: :IN
@@ -3209,10 +3278,10 @@ schemas:
3209
3278
  items:
3210
3279
  - _class: Expressir::Model::Literals::Logical
3211
3280
  value: :TRUE
3212
- - _class: Expressir::Model::Variable
3281
+ - _class: Expressir::Model::Declarations::Variable
3213
3282
  id: like_expression
3214
3283
  type:
3215
- _class: Expressir::Model::Types::Boolean
3284
+ _class: Expressir::Model::DataTypes::Boolean
3216
3285
  expression:
3217
3286
  _class: Expressir::Model::Expressions::BinaryExpression
3218
3287
  operator: :LIKE
@@ -3222,33 +3291,33 @@ schemas:
3222
3291
  operand2:
3223
3292
  _class: Expressir::Model::Literals::String
3224
3293
  value: xxx
3225
- - _class: Expressir::Model::Variable
3294
+ - _class: Expressir::Model::Declarations::Variable
3226
3295
  id: aggregate_initializer_expression
3227
3296
  type:
3228
- _class: Expressir::Model::Types::Boolean
3297
+ _class: Expressir::Model::DataTypes::Boolean
3229
3298
  expression:
3230
3299
  _class: Expressir::Model::Expressions::AggregateInitializer
3231
3300
  items:
3232
3301
  - _class: Expressir::Model::Literals::Integer
3233
3302
  value: '4'
3234
- - _class: Expressir::Model::Variable
3303
+ - _class: Expressir::Model::Declarations::Variable
3235
3304
  id: repeated_aggregate_initializer_expression
3236
3305
  type:
3237
- _class: Expressir::Model::Types::Boolean
3306
+ _class: Expressir::Model::DataTypes::Boolean
3238
3307
  expression:
3239
3308
  _class: Expressir::Model::Expressions::AggregateInitializer
3240
3309
  items:
3241
- - _class: Expressir::Model::Expressions::AggregateItem
3310
+ - _class: Expressir::Model::Expressions::AggregateInitializerItem
3242
3311
  expression:
3243
3312
  _class: Expressir::Model::Literals::Integer
3244
3313
  value: '4'
3245
3314
  repetition:
3246
3315
  _class: Expressir::Model::Literals::Integer
3247
3316
  value: '2'
3248
- - _class: Expressir::Model::Variable
3317
+ - _class: Expressir::Model::Declarations::Variable
3249
3318
  id: complex_aggregate_initializer_expression
3250
3319
  type:
3251
- _class: Expressir::Model::Types::Boolean
3320
+ _class: Expressir::Model::DataTypes::Boolean
3252
3321
  expression:
3253
3322
  _class: Expressir::Model::Expressions::AggregateInitializer
3254
3323
  items:
@@ -3260,14 +3329,14 @@ schemas:
3260
3329
  operand2:
3261
3330
  _class: Expressir::Model::Literals::Integer
3262
3331
  value: '2'
3263
- - _class: Expressir::Model::Variable
3332
+ - _class: Expressir::Model::Declarations::Variable
3264
3333
  id: complex_repeated_aggregate_initializer_expression
3265
3334
  type:
3266
- _class: Expressir::Model::Types::Boolean
3335
+ _class: Expressir::Model::DataTypes::Boolean
3267
3336
  expression:
3268
3337
  _class: Expressir::Model::Expressions::AggregateInitializer
3269
3338
  items:
3270
- - _class: Expressir::Model::Expressions::AggregateItem
3339
+ - _class: Expressir::Model::Expressions::AggregateInitializerItem
3271
3340
  expression:
3272
3341
  _class: Expressir::Model::Expressions::BinaryExpression
3273
3342
  operator: :ADDITION
@@ -3286,57 +3355,58 @@ schemas:
3286
3355
  operand2:
3287
3356
  _class: Expressir::Model::Literals::Integer
3288
3357
  value: '2'
3289
- - _class: Expressir::Model::Variable
3358
+ - _class: Expressir::Model::Declarations::Variable
3290
3359
  id: call_expression
3291
3360
  type:
3292
- _class: Expressir::Model::Types::Boolean
3361
+ _class: Expressir::Model::DataTypes::Boolean
3293
3362
  expression:
3294
- _class: Expressir::Model::Expressions::Call
3295
- ref:
3296
- _class: Expressir::Model::Expressions::SimpleReference
3363
+ _class: Expressir::Model::Expressions::FunctionCall
3364
+ function:
3365
+ _class: Expressir::Model::References::SimpleReference
3297
3366
  id: parameter_function
3367
+ base_path: syntax_schema.parameter_function
3298
3368
  parameters:
3299
3369
  - _class: Expressir::Model::Literals::Logical
3300
3370
  value: :TRUE
3301
- - _class: Expressir::Model::Variable
3371
+ - _class: Expressir::Model::Declarations::Variable
3302
3372
  id: simple_reference_expression
3303
3373
  type:
3304
- _class: Expressir::Model::Types::Boolean
3374
+ _class: Expressir::Model::DataTypes::Boolean
3305
3375
  expression:
3306
- _class: Expressir::Model::Expressions::SimpleReference
3376
+ _class: Expressir::Model::References::SimpleReference
3307
3377
  id: test
3308
- - _class: Expressir::Model::Variable
3378
+ - _class: Expressir::Model::Declarations::Variable
3309
3379
  id: group_reference_expression
3310
3380
  type:
3311
- _class: Expressir::Model::Types::Boolean
3381
+ _class: Expressir::Model::DataTypes::Boolean
3312
3382
  expression:
3313
- _class: Expressir::Model::Expressions::GroupReference
3383
+ _class: Expressir::Model::References::GroupReference
3314
3384
  ref:
3315
- _class: Expressir::Model::Expressions::SimpleReference
3385
+ _class: Expressir::Model::References::SimpleReference
3316
3386
  id: test
3317
3387
  entity:
3318
- _class: Expressir::Model::Expressions::SimpleReference
3388
+ _class: Expressir::Model::References::SimpleReference
3319
3389
  id: test2
3320
- - _class: Expressir::Model::Variable
3390
+ - _class: Expressir::Model::Declarations::Variable
3321
3391
  id: index_reference_expression
3322
3392
  type:
3323
- _class: Expressir::Model::Types::Boolean
3393
+ _class: Expressir::Model::DataTypes::Boolean
3324
3394
  expression:
3325
- _class: Expressir::Model::Expressions::IndexReference
3395
+ _class: Expressir::Model::References::IndexReference
3326
3396
  ref:
3327
- _class: Expressir::Model::Expressions::SimpleReference
3397
+ _class: Expressir::Model::References::SimpleReference
3328
3398
  id: test
3329
3399
  index1:
3330
3400
  _class: Expressir::Model::Literals::Integer
3331
3401
  value: '1'
3332
- - _class: Expressir::Model::Variable
3402
+ - _class: Expressir::Model::Declarations::Variable
3333
3403
  id: index2_reference_expression
3334
3404
  type:
3335
- _class: Expressir::Model::Types::Boolean
3405
+ _class: Expressir::Model::DataTypes::Boolean
3336
3406
  expression:
3337
- _class: Expressir::Model::Expressions::IndexReference
3407
+ _class: Expressir::Model::References::IndexReference
3338
3408
  ref:
3339
- _class: Expressir::Model::Expressions::SimpleReference
3409
+ _class: Expressir::Model::References::SimpleReference
3340
3410
  id: test
3341
3411
  index1:
3342
3412
  _class: Expressir::Model::Literals::Integer
@@ -3344,22 +3414,22 @@ schemas:
3344
3414
  index2:
3345
3415
  _class: Expressir::Model::Literals::Integer
3346
3416
  value: '9'
3347
- - _class: Expressir::Model::Variable
3417
+ - _class: Expressir::Model::Declarations::Variable
3348
3418
  id: attribute_reference_expression
3349
3419
  type:
3350
- _class: Expressir::Model::Types::Boolean
3420
+ _class: Expressir::Model::DataTypes::Boolean
3351
3421
  expression:
3352
- _class: Expressir::Model::Expressions::AttributeReference
3422
+ _class: Expressir::Model::References::AttributeReference
3353
3423
  ref:
3354
- _class: Expressir::Model::Expressions::SimpleReference
3424
+ _class: Expressir::Model::References::SimpleReference
3355
3425
  id: test
3356
3426
  attribute:
3357
- _class: Expressir::Model::Expressions::SimpleReference
3427
+ _class: Expressir::Model::References::SimpleReference
3358
3428
  id: test2
3359
- - _class: Expressir::Model::Variable
3429
+ - _class: Expressir::Model::Declarations::Variable
3360
3430
  id: lt_lt_interval_expression
3361
3431
  type:
3362
- _class: Expressir::Model::Types::Boolean
3432
+ _class: Expressir::Model::DataTypes::Boolean
3363
3433
  expression:
3364
3434
  _class: Expressir::Model::Expressions::Interval
3365
3435
  low:
@@ -3373,10 +3443,10 @@ schemas:
3373
3443
  high:
3374
3444
  _class: Expressir::Model::Literals::Integer
3375
3445
  value: '9'
3376
- - _class: Expressir::Model::Variable
3446
+ - _class: Expressir::Model::Declarations::Variable
3377
3447
  id: lte_lt_interval_expression
3378
3448
  type:
3379
- _class: Expressir::Model::Types::Boolean
3449
+ _class: Expressir::Model::DataTypes::Boolean
3380
3450
  expression:
3381
3451
  _class: Expressir::Model::Expressions::Interval
3382
3452
  low:
@@ -3390,10 +3460,10 @@ schemas:
3390
3460
  high:
3391
3461
  _class: Expressir::Model::Literals::Integer
3392
3462
  value: '9'
3393
- - _class: Expressir::Model::Variable
3463
+ - _class: Expressir::Model::Declarations::Variable
3394
3464
  id: lt_lte_interval_expression
3395
3465
  type:
3396
- _class: Expressir::Model::Types::Boolean
3466
+ _class: Expressir::Model::DataTypes::Boolean
3397
3467
  expression:
3398
3468
  _class: Expressir::Model::Expressions::Interval
3399
3469
  low:
@@ -3407,10 +3477,10 @@ schemas:
3407
3477
  high:
3408
3478
  _class: Expressir::Model::Literals::Integer
3409
3479
  value: '9'
3410
- - _class: Expressir::Model::Variable
3480
+ - _class: Expressir::Model::Declarations::Variable
3411
3481
  id: lte_lte_interval_expression
3412
3482
  type:
3413
- _class: Expressir::Model::Types::Boolean
3483
+ _class: Expressir::Model::DataTypes::Boolean
3414
3484
  expression:
3415
3485
  _class: Expressir::Model::Expressions::Interval
3416
3486
  low:
@@ -3424,15 +3494,15 @@ schemas:
3424
3494
  high:
3425
3495
  _class: Expressir::Model::Literals::Integer
3426
3496
  value: '9'
3427
- - _class: Expressir::Model::Variable
3497
+ - _class: Expressir::Model::Declarations::Variable
3428
3498
  id: query_expression
3429
3499
  type:
3430
- _class: Expressir::Model::Types::Boolean
3500
+ _class: Expressir::Model::DataTypes::Boolean
3431
3501
  expression:
3432
3502
  _class: Expressir::Model::Expressions::QueryExpression
3433
3503
  id: test
3434
3504
  aggregate_source:
3435
- _class: Expressir::Model::Expressions::SimpleReference
3505
+ _class: Expressir::Model::References::SimpleReference
3436
3506
  id: test2
3437
3507
  expression:
3438
3508
  _class: Expressir::Model::Literals::Logical