expressir 0.2.12-x86-linux → 0.2.17-x86-linux

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