expressir 0.2.21-x86-linux → 1.0.0-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.github/workflows/release.yml +22 -6
  4. data/.gitignore +2 -2
  5. data/demo.rb +5 -5
  6. data/exe/format +10 -73
  7. data/exe/format-test +81 -0
  8. data/expressir.gemspec +0 -1
  9. data/lib/expressir.rb +0 -1
  10. data/lib/expressir/cli.rb +0 -6
  11. data/lib/expressir/{express_exp → express}/2.4/express_parser.so +0 -0
  12. data/lib/expressir/{express_exp → express}/2.5/express_parser.so +0 -0
  13. data/lib/expressir/{express_exp → express}/2.6/express_parser.so +0 -0
  14. data/lib/expressir/{express_exp → express}/2.7/express_parser.so +0 -0
  15. data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
  16. data/lib/expressir/{express_exp → express}/cache.rb +3 -6
  17. data/lib/expressir/{express_exp → express}/formatter.rb +84 -68
  18. data/lib/expressir/express/hyperlink_formatter.rb +22 -0
  19. data/lib/expressir/express/model_visitor.rb +23 -0
  20. data/lib/expressir/{express_exp → express}/parser.rb +16 -5
  21. data/lib/expressir/express/resolve_references_model_visitor.rb +29 -0
  22. data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
  23. data/lib/expressir/{express_exp → express}/visitor.rb +67 -44
  24. data/lib/expressir/model.rb +5 -3
  25. data/lib/expressir/model/attribute.rb +13 -6
  26. data/lib/expressir/model/cache.rb +2 -2
  27. data/lib/expressir/model/constant.rb +10 -3
  28. data/lib/expressir/model/entity.rb +18 -16
  29. data/lib/expressir/model/enumeration_item.rb +8 -1
  30. data/lib/expressir/model/expressions/aggregate_initializer.rb +2 -2
  31. data/lib/expressir/model/expressions/aggregate_item.rb +2 -2
  32. data/lib/expressir/model/expressions/attribute_reference.rb +2 -2
  33. data/lib/expressir/model/expressions/binary_expression.rb +3 -3
  34. data/lib/expressir/model/expressions/call.rb +3 -3
  35. data/lib/expressir/model/expressions/entity_constructor.rb +3 -3
  36. data/lib/expressir/model/expressions/group_reference.rb +2 -2
  37. data/lib/expressir/model/expressions/index_reference.rb +3 -3
  38. data/lib/expressir/model/expressions/interval.rb +5 -5
  39. data/lib/expressir/model/expressions/query_expression.rb +6 -4
  40. data/lib/expressir/model/expressions/simple_reference.rb +5 -1
  41. data/lib/expressir/model/expressions/unary_expression.rb +2 -2
  42. data/lib/expressir/model/function.rb +23 -21
  43. data/lib/expressir/model/identifier.rb +6 -3
  44. data/lib/expressir/model/interface.rb +4 -4
  45. data/lib/expressir/model/interface_item.rb +2 -2
  46. data/lib/expressir/model/interfaced_item.rb +10 -9
  47. data/lib/expressir/model/literals/binary.rb +1 -1
  48. data/lib/expressir/model/literals/integer.rb +1 -1
  49. data/lib/expressir/model/literals/logical.rb +1 -1
  50. data/lib/expressir/model/literals/real.rb +1 -1
  51. data/lib/expressir/model/literals/string.rb +2 -2
  52. data/lib/expressir/model/model_element.rb +39 -27
  53. data/lib/expressir/model/parameter.rb +10 -3
  54. data/lib/expressir/model/procedure.rb +22 -20
  55. data/lib/expressir/model/remark_item.rb +15 -0
  56. data/lib/expressir/model/repository.rb +2 -2
  57. data/lib/expressir/model/rule.rb +27 -25
  58. data/lib/expressir/model/schema.rb +24 -20
  59. data/lib/expressir/model/schema_version.rb +15 -0
  60. data/lib/expressir/model/schema_version_item.rb +15 -0
  61. data/lib/expressir/model/statements/alias.rb +7 -5
  62. data/lib/expressir/model/statements/assignment.rb +2 -2
  63. data/lib/expressir/model/statements/call.rb +3 -3
  64. data/lib/expressir/model/statements/case.rb +4 -4
  65. data/lib/expressir/model/statements/case_action.rb +3 -3
  66. data/lib/expressir/model/statements/compound.rb +2 -2
  67. data/lib/expressir/model/statements/if.rb +5 -5
  68. data/lib/expressir/model/statements/repeat.rb +11 -9
  69. data/lib/expressir/model/statements/return.rb +1 -1
  70. data/lib/expressir/model/subtype_constraint.rb +13 -6
  71. data/lib/expressir/model/type.rb +12 -10
  72. data/lib/expressir/model/types/aggregate.rb +9 -2
  73. data/lib/expressir/model/types/array.rb +5 -5
  74. data/lib/expressir/model/types/bag.rb +3 -3
  75. data/lib/expressir/model/types/binary.rb +2 -2
  76. data/lib/expressir/model/types/enumeration.rb +5 -7
  77. data/lib/expressir/model/types/generic.rb +8 -1
  78. data/lib/expressir/model/types/generic_entity.rb +8 -1
  79. data/lib/expressir/model/types/list.rb +4 -4
  80. data/lib/expressir/model/types/real.rb +1 -1
  81. data/lib/expressir/model/types/select.rb +6 -8
  82. data/lib/expressir/model/types/set.rb +3 -3
  83. data/lib/expressir/model/types/string.rb +2 -2
  84. data/lib/expressir/model/unique_rule.rb +26 -0
  85. data/lib/expressir/model/variable.rb +10 -3
  86. data/lib/expressir/model/where_rule.rb +26 -0
  87. data/lib/expressir/version.rb +1 -1
  88. data/rakelib/cross-ruby.rake +1 -1
  89. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  90. data/spec/expressir/express/formatter_spec.rb +127 -0
  91. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  92. data/spec/expressir/model/model_element_spec.rb +112 -60
  93. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  94. data/{original/examples → spec}/syntax/multiple.yaml +19 -5
  95. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  96. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  97. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  98. data/{original/examples → spec}/syntax/remark.exp +12 -10
  99. data/{original/examples → spec}/syntax/remark.yaml +36 -16
  100. data/{original/examples → spec}/syntax/remark_formatted.exp +3 -1
  101. data/spec/syntax/single.exp +4 -0
  102. data/spec/syntax/single.yaml +18 -0
  103. data/spec/syntax/single_formatted.exp +10 -0
  104. data/spec/syntax/single_formatted.yaml +36 -0
  105. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  106. data/{original/examples → spec}/syntax/syntax.yaml +205 -108
  107. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  108. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  109. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  110. metadata +41 -83
  111. data/lib/expressir/express.rb +0 -11
  112. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  113. data/lib/expressir/express/attribute.rb +0 -15
  114. data/lib/expressir/express/comment.rb +0 -7
  115. data/lib/expressir/express/defined_type.rb +0 -36
  116. data/lib/expressir/express/derived.rb +0 -65
  117. data/lib/expressir/express/derived_aggregate.rb +0 -43
  118. data/lib/expressir/express/entity.rb +0 -137
  119. data/lib/expressir/express/explicit.rb +0 -70
  120. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  121. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  122. data/lib/expressir/express/global_rule.rb +0 -44
  123. data/lib/expressir/express/interface_specification.rb +0 -51
  124. data/lib/expressir/express/interfaced_item.rb +0 -38
  125. data/lib/expressir/express/inverse.rb +0 -46
  126. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  127. data/lib/expressir/express/model_element.rb +0 -7
  128. data/lib/expressir/express/named_type.rb +0 -19
  129. data/lib/expressir/express/remark.rb +0 -8
  130. data/lib/expressir/express/repository.rb +0 -306
  131. data/lib/expressir/express/schema_definition.rb +0 -96
  132. data/lib/expressir/express/subtype_constraint.rb +0 -14
  133. data/lib/expressir/express/type.rb +0 -26
  134. data/lib/expressir/express/type_aggregate.rb +0 -42
  135. data/lib/expressir/express/type_enum.rb +0 -29
  136. data/lib/expressir/express/type_parser.rb +0 -45
  137. data/lib/expressir/express/type_select.rb +0 -82
  138. data/lib/expressir/express/unique_rule.rb +0 -35
  139. data/lib/expressir/express/where_rule.rb +0 -32
  140. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  141. data/lib/expressir/express_parser.rb +0 -30
  142. data/lib/expressir/model/informal_proposition.rb +0 -18
  143. data/lib/expressir/model/unique.rb +0 -19
  144. data/lib/expressir/model/where.rb +0 -19
  145. data/lib/expressir/parser.rb +0 -6
  146. data/lib/expressir/parser/owl_parser.rb +0 -8
  147. data/original/examples/syntax/single.exp +0 -3
  148. data/original/examples/syntax/single.yaml +0 -9
  149. data/original/examples/syntax/single_formatted.exp +0 -6
  150. data/original/examples/syntax/single_formatted.yaml +0 -19
  151. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  152. data/spec/expressir/express/repository_spec.rb +0 -25
  153. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -222,4 +222,6 @@ several physical lines.
