expressir 0.2.24-x86-mingw32 → 1.1.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) 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/lib/expressir.rb +0 -1
  11. data/lib/expressir/cli.rb +0 -6
  12. data/lib/expressir/{express_exp → express}/2.4/express_parser.so +0 -0
  13. data/lib/expressir/{express_exp → express}/2.5/express_parser.so +0 -0
  14. data/lib/expressir/{express_exp → express}/2.6/express_parser.so +0 -0
  15. data/lib/expressir/{express_exp → express}/2.7/express_parser.so +0 -0
  16. data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
  17. data/lib/expressir/express/cache.rb +51 -0
  18. data/lib/expressir/{express_exp → express}/formatter.rb +306 -239
  19. data/lib/expressir/express/hyperlink_formatter.rb +36 -0
  20. data/lib/expressir/express/model_visitor.rb +24 -0
  21. data/lib/expressir/express/parser.rb +81 -0
  22. data/lib/expressir/express/resolve_references_model_visitor.rb +31 -0
  23. data/lib/expressir/express/schema_head_formatter.rb +23 -0
  24. data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
  25. data/lib/expressir/model.rb +52 -43
  26. data/lib/expressir/model/cache.rb +6 -2
  27. data/lib/expressir/model/data_type.rb +9 -0
  28. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  29. data/lib/expressir/model/data_types/array.rb +31 -0
  30. data/lib/expressir/model/data_types/bag.rb +25 -0
  31. data/lib/expressir/model/data_types/binary.rb +22 -0
  32. data/lib/expressir/model/data_types/boolean.rb +10 -0
  33. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  34. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  35. data/lib/expressir/model/data_types/generic.rb +26 -0
  36. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  37. data/lib/expressir/model/data_types/integer.rb +10 -0
  38. data/lib/expressir/model/data_types/list.rb +28 -0
  39. data/lib/expressir/model/data_types/logical.rb +10 -0
  40. data/lib/expressir/model/data_types/number.rb +10 -0
  41. data/lib/expressir/model/data_types/real.rb +19 -0
  42. data/lib/expressir/model/data_types/select.rb +28 -0
  43. data/lib/expressir/model/data_types/set.rb +25 -0
  44. data/lib/expressir/model/data_types/string.rb +22 -0
  45. data/lib/expressir/model/declaration.rb +9 -0
  46. data/lib/expressir/model/declarations/attribute.rb +47 -0
  47. data/lib/expressir/model/declarations/constant.rb +34 -0
  48. data/lib/expressir/model/declarations/entity.rb +53 -0
  49. data/lib/expressir/model/declarations/function.rb +67 -0
  50. data/lib/expressir/model/declarations/interface.rb +28 -0
  51. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  52. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  53. data/lib/expressir/model/declarations/parameter.rb +34 -0
  54. data/lib/expressir/model/declarations/procedure.rb +64 -0
  55. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  56. data/lib/expressir/model/declarations/rule.rb +71 -0
  57. data/lib/expressir/model/declarations/schema.rb +117 -0
  58. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  59. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  60. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  61. data/lib/expressir/model/declarations/type.rb +45 -0
  62. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  63. data/lib/expressir/model/declarations/variable.rb +34 -0
  64. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  65. data/lib/expressir/model/expression.rb +9 -0
  66. data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
  67. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  68. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  69. data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
  70. data/lib/expressir/model/expressions/function_call.rb +22 -0
  71. data/lib/expressir/model/expressions/interval.rb +17 -6
  72. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  73. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  74. data/lib/expressir/model/identifier.rb +26 -4
  75. data/lib/expressir/model/literal.rb +9 -0
  76. data/lib/expressir/model/literals/binary.rb +6 -2
  77. data/lib/expressir/model/literals/integer.rb +6 -2
  78. data/lib/expressir/model/literals/logical.rb +6 -2
  79. data/lib/expressir/model/literals/real.rb +6 -2
  80. data/lib/expressir/model/literals/string.rb +8 -3
  81. data/lib/expressir/model/model_element.rb +70 -37
  82. data/lib/expressir/model/reference.rb +9 -0
  83. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  84. data/lib/expressir/model/references/group_reference.rb +22 -0
  85. data/lib/expressir/model/references/index_reference.rb +27 -0
  86. data/lib/expressir/model/references/simple_reference.rb +24 -0
  87. data/lib/expressir/model/repository.rb +8 -2
  88. data/lib/expressir/model/statement.rb +9 -0
  89. data/lib/expressir/model/statements/alias.rb +12 -8
  90. data/lib/expressir/model/statements/assignment.rb +8 -3
  91. data/lib/expressir/model/statements/case.rb +11 -5
  92. data/lib/expressir/model/statements/case_action.rb +8 -3
  93. data/lib/expressir/model/statements/compound.rb +7 -3
  94. data/lib/expressir/model/statements/escape.rb +3 -1
  95. data/lib/expressir/model/statements/if.rb +12 -6
  96. data/lib/expressir/model/statements/null.rb +3 -1
  97. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  98. data/lib/expressir/model/statements/repeat.rb +20 -12
  99. data/lib/expressir/model/statements/return.rb +6 -2
  100. data/lib/expressir/model/statements/skip.rb +3 -1
  101. data/lib/expressir/model/supertype_expression.rb +9 -0
  102. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  103. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  104. data/lib/expressir/version.rb +1 -1
  105. data/rakelib/cross-ruby.rake +1 -1
  106. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  107. data/spec/expressir/express/formatter_spec.rb +127 -0
  108. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  109. data/spec/expressir/model/model_element_spec.rb +181 -129
  110. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  111. data/spec/syntax/multiple.yaml +198 -0
  112. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  113. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  114. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  115. data/{original/examples → spec}/syntax/remark.exp +0 -0
  116. data/{original/examples → spec}/syntax/remark.yaml +87 -73
  117. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  118. data/spec/syntax/single.exp +4 -0
  119. data/spec/syntax/single.yaml +18 -0
  120. data/spec/syntax/single_formatted.exp +10 -0
  121. data/spec/syntax/single_formatted.yaml +36 -0
  122. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  123. data/{original/examples → spec}/syntax/syntax.yaml +1181 -1111
  124. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  125. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  126. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  127. metadata +124 -114
  128. data/lib/expressir/express.rb +0 -11
  129. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  130. data/lib/expressir/express/attribute.rb +0 -15
  131. data/lib/expressir/express/comment.rb +0 -7
  132. data/lib/expressir/express/defined_type.rb +0 -36
  133. data/lib/expressir/express/derived.rb +0 -65
  134. data/lib/expressir/express/derived_aggregate.rb +0 -43
  135. data/lib/expressir/express/entity.rb +0 -137
  136. data/lib/expressir/express/explicit.rb +0 -70
  137. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  138. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  139. data/lib/expressir/express/global_rule.rb +0 -44
  140. data/lib/expressir/express/interface_specification.rb +0 -51
  141. data/lib/expressir/express/interfaced_item.rb +0 -38
  142. data/lib/expressir/express/inverse.rb +0 -46
  143. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  144. data/lib/expressir/express/model_element.rb +0 -7
  145. data/lib/expressir/express/named_type.rb +0 -19
  146. data/lib/expressir/express/remark.rb +0 -8
  147. data/lib/expressir/express/repository.rb +0 -306
  148. data/lib/expressir/express/schema_definition.rb +0 -96
  149. data/lib/expressir/express/subtype_constraint.rb +0 -14
  150. data/lib/expressir/express/type.rb +0 -26
  151. data/lib/expressir/express/type_aggregate.rb +0 -42
  152. data/lib/expressir/express/type_enum.rb +0 -29
  153. data/lib/expressir/express/type_parser.rb +0 -45
  154. data/lib/expressir/express/type_select.rb +0 -82
  155. data/lib/expressir/express/unique_rule.rb +0 -35
  156. data/lib/expressir/express/where_rule.rb +0 -32
  157. data/lib/expressir/express_exp/cache.rb +0 -48
  158. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  159. data/lib/expressir/express_exp/parser.rb +0 -64
  160. data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
  161. data/lib/expressir/express_parser.rb +0 -30
  162. data/lib/expressir/model/attribute.rb +0 -38
  163. data/lib/expressir/model/constant.rb +0 -28
  164. data/lib/expressir/model/entity.rb +0 -42
  165. data/lib/expressir/model/enumeration_item.rb +0 -22
  166. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  167. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  168. data/lib/expressir/model/expressions/call.rb +0 -17
  169. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  170. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  171. data/lib/expressir/model/expressions/simple_reference.rb +0 -15
  172. data/lib/expressir/model/function.rb +0 -57
  173. data/lib/expressir/model/interface.rb +0 -20
  174. data/lib/expressir/model/interface_item.rb +0 -15
  175. data/lib/expressir/model/interfaced_item.rb +0 -31
  176. data/lib/expressir/model/parameter.rb +0 -28
  177. data/lib/expressir/model/procedure.rb +0 -55
  178. data/lib/expressir/model/remark_item.rb +0 -15
  179. data/lib/expressir/model/rule.rb +0 -60
  180. data/lib/expressir/model/schema.rb +0 -98
  181. data/lib/expressir/model/statements/call.rb +0 -17
  182. data/lib/expressir/model/subtype_constraint.rb +0 -32
  183. data/lib/expressir/model/type.rb +0 -37
  184. data/lib/expressir/model/types/aggregate.rb +0 -28
  185. data/lib/expressir/model/types/array.rb +0 -23
  186. data/lib/expressir/model/types/bag.rb +0 -19
  187. data/lib/expressir/model/types/binary.rb +0 -17
  188. data/lib/expressir/model/types/boolean.rb +0 -8
  189. data/lib/expressir/model/types/enumeration.rb +0 -21
  190. data/lib/expressir/model/types/generic.rb +0 -24
  191. data/lib/expressir/model/types/generic_entity.rb +0 -24
  192. data/lib/expressir/model/types/integer.rb +0 -8
  193. data/lib/expressir/model/types/list.rb +0 -21
  194. data/lib/expressir/model/types/logical.rb +0 -8
  195. data/lib/expressir/model/types/number.rb +0 -8
  196. data/lib/expressir/model/types/real.rb +0 -15
  197. data/lib/expressir/model/types/select.rb +0 -23
  198. data/lib/expressir/model/types/set.rb +0 -19
  199. data/lib/expressir/model/types/string.rb +0 -17
  200. data/lib/expressir/model/unique.rb +0 -26
  201. data/lib/expressir/model/variable.rb +0 -28
  202. data/lib/expressir/model/where.rb +0 -26
  203. data/lib/expressir/parser.rb +0 -6
  204. data/lib/expressir/parser/owl_parser.rb +0 -8
  205. data/original/examples/syntax/multiple.yaml +0 -184
  206. data/original/examples/syntax/single.exp +0 -3
  207. data/original/examples/syntax/single.yaml +0 -9
  208. data/original/examples/syntax/single_formatted.exp +0 -6
  209. data/original/examples/syntax/single_formatted.yaml +0 -19
  210. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  211. data/spec/expressir/express/repository_spec.rb +0 -25
  212. 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