expressir 0.2.13-x86-mingw32 → 0.2.18-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/exe/format +56 -11
  3. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  4. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  5. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  6. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  7. data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
  8. data/lib/expressir/express_exp/formatter.rb +201 -147
  9. data/lib/expressir/express_exp/hyperlink_formatter.rb +6 -4
  10. data/lib/expressir/express_exp/parser.rb +38 -25
  11. data/lib/expressir/express_exp/schema_head_formatter.rb +2 -7
  12. data/lib/expressir/express_exp/visitor.rb +27 -54
  13. data/lib/expressir/model.rb +2 -1
  14. data/lib/expressir/model/entity.rb +6 -6
  15. data/lib/expressir/model/expressions/query_expression.rb +3 -3
  16. data/lib/expressir/model/function.rb +15 -11
  17. data/lib/expressir/model/informal_proposition.rb +4 -1
  18. data/lib/expressir/model/{renamed_ref.rb → interface_item.rb} +2 -2
  19. data/lib/expressir/model/interfaced_item.rb +26 -0
  20. data/lib/expressir/model/model_element.rb +28 -7
  21. data/lib/expressir/model/procedure.rb +15 -11
  22. data/lib/expressir/model/repository.rb +3 -3
  23. data/lib/expressir/model/rule.rb +16 -12
  24. data/lib/expressir/model/schema.rb +60 -29
  25. data/lib/expressir/model/statements/alias.rb +3 -3
  26. data/lib/expressir/model/statements/repeat.rb +3 -3
  27. data/lib/expressir/model/subtype_constraint.rb +1 -6
  28. data/lib/expressir/model/type.rb +9 -5
  29. data/lib/expressir/version.rb +1 -1
  30. data/original/examples/syntax/multiple.exp +23 -0
  31. data/original/examples/syntax/multiple.yaml +184 -0
  32. data/original/examples/syntax/multiple_formatted.exp +71 -0
  33. data/original/examples/syntax/multiple_hyperlink_formatted.exp +71 -0
  34. data/original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp +13 -0
  35. data/original/examples/syntax/remark.exp +41 -41
  36. data/original/examples/syntax/remark.yaml +446 -0
  37. data/original/examples/syntax/remark_formatted.exp +62 -50
  38. data/original/examples/syntax/{simple.exp → single.exp} +1 -1
  39. data/original/examples/syntax/single.yaml +9 -0
  40. data/original/examples/syntax/single_formatted.exp +6 -0
  41. data/original/examples/syntax/single_formatted.yaml +19 -0
  42. data/original/examples/syntax/single_root_path.yaml +9 -0
  43. data/original/examples/syntax/syntax.exp +29 -19
  44. data/original/examples/syntax/syntax.yaml +3439 -0
  45. data/original/examples/syntax/syntax_formatted.exp +271 -131
  46. data/original/examples/syntax/syntax_schema_head_formatted.exp +18 -0
  47. data/spec/expressir/express_exp/formatter_spec.rb +111 -0
  48. data/spec/expressir/express_exp/parser_spec.rb +121 -0
  49. data/spec/expressir/model/{model_element/find_spec.rb → model_element_spec.rb} +110 -10
  50. metadata +20 -18
  51. data/original/examples/syntax/hyperlink.exp +0 -8
  52. data/original/examples/syntax/hyperlink_formatted.exp +0 -19
  53. data/original/examples/syntax/source.exp +0 -16
  54. data/spec/expressir/express_exp/formatter/remark_spec.rb +0 -28
  55. data/spec/expressir/express_exp/formatter/syntax_spec.rb +0 -28
  56. data/spec/expressir/express_exp/hyperlink_formatter_spec.rb +0 -24
  57. data/spec/expressir/express_exp/parser/head_source_spec.rb +0 -38
  58. data/spec/expressir/express_exp/parser/multiple_spec.rb +0 -32
  59. data/spec/expressir/express_exp/parser/remark_spec.rb +0 -411
  60. data/spec/expressir/express_exp/parser/source_spec.rb +0 -29
  61. data/spec/expressir/express_exp/parser/syntax_spec.rb +0 -3080
  62. data/spec/expressir/express_exp/schema_head_formatter_spec.rb +0 -36
  63. 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: 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: 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;
@@ -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
@@ -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: 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