222
222
  --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
223
223
  --"remark_schema.remark_procedure.remark_variable" procedure scope - procedure variable
224
224
  --"remark_schema.remark_procedure.remark_variable" schema scope - procedure variable
225
- --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
225
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
226
+ --"remark_schema.remark_item" schema scope - schema remark item
227
+ --"remark_schema.remark_item" universal scope - schema remark item
@@ -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::Schema
5
+ file: spec/syntax/single.exp
6
+ id: single_schema
7
+ version:
8
+ _class: Expressir::Model::SchemaVersion
9
+ value: version
10
+ entities:
11
+ - _class: Expressir::Model::Entity
12
+ id: empty_entity
13
+ - _class: Expressir::Model::Entity
14
+ id: subtype_empty_entity
15
+ subtype_of:
16
+ - _class: Expressir::Model::Expressions::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::Schema
5
+ file: spec/syntax/single.exp
6
+ id: single_schema
7
+ version:
8
+ _class: Expressir::Model::SchemaVersion
9
+ value: version
10
+ entities:
11
+ - _class: Expressir::Model::Entity
12
+ id: empty_entity
13
+ source: |-
14
+ ENTITY empty_entity;
15
+ END_ENTITY;
16
+ - _class: Expressir::Model::Entity
17
+ id: subtype_empty_entity
18
+ subtype_of:
19
+ - _class: Expressir::Model::Expressions::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;
@@ -2,11 +2,27 @@
2
2
  _class: Expressir::Model::Repository
3
3
  schemas:
4
4
  - _class: Expressir::Model::Schema
5
- file: original/examples/syntax/syntax.exp
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::SchemaVersion
9
+ value: "{ISO standard 10303 part(41) object(1) version(8)}"
10
+ items:
11
+ - _class: Expressir::Model::SchemaVersionItem
12
+ name: ISO
13
+ - _class: Expressir::Model::SchemaVersionItem
14
+ name: standard
15
+ - _class: Expressir::Model::SchemaVersionItem
16
+ value: '10303'
17
+ - _class: Expressir::Model::SchemaVersionItem
18
+ name: part
19
+ value: '41'
20
+ - _class: Expressir::Model::SchemaVersionItem
21
+ name: object
22
+ value: '1'
23
+ - _class: Expressir::Model::SchemaVersionItem
24
+ name: version
25
+ value: '8'
10
26
  interfaces:
11
27
  - _class: Expressir::Model::Interface
12
28
  kind: :USE
@@ -99,23 +115,23 @@ schemas:
99
115
  types:
100
116
  - _class: Expressir::Model::Type
101
117
  id: empty_type
102
- type:
118
+ underlying_type:
103
119
  _class: Expressir::Model::Types::Boolean
104
120
  - _class: Expressir::Model::Type
105
121
  id: where_type
106
- type:
122
+ underlying_type:
107
123
  _class: Expressir::Model::Types::Boolean
108
- where:
109
- - _class: Expressir::Model::Where
124
+ where_rules:
125
+ - _class: Expressir::Model::WhereRule
110
126
  expression:
111
127
  _class: Expressir::Model::Literals::Logical
112
128
  value: :TRUE
113
129
  - _class: Expressir::Model::Type
114
130
  id: where_label_type
115
- type:
131
+ underlying_type:
116
132
  _class: Expressir::Model::Types::Boolean
117
- where:
118
- - _class: Expressir::Model::Where
133
+ where_rules:
134
+ - _class: Expressir::Model::WhereRule
119
135
  id: WR1
120
136
  expression:
121
137
  _class: Expressir::Model::Literals::Logical
@@ -135,24 +151,29 @@ schemas:
135
151
  supertype_expression:
136
152
  _class: Expressir::Model::Expressions::SimpleReference
137
153
  id: empty_entity
154
+ base_path: syntax_schema.empty_entity
138
155
  - _class: Expressir::Model::Entity
139
156
  id: supertype_constraint_entity
140
157
  supertype_expression:
141
158
  _class: Expressir::Model::Expressions::SimpleReference
142
159
  id: empty_entity
160
+ base_path: syntax_schema.empty_entity
143
161
  - _class: Expressir::Model::Entity
144
162
  id: subtype_entity
145
163
  subtype_of:
146
164
  - _class: Expressir::Model::Expressions::SimpleReference
147
165
  id: empty_entity
166
+ base_path: syntax_schema.empty_entity
148
167
  - _class: Expressir::Model::Entity
149
168
  id: supertype_constraint_subtype_entity
150
169
  supertype_expression:
151
170
  _class: Expressir::Model::Expressions::SimpleReference
152
171
  id: empty_entity
172
+ base_path: syntax_schema.empty_entity
153
173
  subtype_of:
154
174
  - _class: Expressir::Model::Expressions::SimpleReference
155
175
  id: empty_entity
176
+ base_path: syntax_schema.empty_entity
156
177
  - _class: Expressir::Model::Entity
157
178
  id: attribute_entity
158
179
  attributes:
@@ -201,6 +222,7 @@ schemas:
201
222
  subtype_of:
202
223
  - _class: Expressir::Model::Expressions::SimpleReference
