expressir 0.2.15-arm64-darwin → 0.2.21-arm64-darwin

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