203
224
  id: attribute_entity
225
+ base_path: syntax_schema.attribute_entity
204
226
  attributes:
205
227
  - _class: Expressir::Model::Attribute
206
228
  kind: :EXPLICIT
@@ -214,6 +236,7 @@ schemas:
214
236
  entity:
215
237
  _class: Expressir::Model::Expressions::SimpleReference
216
238
  id: attribute_entity
239
+ base_path: syntax_schema.attribute_entity
217
240
  attribute:
218
241
  _class: Expressir::Model::Expressions::SimpleReference
219
242
  id: test
@@ -224,6 +247,7 @@ schemas:
224
247
  subtype_of:
225
248
  - _class: Expressir::Model::Expressions::SimpleReference
226
249
  id: attribute_entity
250
+ base_path: syntax_schema.attribute_entity
227
251
  attributes:
228
252
  - _class: Expressir::Model::Attribute
229
253
  id: test2
@@ -238,6 +262,7 @@ schemas:
238
262
  entity:
239
263
  _class: Expressir::Model::Expressions::SimpleReference
240
264
  id: attribute_entity
265
+ base_path: syntax_schema.attribute_entity
241
266
  attribute:
242
267
  _class: Expressir::Model::Expressions::SimpleReference
243
268
  id: test
@@ -259,6 +284,7 @@ schemas:
259
284
  subtype_of:
260
285
  - _class: Expressir::Model::Expressions::SimpleReference
261
286
  id: attribute_entity
287
+ base_path: syntax_schema.attribute_entity
262
288
  attributes:
263
289
  - _class: Expressir::Model::Attribute
264
290
  kind: :DERIVED
@@ -272,6 +298,7 @@ schemas:
272
298
  entity:
273
299
  _class: Expressir::Model::Expressions::SimpleReference
274
300
  id: attribute_entity
301
+ base_path: syntax_schema.attribute_entity
275
302
  attribute:
276
303
  _class: Expressir::Model::Expressions::SimpleReference
277
304
  id: test
@@ -285,6 +312,7 @@ schemas:
285
312
  subtype_of:
286
313
  - _class: Expressir::Model::Expressions::SimpleReference
287
314
  id: attribute_entity
315
+ base_path: syntax_schema.attribute_entity
288
316
  attributes:
289
317
  - _class: Expressir::Model::Attribute
290
318
  id: test2
@@ -299,6 +327,7 @@ schemas:
299
327
  entity:
300
328
  _class: Expressir::Model::Expressions::SimpleReference
301
329
  id: attribute_entity
330
+ base_path: syntax_schema.attribute_entity
302
331
  attribute:
303
332
  _class: Expressir::Model::Expressions::SimpleReference
304
333
  id: test
@@ -316,9 +345,11 @@ schemas:
316
345
  type:
317
346
  _class: Expressir::Model::Expressions::SimpleReference
318
347
  id: attribute_entity
348
+ base_path: syntax_schema.attribute_entity
319
349
  expression:
320
350
  _class: Expressir::Model::Expressions::SimpleReference
321
351
  id: test
352
+ base_path: syntax_schema.inverse_attribute_entity.test
322
353
  - _class: Expressir::Model::Entity
323
354
  id: inverse_attribute_entity_entity
324
355
  attributes:
@@ -328,6 +359,7 @@ schemas:
328
359
  type:
329
360
  _class: Expressir::Model::Expressions::SimpleReference
330
361
  id: attribute_entity
362
+ base_path: syntax_schema.attribute_entity
331
363
  expression:
332
364
  _class: Expressir::Model::Expressions::AttributeReference
333
365
  ref:
@@ -347,9 +379,11 @@ schemas:
347
379
  base_type:
348
380
  _class: Expressir::Model::Expressions::SimpleReference
349
381
  id: attribute_entity
382
+ base_path: syntax_schema.attribute_entity
350
383
  expression:
351
384
  _class: Expressir::Model::Expressions::SimpleReference
352
385
  id: test
386
+ base_path: syntax_schema.inverse_attribute_set_entity.test
353
387
  - _class: Expressir::Model::Entity
354
388
  id: inverse_attribute_set_bound_entity
355
389
  attributes:
@@ -367,9 +401,11 @@ schemas:
367
401
  base_type:
368
402
  _class: Expressir::Model::Expressions::SimpleReference
369
403
  id: attribute_entity
404
+ base_path: syntax_schema.attribute_entity
370
405
  expression:
371
406
  _class: Expressir::Model::Expressions::SimpleReference
372
407
  id: test
408
+ base_path: syntax_schema.inverse_attribute_set_bound_entity.test
373
409
  - _class: Expressir::Model::Entity
374
410
  id: inverse_attribute_bag_entity
375
411
  attributes:
@@ -381,9 +417,11 @@ schemas:
381
417
  base_type:
382
418
  _class: Expressir::Model::Expressions::SimpleReference
383
419
  id: attribute_entity
420
+ base_path: syntax_schema.attribute_entity
384
421
  expression:
385
422
  _class: Expressir::Model::Expressions::SimpleReference
386
423
  id: test
424
+ base_path: syntax_schema.inverse_attribute_bag_entity.test
387
425
  - _class: Expressir::Model::Entity
388
426
  id: inverse_attribute_bag_bound_entity
389
427
  attributes:
@@ -401,14 +439,17 @@ schemas:
401
439
  base_type:
402
440
  _class: Expressir::Model::Expressions::SimpleReference
403
441
  id: attribute_entity
442
+ base_path: syntax_schema.attribute_entity
404
443
  expression:
405
444
  _class: Expressir::Model::Expressions::SimpleReference
406
445
  id: test
446
+ base_path: syntax_schema.inverse_attribute_bag_bound_entity.test
407
447
  - _class: Expressir::Model::Entity
408
448
  id: inverse_attribute_redeclared_entity
409
449
  subtype_of:
410
450
  - _class: Expressir::Model::Expressions::SimpleReference
411
451
  id: attribute_entity
452
+ base_path: syntax_schema.attribute_entity
412
453
  attributes:
413
454
  - _class: Expressir::Model::Attribute
414
455
  kind: :INVERSE
@@ -422,12 +463,14 @@ schemas:
422
463
  entity:
423
464
  _class: Expressir::Model::Expressions::SimpleReference
424
465
  id: attribute_entity
466
+ base_path: syntax_schema.attribute_entity
425
467
  attribute:
426
468
  _class: Expressir::Model::Expressions::SimpleReference
427
469
  id: test
428
470
  type:
429
471
  _class: Expressir::Model::Expressions::SimpleReference
430
472
  id: attribute_entity
473
+ base_path: syntax_schema.attribute_entity
431
474
  expression:
432
475
  _class: Expressir::Model::Expressions::SimpleReference
433
476
  id: test
@@ -436,6 +479,7 @@ schemas:
436
479
  subtype_of:
437
480
  - _class: Expressir::Model::Expressions::SimpleReference
438
481
  id: attribute_entity
482
+ base_path: syntax_schema.attribute_entity
439
483
  attributes:
440
484
  - _class: Expressir::Model::Attribute
441
485
  id: test2
@@ -450,12 +494,14 @@ schemas:
450
494
  entity:
451
495
  _class: Expressir::Model::Expressions::SimpleReference
452
496
  id: attribute_entity
497
+ base_path: syntax_schema.attribute_entity
453
498
  attribute:
454
499
  _class: Expressir::Model::Expressions::SimpleReference
455
500
  id: test
456
501
  type:
457
502
  _class: Expressir::Model::Expressions::SimpleReference
458
503
  id: attribute_entity
504
+ base_path: syntax_schema.attribute_entity
459
505
  expression:
460
506
  _class: Expressir::Model::Expressions::SimpleReference
461
507
  id: test
@@ -467,11 +513,12 @@ schemas:
467
513
  kind: :EXPLICIT
468
514
  type:
469
515
  _class: Expressir::Model::Types::Boolean
470
- unique:
471
- - _class: Expressir::Model::Unique
516
+ unique_rules:
517
+ - _class: Expressir::Model::UniqueRule
472
518
  attributes:
473
519
  - _class: Expressir::Model::Expressions::SimpleReference
474
520
  id: test
521
+ base_path: syntax_schema.unique_entity.test
475
522
  - _class: Expressir::Model::Entity
476
523
  id: unique_label_entity
477
524
  attributes:
@@ -480,19 +527,21 @@ schemas:
480
527
  kind: :EXPLICIT
481
528
  type:
482
529
  _class: Expressir::Model::Types::Boolean
483
- unique:
484
- - _class: Expressir::Model::Unique
530
+ unique_rules:
531
+ - _class: Expressir::Model::UniqueRule
485
532
  id: UR1
486
533
  attributes:
487
534
  - _class: Expressir::Model::Expressions::SimpleReference
488
535
  id: test
536
+ base_path: syntax_schema.unique_label_entity.test
489
537
  - _class: Expressir::Model::Entity
490
538
  id: unique_redeclared_entity
491
539
  subtype_of:
492
540
  - _class: Expressir::Model::Expressions::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::UniqueRule
496
545
  attributes:
497
546
  - _class: Expressir::Model::Expressions::AttributeReference
498
547
  ref:
@@ -503,6 +552,7 @@ schemas:
503
552
  entity:
504
553
  _class: Expressir::Model::Expressions::SimpleReference
505
554
  id: attribute_entity
555
+ base_path: syntax_schema.attribute_entity
506
556
  attribute:
507
557
  _class: Expressir::Model::Expressions::SimpleReference
508
558
  id: test
@@ -511,8 +561,9 @@ schemas:
511
561
  subtype_of:
512
562
  - _class: Expressir::Model::Expressions::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::UniqueRule
516
567
  id: UR1
517
568
  attributes:
518
569
  - _class: Expressir::Model::Expressions::AttributeReference
@@ -524,20 +575,21 @@ schemas:
524
575
  entity:
525
576
  _class: Expressir::Model::Expressions::SimpleReference
526
577
  id: attribute_entity
578
+ base_path: syntax_schema.attribute_entity
527
579
  attribute:
528
580
  _class: Expressir::Model::Expressions::SimpleReference
529
581
  id: test
530
582
  - _class: Expressir::Model::Entity
531
583
  id: where_entity
532
- where:
533
- - _class: Expressir::Model::Where
584
+ where_rules:
585
+ - _class: Expressir::Model::WhereRule
534
586
  expression:
535
587
  _class: Expressir::Model::Literals::Logical
536
588
  value: :TRUE
537
589
  - _class: Expressir::Model::Entity
538
590
  id: where_label_entity
539
- where:
540
- - _class: Expressir::Model::Where
591
+ where_rules:
592
+ - _class: Expressir::Model::WhereRule
541
593
  id: WR1
542
594
  expression:
543
595
  _class: Expressir::Model::Literals::Logical
@@ -548,17 +600,20 @@ schemas:
548
600
  applies_to:
549
601
  _class: Expressir::Model::Expressions::SimpleReference
550
602
  id: empty_entity
603
+ base_path: syntax_schema.empty_entity
551
604
  - _class: Expressir::Model::SubtypeConstraint
552
605
  id: abstract_supertype_subtype_constraint
553
606
  applies_to:
554
607
  _class: Expressir::Model::Expressions::SimpleReference
555
608
  id: empty_entity
609
+ base_path: syntax_schema.empty_entity
556
610
  abstract: true
557
611
  - _class: Expressir::Model::SubtypeConstraint
558
612
  id: total_over_subtype_constraint
559
613
  applies_to:
560
614
  _class: Expressir::Model::Expressions::SimpleReference
561
615
  id: empty_entity
616
+ base_path: syntax_schema.empty_entity
562
617
  total_over:
563
618
  - _class: Expressir::Model::Expressions::SimpleReference
564
619
  id: a
@@ -567,6 +622,7 @@ schemas:
567
622
  applies_to:
568
623
  _class: Expressir::Model::Expressions::SimpleReference
569
624
  id: empty_entity
625
+ base_path: syntax_schema.empty_entity
570
626
  supertype_expression:
571
627
  _class: Expressir::Model::Expressions::SimpleReference
572
628
  id: a
@@ -575,6 +631,7 @@ schemas:
575
631
  applies_to:
576
632
  _class: Expressir::Model::Expressions::SimpleReference
577
633
  id: empty_entity
634
+ base_path: syntax_schema.empty_entity
578
635
  supertype_expression:
579
636
  _class: Expressir::Model::Expressions::BinaryExpression
580
637
  operator: :ANDOR
@@ -589,6 +646,7 @@ schemas:
589
646
  applies_to:
590
647
  _class: Expressir::Model::Expressions::SimpleReference
591
648
  id: empty_entity
649
+ base_path: syntax_schema.empty_entity
592
650
  supertype_expression:
593
651
  _class: Expressir::Model::Expressions::BinaryExpression
594
652
  operator: :AND
@@ -603,6 +661,7 @@ schemas:
603
661
  applies_to:
604
662
  _class: Expressir::Model::Expressions::SimpleReference
605
663
  id: empty_entity
664
+ base_path: syntax_schema.empty_entity
606
665
  supertype_expression:
607
666
  _class: Expressir::Model::Expressions::BinaryExpression
608
667
  operator: :ANDOR
@@ -623,6 +682,7 @@ schemas:
623
682
  applies_to:
624
683
  _class: Expressir::Model::Expressions::SimpleReference
625
684
  id: empty_entity
685
+ base_path: syntax_schema.empty_entity
626
686
  supertype_expression:
627
687
  _class: Expressir::Model::Expressions::BinaryExpression
628
688
  operator: :ANDOR
@@ -643,6 +703,7 @@ schemas:
643
703
  applies_to:
644
704
  _class: Expressir::Model::Expressions::SimpleReference
645
705
  id: empty_entity
706
+ base_path: syntax_schema.empty_entity
646
707
  supertype_expression:
647
708
  _class: Expressir::Model::Expressions::BinaryExpression
648
709
  operator: :AND
@@ -663,6 +724,7 @@ schemas:
663
724
  applies_to:
664
725
  _class: Expressir::Model::Expressions::SimpleReference
665
726
  id: empty_entity
727
+ base_path: syntax_schema.empty_entity
666
728
  supertype_expression:
667
729
  _class: Expressir::Model::Expressions::BinaryExpression
668
730
  operator: :AND
@@ -683,6 +745,7 @@ schemas:
683
745
  applies_to:
684
746
  _class: Expressir::Model::Expressions::SimpleReference
685
747
  id: empty_entity
748
+ base_path: syntax_schema.empty_entity
686
749
  supertype_expression:
687
750
  _class: Expressir::Model::Expressions::Call
688
751
  ref:
@@ -698,6 +761,7 @@ schemas:
698
761
  applies_to:
699
762
  _class: Expressir::Model::Expressions::SimpleReference
700
763
  id: empty_entity
764
+ base_path: syntax_schema.empty_entity
701
765
  supertype_expression:
702
766
  _class: Expressir::Model::Expressions::BinaryExpression
703
767
  operator: :AND
@@ -719,6 +783,7 @@ schemas:
719
783
  applies_to:
720
784
  _class: Expressir::Model::Expressions::SimpleReference
721
785
  id: empty_entity
786
+ base_path: syntax_schema.empty_entity
722
787
  supertype_expression:
723
788
  _class: Expressir::Model::Expressions::BinaryExpression
724
789
  operator: :ANDOR
@@ -740,6 +805,7 @@ schemas:
740
805
  applies_to:
741
806
  _class: Expressir::Model::Expressions::SimpleReference
742
807
  id: empty_entity
808
+ base_path: syntax_schema.empty_entity
743
809
  supertype_expression:
744
810
  _class: Expressir::Model::Expressions::BinaryExpression
745
811
  operator: :AND
@@ -761,6 +827,7 @@ schemas:
761
827
  applies_to:
762
828
  _class: Expressir::Model::Expressions::SimpleReference
763
829
  id: empty_entity
830
+ base_path: syntax_schema.empty_entity
764
831
  supertype_expression:
765
832
  _class: Expressir::Model::Expressions::BinaryExpression
766
833
  operator: :ANDOR
@@ -782,6 +849,7 @@ schemas:
782
849
  applies_to:
783
850
  _class: Expressir::Model::Expressions::SimpleReference
784
851
  id: empty_entity
852
+ base_path: syntax_schema.empty_entity
785
853
  supertype_expression:
786
854
  _class: Expressir::Model::Expressions::BinaryExpression
787
855
  operator: :AND
@@ -810,6 +878,7 @@ schemas:
810
878
  applies_to:
811
879
  _class: Expressir::Model::Expressions::SimpleReference
812
880
  id: empty_entity
881
+ base_path: syntax_schema.empty_entity
813
882
  supertype_expression:
814
883
  _class: Expressir::Model::Expressions::BinaryExpression
815
884
  operator: :ANDOR
@@ -888,7 +957,7 @@ schemas:
888
957
  types:
889
958
  - _class: Expressir::Model::Type
890
959
  id: test
891
- type:
960
+ underlying_type:
892
961
  _class: Expressir::Model::Types::Boolean
893
962
  statements:
894
963
  - _class: Expressir::Model::Statements::Null
@@ -1030,8 +1099,9 @@ schemas:
1030
1099
  applies_to:
1031
1100
  - _class: Expressir::Model::Expressions::SimpleReference
1032
1101
  id: empty_entity
1033
- where:
1034
- - _class: Expressir::Model::Where
1102
+ base_path: syntax_schema.empty_entity
1103
+ where_rules:
1104
+ - _class: Expressir::Model::WhereRule
1035
1105
  expression:
1036
1106
  _class: Expressir::Model::Literals::Logical
1037
1107
  value: :TRUE
@@ -1040,13 +1110,14 @@ schemas:
1040
1110
  applies_to:
1041
1111
  - _class: Expressir::Model::Expressions::SimpleReference
1042
1112
  id: empty_entity
1113
+ base_path: syntax_schema.empty_entity
1043
1114
  types:
1044
1115
  - _class: Expressir::Model::Type
1045
1116
  id: test
1046
- type:
1117
+ underlying_type:
1047
1118
  _class: Expressir::Model::Types::Boolean
1048
- where:
1049
- - _class: Expressir::Model::Where
1119
+ where_rules:
1120
+ - _class: Expressir::Model::WhereRule
1050
1121
  expression:
1051
1122
  _class: Expressir::Model::Literals::Logical
1052
1123
  value: :TRUE
@@ -1055,6 +1126,7 @@ schemas:
1055
1126
  applies_to:
1056
1127
  - _class: Expressir::Model::Expressions::SimpleReference
1057
1128
  id: empty_entity
1129
+ base_path: syntax_schema.empty_entity
1058
1130
  constants:
1059
1131
  - _class: Expressir::Model::Constant
1060
1132
  id: test
@@ -1063,8 +1135,8 @@ schemas:
1063
1135
  expression:
1064
1136
  _class: Expressir::Model::Literals::Logical
1065
1137
  value: :TRUE
1066
- where:
1067
- - _class: Expressir::Model::Where
1138
+ where_rules:
1139
+ - _class: Expressir::Model::WhereRule
1068
1140
  expression:
1069
1141
  _class: Expressir::Model::Literals::Logical
1070
1142
  value: :TRUE
@@ -1073,6 +1145,7 @@ schemas:
1073
1145
  applies_to:
1074
1146
  - _class: Expressir::Model::Expressions::SimpleReference
1075
1147
  id: empty_entity
1148
+ base_path: syntax_schema.empty_entity
1076
1149
  constants:
1077
1150
  - _class: Expressir::Model::Constant
1078
1151
  id: test
@@ -1088,8 +1161,8 @@ schemas:
1088
1161
  expression:
1089
1162
  _class: Expressir::Model::Literals::Logical
1090
1163
  value: :TRUE
1091
- where:
1092
- - _class: Expressir::Model::Where
1164
+ where_rules:
1165
+ - _class: Expressir::Model::WhereRule
1093
1166
  expression:
1094
1167
  _class: Expressir::Model::Literals::Logical
1095
1168
  value: :TRUE
@@ -1098,13 +1171,14 @@ schemas:
1098
1171
  applies_to:
1099
1172
  - _class: Expressir::Model::Expressions::SimpleReference
1100
1173
  id: empty_entity
1174
+ base_path: syntax_schema.empty_entity
1101
1175
  variables:
1102
1176
  - _class: Expressir::Model::Variable
1103
1177
  id: test
1104
1178
  type:
1105
1179
  _class: Expressir::Model::Types::Boolean
1106
- where:
1107
- - _class: Expressir::Model::Where
1180
+ where_rules:
1181
+ - _class: Expressir::Model::WhereRule
1108
1182
  expression:
1109
1183
  _class: Expressir::Model::Literals::Logical
1110
1184
  value: :TRUE
@@ -1113,6 +1187,7 @@ schemas:
1113
1187
  applies_to:
1114
1188
  - _class: Expressir::Model::Expressions::SimpleReference
1115
1189
  id: empty_entity
1190
+ base_path: syntax_schema.empty_entity
1116
1191
  variables:
1117
1192
  - _class: Expressir::Model::Variable
1118
1193
  id: test
@@ -1122,8 +1197,8 @@ schemas:
1122
1197
  id: test2
1123
1198
  type:
1124
1199
  _class: Expressir::Model::Types::Boolean
1125
- where:
1126
- - _class: Expressir::Model::Where
1200
+ where_rules:
1201
+ - _class: Expressir::Model::WhereRule
1127
1202
  expression:
1128
1203
  _class: Expressir::Model::Literals::Logical
1129
1204
  value: :TRUE
@@ -1132,6 +1207,7 @@ schemas:
1132
1207
  applies_to:
1133
1208
  - _class: Expressir::Model::Expressions::SimpleReference
1134
1209
  id: empty_entity
1210
+ base_path: syntax_schema.empty_entity
1135
1211
  variables:
1136
1212
  - _class: Expressir::Model::Variable
1137
1213
  id: test
@@ -1141,8 +1217,8 @@ schemas:
1141
1217
  id: test2
1142
1218
  type:
1143
1219
  _class: Expressir::Model::Types::Boolean
1144
- where:
1145
- - _class: Expressir::Model::Where
1220
+ where_rules:
1221
+ - _class: Expressir::Model::WhereRule
1146
1222
  expression:
1147
1223
  _class: Expressir::Model::Literals::Logical
1148
1224
  value: :TRUE
@@ -1151,6 +1227,7 @@ schemas:
1151
1227
  applies_to:
1152
1228
  - _class: Expressir::Model::Expressions::SimpleReference
1153
1229
  id: empty_entity
1230
+ base_path: syntax_schema.empty_entity
1154
1231
  variables:
1155
1232
  - _class: Expressir::Model::Variable
1156
1233
  id: test
@@ -1159,8 +1236,8 @@ schemas:
1159
1236
  expression:
1160
1237
  _class: Expressir::Model::Literals::Logical
1161
1238
  value: :TRUE
1162
- where:
1163
- - _class: Expressir::Model::Where
1239
+ where_rules:
1240
+ - _class: Expressir::Model::WhereRule
1164
1241
  expression:
1165
1242
  _class: Expressir::Model::Literals::Logical
1166
1243
  value: :TRUE
@@ -1169,6 +1246,7 @@ schemas:
1169
1246
  applies_to:
1170
1247
  - _class: Expressir::Model::Expressions::SimpleReference
1171
1248
  id: empty_entity
1249
+ base_path: syntax_schema.empty_entity
1172
1250
  variables:
1173
1251
  - _class: Expressir::Model::Variable
1174
1252
  id: test
@@ -1184,8 +1262,8 @@ schemas:
1184
1262
  expression:
1185
1263
  _class: Expressir::Model::Literals::Logical
1186
1264
  value: :TRUE
1187
- where:
1188
- - _class: Expressir::Model::Where
1265
+ where_rules:
1266
+ - _class: Expressir::Model::WhereRule
1189
1267
  expression:
1190
1268
  _class: Expressir::Model::Literals::Logical
1191
1269
  value: :TRUE
@@ -1194,6 +1272,7 @@ schemas:
1194
1272
  applies_to:
1195
1273
  - _class: Expressir::Model::Expressions::SimpleReference
1196
1274
  id: empty_entity
1275
+ base_path: syntax_schema.empty_entity
1197
1276
  variables:
1198
1277
  - _class: Expressir::Model::Variable
1199
1278
  id: test
@@ -1209,8 +1288,8 @@ schemas:
1209
1288
  expression:
1210
1289
  _class: Expressir::Model::Literals::Logical
1211
1290
  value: :TRUE
1212
- where:
1213
- - _class: Expressir::Model::Where
1291
+ where_rules:
1292
+ - _class: Expressir::Model::WhereRule
1214
1293
  expression:
1215
1294
  _class: Expressir::Model::Literals::Logical
1216
1295
  value: :TRUE
@@ -1219,10 +1298,11 @@ schemas:
1219
1298
  applies_to:
1220
1299
  - _class: Expressir::Model::Expressions::SimpleReference
1221
1300
  id: empty_entity
1301
+ base_path: syntax_schema.empty_entity
1222
1302
  statements:
1223
1303
  - _class: Expressir::Model::Statements::Null
1224
- where:
1225
- - _class: Expressir::Model::Where
1304
+ where_rules:
1305
+ - _class: Expressir::Model::WhereRule
1226
1306
  expression:
1227
1307
  _class: Expressir::Model::Literals::Logical
1228
1308
  value: :TRUE
@@ -1231,8 +1311,9 @@ schemas:
1231
1311
  applies_to:
1232
1312
  - _class: Expressir::Model::Expressions::SimpleReference
1233
1313
  id: empty_entity
1234
- where:
1235
- - _class: Expressir::Model::Where
1314
+ base_path: syntax_schema.empty_entity
1315
+ where_rules:
1316
+ - _class: Expressir::Model::WhereRule
1236
1317
  id: WR1
1237
1318
  expression:
1238
1319
  _class: Expressir::Model::Literals::Logical
@@ -1319,7 +1400,7 @@ schemas:
1319
1400
  types:
1320
1401
  - _class: Expressir::Model::Type
1321
1402
  id: test
1322
- type:
1403
+ underlying_type:
1323
1404
  _class: Expressir::Model::Types::Boolean
1324
1405
  - _class: Expressir::Model::Procedure
1325
1406
  id: constant_procedure
@@ -1728,6 +1809,7 @@ schemas:
1728
1809
  ref:
1729
1810
  _class: Expressir::Model::Expressions::SimpleReference
1730
1811
  id: empty_procedure
1812
+ base_path: syntax_schema.empty_procedure
1731
1813
  - _class: Expressir::Model::Procedure
1732
1814
  id: call_parameter_statement
1733
1815
  statements:
@@ -1735,6 +1817,7 @@ schemas:
1735
1817
  ref:
1736
1818
  _class: Expressir::Model::Expressions::SimpleReference
1737
1819
  id: empty_procedure
1820
+ base_path: syntax_schema.empty_procedure
1738
1821
  parameters:
1739
1822
  - _class: Expressir::Model::Literals::Logical
1740
1823
  value: :TRUE
@@ -1745,6 +1828,7 @@ schemas:
1745
1828
  ref:
1746
1829
  _class: Expressir::Model::Expressions::SimpleReference
1747
1830
  id: empty_procedure
1831
+ base_path: syntax_schema.empty_procedure
1748
1832
  parameters:
1749
1833
  - _class: Expressir::Model::Literals::Logical
1750
1834
  value: :TRUE
@@ -1843,18 +1927,18 @@ schemas:
1843
1927
  types:
1844
1928
  - _class: Expressir::Model::Type
1845
1929
  id: binary_type
1846
- type:
1930
+ underlying_type:
1847
1931
  _class: Expressir::Model::Types::Binary
1848
1932
  - _class: Expressir::Model::Type
1849
1933
  id: binary_width_type
1850
- type:
1934
+ underlying_type:
1851
1935
  _class: Expressir::Model::Types::Binary
1852
1936
  width:
1853
1937
  _class: Expressir::Model::Literals::Integer
1854
1938
  value: '3'
1855
1939
  - _class: Expressir::Model::Type
1856
1940
  id: binary_width_fixed_type
1857
- type:
1941
+ underlying_type:
1858
1942
  _class: Expressir::Model::Types::Binary
1859
1943
  width:
1860
1944
  _class: Expressir::Model::Literals::Integer
@@ -1862,45 +1946,45 @@ schemas:
1862
1946
  fixed: true
1863
1947
  - _class: Expressir::Model::Type
1864
1948
  id: boolean_type
1865
- type:
1949
+ underlying_type:
1866
1950
  _class: Expressir::Model::Types::Boolean
1867
1951
  - _class: Expressir::Model::Type
1868
1952
  id: integer_type
1869
- type:
1953
+ underlying_type:
1870
1954
  _class: Expressir::Model::Types::Integer
1871
1955
  - _class: Expressir::Model::Type
1872
1956
  id: logical_type
1873
- type:
1957
+ underlying_type:
1874
1958
  _class: Expressir::Model::Types::Logical
1875
1959
  - _class: Expressir::Model::Type
1876
1960
  id: number_type
1877
- type:
1961
+ underlying_type:
1878
1962
  _class: Expressir::Model::Types::Number
1879
1963
  - _class: Expressir::Model::Type
1880
1964
  id: real_type
1881
- type:
1965
+ underlying_type:
1882
1966
  _class: Expressir::Model::Types::Real
1883
1967
  - _class: Expressir::Model::Type
1884
1968
  id: real_precision_type
1885
- type:
1969
+ underlying_type:
1886
1970
  _class: Expressir::Model::Types::Real
1887
1971
  precision:
1888
1972
  _class: Expressir::Model::Literals::Integer
1889
1973
  value: '3'
1890
1974
  - _class: Expressir::Model::Type
1891
1975
  id: string_type
1892
- type:
1976
+ underlying_type:
1893
1977
  _class: Expressir::Model::Types::String
1894
1978
  - _class: Expressir::Model::Type
1895
1979
  id: string_width_type
1896
- type:
1980
+ underlying_type:
1897
1981
  _class: Expressir::Model::Types::String
1898
1982
  width:
1899
1983
  _class: Expressir::Model::Literals::Integer
1900
1984
  value: '3'
1901
1985
  - _class: Expressir::Model::Type
1902
1986
  id: string_width_fixed_type
1903
- type:
1987
+ underlying_type:
1904
1988
  _class: Expressir::Model::Types::String
1905
1989
  width:
1906
1990
  _class: Expressir::Model::Literals::Integer
@@ -1908,7 +1992,7 @@ schemas:
1908
1992
  fixed: true
1909
1993
  - _class: Expressir::Model::Type
1910
1994
  id: array_type
1911
- type:
1995
+ underlying_type:
1912
1996
  _class: Expressir::Model::Types::Array
1913
1997
  bound1:
1914
1998
  _class: Expressir::Model::Literals::Integer
@@ -1920,7 +2004,7 @@ schemas:
1920
2004
  _class: Expressir::Model::Types::String
1921
2005
  - _class: Expressir::Model::Type
1922
2006
  id: array_optional_type
1923
- type:
2007
+ underlying_type:
1924
2008
  _class: Expressir::Model::Types::Array
1925
2009
  bound1:
1926
2010
  _class: Expressir::Model::Literals::Integer
@@ -1933,7 +2017,7 @@ schemas:
1933
2017
  _class: Expressir::Model::Types::String
1934
2018
  - _class: Expressir::Model::Type
1935
2019
  id: array_unique_type
1936
- type:
2020
+ underlying_type:
1937
2021
  _class: Expressir::Model::Types::Array
1938
2022
  bound1:
1939
2023
  _class: Expressir::Model::Literals::Integer
@@ -1946,7 +2030,7 @@ schemas:
1946
2030
  _class: Expressir::Model::Types::String
1947
2031
  - _class: Expressir::Model::Type
1948
2032
  id: array_optional_unique_type
1949
- type:
2033
+ underlying_type:
1950
2034
  _class: Expressir::Model::Types::Array
1951
2035
  bound1:
1952
2036
  _class: Expressir::Model::Literals::Integer
@@ -1960,13 +2044,13 @@ schemas:
1960
2044
  _class: Expressir::Model::Types::String
1961
2045
  - _class: Expressir::Model::Type
1962
2046
  id: bag_type
1963
- type:
2047
+ underlying_type:
1964
2048
  _class: Expressir::Model::Types::Bag
1965
2049
  base_type:
1966
2050
  _class: Expressir::Model::Types::String
1967
2051
  - _class: Expressir::Model::Type
1968
2052
  id: bag_bound_type
1969
- type:
2053
+ underlying_type:
1970
2054
  _class: Expressir::Model::Types::Bag
1971
2055
  bound1:
1972
2056
  _class: Expressir::Model::Literals::Integer
@@ -1978,13 +2062,13 @@ schemas:
1978
2062
  _class: Expressir::Model::Types::String
1979
2063
  - _class: Expressir::Model::Type
1980
2064
  id: list_type
1981
- type:
2065
+ underlying_type:
1982
2066
  _class: Expressir::Model::Types::List
1983
2067
  base_type:
1984
2068
  _class: Expressir::Model::Types::String
1985
2069
  - _class: Expressir::Model::Type
1986
2070
  id: list_bound_type
1987
- type:
2071
+ underlying_type:
1988
2072
  _class: Expressir::Model::Types::List
1989
2073
  bound1:
1990
2074
  _class: Expressir::Model::Literals::Integer
@@ -1996,14 +2080,14 @@ schemas:
1996
2080
  _class: Expressir::Model::Types::String
1997
2081
  - _class: Expressir::Model::Type
1998
2082
  id: list_unique_type
1999
- type:
2083
+ underlying_type:
2000
2084
  _class: Expressir::Model::Types::List
2001
2085
  unique: true
2002
2086
  base_type:
2003
2087
  _class: Expressir::Model::Types::String
2004
2088
  - _class: Expressir::Model::Type
2005
2089
  id: list_bound_unique_type
2006
- type:
2090
+ underlying_type:
2007
2091
  _class: Expressir::Model::Types::List
2008
2092
  bound1:
2009
2093
  _class: Expressir::Model::Literals::Integer
@@ -2016,13 +2100,13 @@ schemas:
2016
2100
  _class: Expressir::Model::Types::String
2017
2101
  - _class: Expressir::Model::Type
2018
2102
  id: set_type
2019
- type:
2103
+ underlying_type:
2020
2104
  _class: Expressir::Model::Types::Set
2021
2105
  base_type:
2022
2106
  _class: Expressir::Model::Types::String
2023
2107
  - _class: Expressir::Model::Type
2024
2108
  id: set_bound_type
2025
- type:
2109
+ underlying_type:
2026
2110
  _class: Expressir::Model::Types::Set
2027
2111
  bound1:
2028
2112
  _class: Expressir::Model::Literals::Integer
@@ -2034,83 +2118,92 @@ schemas:
2034
2118
  _class: Expressir::Model::Types::String
2035
2119
  - _class: Expressir::Model::Type
2036
2120
  id: select_type
2037
- type:
2121
+ underlying_type:
2038
2122
  _class: Expressir::Model::Types::Select
2039
2123
  - _class: Expressir::Model::Type
2040
2124
  id: select_extensible_type
2041
- type:
2125
+ underlying_type:
2042
2126
  _class: Expressir::Model::Types::Select
2043
2127
  extensible: true
2044
2128
  - _class: Expressir::Model::Type
2045
2129
  id: select_extensible_generic_entity_type
2046
- type:
2130
+ underlying_type:
2047
2131
  _class: Expressir::Model::Types::Select
2048
2132
  extensible: true
2049
2133
  generic_entity: true
2050
2134
  - _class: Expressir::Model::Type
2051
- id: select_list_type
2052
- type:
2135
+ id: select_item_type
2136
+ underlying_type:
2053
2137
  _class: Expressir::Model::Types::Select
2054
2138
  items:
2055
2139
  - _class: Expressir::Model::Expressions::SimpleReference
2056
2140
  id: empty_type
2141
+ base_path: syntax_schema.empty_type
2057
2142
  - _class: Expressir::Model::Type
2058
- id: select_list_multiple_type
2059
- type:
2143
+ id: select_multiple_item_type
2144
+ underlying_type:
2060
2145
  _class: Expressir::Model::Types::Select
2061
2146
  items:
2062
2147
  - _class: Expressir::Model::Expressions::SimpleReference
2063
2148
  id: empty_type
2149
+ base_path: syntax_schema.empty_type
2064
2150
  - _class: Expressir::Model::Expressions::SimpleReference
2065
2151
  id: empty_type
2152
+ base_path: syntax_schema.empty_type
2066
2153
  - _class: Expressir::Model::Type
2067
- id: select_extension_type_ref_type
2068
- type:
2154
+ id: select_based_on_type
2155
+ underlying_type:
2069
2156
  _class: Expressir::Model::Types::Select
2070
- extension_type:
2157
+ based_on:
2071
2158
  _class: Expressir::Model::Expressions::SimpleReference
2072
2159
  id: select_type
2160
+ base_path: syntax_schema.types.select_type
2073
2161
  - _class: Expressir::Model::Type
2074
- id: select_extension_type_ref_list_type
2075
- type:
2162
+ id: select_based_on_item_type
2163
+ underlying_type:
2076
2164
  _class: Expressir::Model::Types::Select
2077
- extension_type:
2165
+ based_on:
2078
2166
  _class: Expressir::Model::Expressions::SimpleReference
2079
2167
  id: select_type
2080
- extension_items:
2168
+ base_path: syntax_schema.types.select_type
2169
+ items:
2081
2170
  - _class: Expressir::Model::Expressions::SimpleReference
2082
2171
  id: empty_type
2172
+ base_path: syntax_schema.empty_type
2083
2173
  - _class: Expressir::Model::Type
2084
- id: select_extension_type_ref_list_multiple_type
2085
- type:
2174
+ id: select_based_on_multiple_item_type
2175
+ underlying_type:
2086
2176
  _class: Expressir::Model::Types::Select
2087
- extension_type:
2177
+ based_on:
2088
2178
  _class: Expressir::Model::Expressions::SimpleReference
2089
2179
  id: select_type
2090
- extension_items:
2180
+ base_path: syntax_schema.types.select_type
2181
+ items:
2091
2182
  - _class: Expressir::Model::Expressions::SimpleReference
2092
2183
  id: empty_type
2184
+ base_path: syntax_schema.empty_type
2093
2185
  - _class: Expressir::Model::Expressions::SimpleReference
2094
2186
  id: empty_type
2187
+ base_path: syntax_schema.empty_type
2095
2188
  - _class: Expressir::Model::Type
2096
2189
  id: enumeration_type
2097
- type:
2190
+ underlying_type:
2098
2191
  _class: Expressir::Model::Types::Enumeration
2099
2192
  - _class: Expressir::Model::Type
2100
2193
  id: enumeration_extensible_type
2101
- type:
2194
+ underlying_type:
2102
2195
  _class: Expressir::Model::Types::Enumeration
2103
2196
  extensible: true
2104
2197
  - _class: Expressir::Model::Type
2105
- id: enumeration_list_type
2106
- type:
2198
+ id: enumeration_item_type
2199
+ underlying_type:
2107
2200
  _class: Expressir::Model::Types::Enumeration
2108
2201
  items:
2109
2202
  - _class: Expressir::Model::EnumerationItem
2110
2203
  id: test
2111
2204
  - _class: Expressir::Model::Type
2112
- id: enumeration_list_multiple_type
2113
- type:
2205
+ id: enumeration_multiple_item_type
2206
+ underlying_type:
2114
2207
  _class: Expressir::Model::Types::Enumeration
2115
2208
  items:
2116
2209
  - _class: Expressir::Model::EnumerationItem
@@ -2118,30 +2211,33 @@ schemas:
2118
2211
  - _class: Expressir::Model::EnumerationItem
2119
2212
  id: test2
2120
2213
  - _class: Expressir::Model::Type
2121
- id: enumeration_extension_type_ref_type
2122
- type:
2214
+ id: enumeration_based_on_type
2215
+ underlying_type:
2123
2216
  _class: Expressir::Model::Types::Enumeration
2124
- extension_type:
2217
+ based_on:
2125
2218
  _class: Expressir::Model::Expressions::SimpleReference
2126
2219
  id: enumeration_type
2220
+ base_path: syntax_schema.types.enumeration_type
2127
2221
  - _class: Expressir::Model::Type
2128
- id: enumeration_extension_type_ref_list_type
2129
- type:
2222
+ id: enumeration_based_on_item_type
2223
+ underlying_type:
2130
2224
  _class: Expressir::Model::Types::Enumeration
2131
- extension_type:
2225
+ based_on:
2132
2226
  _class: Expressir::Model::Expressions::SimpleReference
2133
2227
  id: enumeration_type
2134
- extension_items:
2228
+ base_path: syntax_schema.types.enumeration_type
2229
+ items:
2135
2230
  - _class: Expressir::Model::EnumerationItem
2136
2231
  id: test
2137
2232
  - _class: Expressir::Model::Type
2138
- id: enumeration_extension_type_ref_list_multiple_type
2139
- type:
2233
+ id: enumeration_based_on_multiple_item_type
2234
+ underlying_type:
2140
2235
  _class: Expressir::Model::Types::Enumeration
2141
- extension_type:
2236
+ based_on:
2142
2237
  _class: Expressir::Model::Expressions::SimpleReference
2143
2238
  id: enumeration_type
2144
- extension_items:
2239
+ base_path: syntax_schema.types.enumeration_type
2240
+ items:
2145
2241
  - _class: Expressir::Model::EnumerationItem
2146
2242
  id: test
2147
2243
  - _class: Expressir::Model::EnumerationItem
@@ -3295,6 +3391,7 @@ schemas:
3295
3391
  ref:
3296
3392
  _class: Expressir::Model::Expressions::SimpleReference
3297
3393
  id: parameter_function
3394
+ base_path: syntax_schema.parameter_function
3298
3395
  parameters:
3299
3396
  - _class: Expressir::Model::Literals::Logical
3300
3397
  value: :TRUE