expressir 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +46 -0
  3. data/.github/workflows/release.yml +74 -0
  4. data/.gitignore +1 -2
  5. data/.gitmodules +3 -0
  6. data/Gemfile +2 -0
  7. data/Rakefile +20 -0
  8. data/exe/generate-parser +48 -0
  9. data/expressir.gemspec +5 -2
  10. data/ext/express-parser/antlrgen/Express.interp +532 -0
  11. data/ext/express-parser/antlrgen/Express.tokens +190 -0
  12. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +7 -0
  13. data/ext/express-parser/antlrgen/ExpressBaseListener.h +623 -0
  14. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +7 -0
  15. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +816 -0
  16. data/ext/express-parser/antlrgen/ExpressLexer.cpp +1169 -0
  17. data/ext/express-parser/antlrgen/ExpressLexer.h +85 -0
  18. data/ext/express-parser/antlrgen/ExpressLexer.interp +534 -0
  19. data/ext/express-parser/antlrgen/ExpressLexer.tokens +190 -0
  20. data/ext/express-parser/antlrgen/ExpressListener.cpp +7 -0
  21. data/ext/express-parser/antlrgen/ExpressListener.h +616 -0
  22. data/ext/express-parser/antlrgen/ExpressParser.cpp +17284 -0
  23. data/ext/express-parser/antlrgen/ExpressParser.h +3696 -0
  24. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +7 -0
  25. data/ext/express-parser/antlrgen/ExpressVisitor.h +422 -0
  26. data/ext/express-parser/express_parser.cpp +17931 -0
  27. data/ext/express-parser/extconf.rb +34 -0
  28. data/lib/expressir/express_exp/formatter.rb +50 -44
  29. data/lib/expressir/express_exp/parser.rb +12 -6
  30. data/lib/expressir/express_exp/visitor.rb +1377 -1068
  31. data/lib/expressir/model.rb +3 -0
  32. data/lib/expressir/model/attribute.rb +4 -5
  33. data/lib/expressir/model/constant.rb +3 -4
  34. data/lib/expressir/model/entity.rb +4 -4
  35. data/lib/expressir/model/enumeration_item.rb +1 -4
  36. data/lib/expressir/model/expressions/query_expression.rb +4 -4
  37. data/lib/expressir/model/function.rb +4 -4
  38. data/lib/expressir/model/identifier.rb +9 -0
  39. data/lib/expressir/model/parameter.rb +4 -5
  40. data/lib/expressir/model/procedure.rb +4 -4
  41. data/lib/expressir/model/repository.rb +2 -0
  42. data/lib/expressir/model/rule.rb +4 -4
  43. data/lib/expressir/model/schema.rb +3 -3
  44. data/lib/expressir/model/scope.rb +17 -0
  45. data/lib/expressir/model/statements/alias.rb +4 -4
  46. data/lib/expressir/model/statements/repeat.rb +4 -4
  47. data/lib/expressir/model/subtype_constraint.rb +9 -4
  48. data/lib/expressir/model/type.rb +4 -4
  49. data/lib/expressir/model/types/aggregate.rb +4 -5
  50. data/lib/expressir/model/types/generic.rb +2 -5
  51. data/lib/expressir/model/types/generic_entity.rb +2 -5
  52. data/lib/expressir/model/unique.rb +3 -4
  53. data/lib/expressir/model/variable.rb +3 -4
  54. data/lib/expressir/model/where.rb +3 -4
  55. data/lib/expressir/version.rb +1 -1
  56. data/original/examples/syntax/remark_formatted.exp +73 -71
  57. data/original/examples/syntax/syntax_formatted.exp +109 -98
  58. data/spec/expressir/express_exp/ap233_spec.rb +1 -1
  59. data/spec/expressir/express_exp/parse_syntax_spec.rb +30 -30
  60. data/spec/expressir/model/find_spec.rb +110 -0
  61. metadata +61 -15
  62. data/.github/workflows/macos.yml +0 -38
  63. data/.github/workflows/ubuntu.yml +0 -56
  64. data/.github/workflows/windows.yml +0 -40
  65. data/generate-parser.sh +0 -29
  66. data/lib/expressir/express_exp/generated/ExpressBaseVisitor.rb +0 -779
  67. data/lib/expressir/express_exp/generated/ExpressLexer.rb +0 -844
  68. data/lib/expressir/express_exp/generated/ExpressParser.rb +0 -12162
  69. data/lib/expressir/express_exp/generated/ExpressVisitor.rb +0 -394
@@ -1,14 +1,13 @@
1
1
  module Expressir
2
2
  module Model
3
3
  class Where
4
- attr_accessor :id
5
- attr_accessor :expression
4
+ include Identifier
6
5
 
7
- attr_accessor :parent
8
- attr_accessor :remarks
6
+ attr_accessor :expression
9
7
 
10
8
  def initialize(options = {})
11
9
  @id = options[:id]
10
+
12
11
  @expression = options[:expression]
13
12
  end
14
13
  end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.3".freeze
2
+ VERSION = "0.2.4".freeze
3
3
  end
@@ -7,27 +7,14 @@ END_TYPE;
7
7
 
8
8
  ENTITY remark_entity;
9
9
  remark_attribute : STRING;
10
- DERIVE remark_derived_attribute : STRING := 'xxx';
11
- INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
10
+ DERIVE
11
+ remark_derived_attribute : STRING := 'xxx';
12
+ INVERSE
13
+ remark_inverse_attribute : remark_entity FOR remark_attribute;
12
14
  UNIQUE
13
15
  remark_unique : remark_attribute;
14
16
  WHERE
15
17
  remark_where : TRUE;
16
- --"remark_entity.remark_attribute" entity scope - entity attribute
17
- --"remark_entity.remark_attribute" schema scope - entity attribute
18
- --"remark_entity.remark_attribute" universal scope - entity attribute
19
- --"remark_entity.remark_derived_attribute" entity scope - entity derived attribute
20
- --"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
21
- --"remark_entity.remark_derived_attribute" universal scope - entity derived attribute
22
- --"remark_entity.remark_inverse_attribute" entity scope - entity inverse attribute
23
- --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
24
- --"remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
25
- --"remark_entity.remark_unique" entity scope - entity unique
26
- --"remark_entity.remark_unique" schema scope - entity unique
27
- --"remark_entity.remark_unique" universal scope - entity unique
28
- --"remark_entity.remark_where" entity scope - entity where
29
- --"remark_entity.remark_where" schema scope - entity where
30
- --"remark_entity.remark_where" universal scope - entity where
31
18
  END_ENTITY;
32
19
 
33
20
  SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity;
@@ -53,21 +40,6 @@ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
53
40
  remark_variable := QUERY(remark_query <* remark_variable | TRUE
54
41
  --"remark_query" function query scope - function query
55
42
  );
56
- --"remark_function.remark_parameter" function scope - function parameter
57
- --"remark_function.remark_parameter" schema scope - function parameter
58
- --"remark_function.remark_parameter" universal scope - function parameter
59
- --"remark_function.remark_type" function scope - function type
60
- --"remark_function.remark_type" schema scope - function type
61
- --"remark_function.remark_type" universal scope - function type
62
- --"remark_function.remark_enumeration_item" function scope - function enumeration item
63
- --"remark_function.remark_enumeration_item" schema scope - function enumeration item
64
- --"remark_function.remark_enumeration_item" universal scope - function enumeration item
65
- --"remark_function.remark_constant" function scope - function constant
66
- --"remark_function.remark_constant" schema scope - function constant
67
- --"remark_function.remark_constant" universal scope - function constant
68
- --"remark_function.remark_variable" function scope - function variable
69
- --"remark_function.remark_variable" schema scope - function variable
70
- --"remark_function.remark_variable" universal scope - function variable
71
43
  END_FUNCTION;
72
44
 
73
45
  PROCEDURE remark_procedure(remark_parameter : STRING);
@@ -90,21 +62,6 @@ PROCEDURE remark_procedure(remark_parameter : STRING);
90
62
  remark_variable := QUERY(remark_query <* remark_variable | TRUE
91
63
  --"remark_query" procedure query scope - procedure query
92
64
  );
93
- --"remark_procedure.remark_parameter" procedure scope - procedure parameter
94
- --"remark_procedure.remark_parameter" schema scope - procedure parameter
95
- --"remark_procedure.remark_parameter" universal scope - procedure parameter
96
- --"remark_procedure.remark_type" procedure scope - procedure type
97
- --"remark_procedure.remark_type" schema scope - procedure type
98
- --"remark_procedure.remark_type" universal scope - procedure type
99
- --"remark_procedure.remark_enumeration_item" procedure scope - procedure enumeration item
100
- --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
101
- --"remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
102
- --"remark_procedure.remark_constant" procedure scope - procedure constant
103
- --"remark_procedure.remark_constant" schema scope - procedure constant
104
- --"remark_procedure.remark_constant" universal scope - procedure constant
105
- --"remark_procedure.remark_variable" procedure scope - procedure variable
106
- --"remark_procedure.remark_variable" schema scope - procedure variable
107
- --"remark_procedure.remark_variable" universal scope - procedure variable
108
65
  END_PROCEDURE;
109
66
 
110
67
  RULE remark_rule FOR (remark_entity);
@@ -129,22 +86,16 @@ RULE remark_rule FOR (remark_entity);
129
86
  );
130
87
  WHERE
131
88
  remark_where : TRUE;
132
- --"remark_rule.remark_type" rule scope - rule type
133
- --"remark_rule.remark_type" schema scope - rule type
134
- --"remark_rule.remark_type" universal scope - rule type
135
- --"remark_rule.remark_enumeration_item" rule scope - rule enumeration item
136
- --"remark_rule.remark_enumeration_item" schema scope - rule enumeration item
137
- --"remark_rule.remark_enumeration_item" universal scope - rule enumeration item
138
- --"remark_rule.remark_constant" rule scope - rule constant
139
- --"remark_rule.remark_constant" schema scope - rule constant
140
- --"remark_rule.remark_constant" universal scope - rule constant
141
- --"remark_rule.remark_variable" rule scope - rule variable
142
- --"remark_rule.remark_variable" schema scope - rule variable
143
- --"remark_rule.remark_variable" universal scope - rule variable
144
- --"remark_rule.remark_where" rule scope - rule where
145
- --"remark_rule.remark_where" schema scope - rule where
146
- --"remark_rule.remark_where" universal scope - rule where
147
89
  END_RULE;
90
+ END_SCHEMA;
91
+ (*"remark_schema"
92
+ Any character within the EXPRESS character set may occur between the start and end of
93
+ an embedded remark including the newline character; therefore, embedded remarks can span
94
+ several physical lines.
95
+ *)
96
+ --"remark_schema" The tail remark is written at the end of a physical line.
97
+ --"remark_schema" universal scope - schema before
98
+ --"remark_schema" universal scope - schema
148
99
  --"remark_schema.remark_constant" schema scope - constant
149
100
  --"remark_schema.remark_constant" universal scope - constant
150
101
  --"remark_schema.remark_type" schema scope - type
@@ -153,20 +104,71 @@ END_RULE;
153
104
  --"remark_schema.remark_enumeration_item" universal scope - enumeration item
154
105
  --"remark_schema.remark_entity" schema scope - entity
155
106
  --"remark_schema.remark_entity" universal scope - entity
107
+ --"remark_schema.remark_entity.remark_attribute" entity scope - entity attribute
108
+ --"remark_schema.remark_entity.remark_attribute" schema scope - entity attribute
109
+ --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
110
+ --"remark_schema.remark_entity.remark_derived_attribute" entity scope - entity derived attribute
111
+ --"remark_schema.remark_entity.remark_derived_attribute" schema scope - entity derived attribute
112
+ --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
113
+ --"remark_schema.remark_entity.remark_inverse_attribute" entity scope - entity inverse attribute
114
+ --"remark_schema.remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
115
+ --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
116
+ --"remark_schema.remark_entity.remark_unique" entity scope - entity unique
117
+ --"remark_schema.remark_entity.remark_unique" schema scope - entity unique
118
+ --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
119
+ --"remark_schema.remark_entity.remark_where" entity scope - entity where
120
+ --"remark_schema.remark_entity.remark_where" schema scope - entity where
121
+ --"remark_schema.remark_entity.remark_where" universal scope - entity where
156
122
  --"remark_schema.remark_subtype_constraint" schema scope - subtype constraint
157
123
  --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
158
124
  --"remark_schema.remark_function" schema scope - function
159
125
  --"remark_schema.remark_function" universal scope - function
126
+ --"remark_schema.remark_function.remark_parameter" function scope - function parameter
127
+ --"remark_schema.remark_function.remark_parameter" schema scope - function parameter
128
+ --"remark_schema.remark_function.remark_parameter" universal scope - function parameter
129
+ --"remark_schema.remark_function.remark_type" function scope - function type
130
+ --"remark_schema.remark_function.remark_type" schema scope - function type
131
+ --"remark_schema.remark_function.remark_type" universal scope - function type
132
+ --"remark_schema.remark_function.remark_enumeration_item" function scope - function enumeration item
133
+ --"remark_schema.remark_function.remark_enumeration_item" schema scope - function enumeration item
134
+ --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
135
+ --"remark_schema.remark_function.remark_constant" function scope - function constant
136
+ --"remark_schema.remark_function.remark_constant" schema scope - function constant
137
+ --"remark_schema.remark_function.remark_constant" universal scope - function constant
138
+ --"remark_schema.remark_function.remark_variable" function scope - function variable
139
+ --"remark_schema.remark_function.remark_variable" schema scope - function variable
140
+ --"remark_schema.remark_function.remark_variable" universal scope - function variable
160
141
  --"remark_schema.remark_procedure" schema scope - procedure
161
142
  --"remark_schema.remark_procedure" universal scope - procedure
143
+ --"remark_schema.remark_procedure.remark_parameter" procedure scope - procedure parameter
144
+ --"remark_schema.remark_procedure.remark_parameter" schema scope - procedure parameter
145
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
146
+ --"remark_schema.remark_procedure.remark_type" procedure scope - procedure type
147
+ --"remark_schema.remark_procedure.remark_type" schema scope - procedure type
148
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
149
+ --"remark_schema.remark_procedure.remark_enumeration_item" procedure scope - procedure enumeration item
150
+ --"remark_schema.remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
151
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
152
+ --"remark_schema.remark_procedure.remark_constant" procedure scope - procedure constant
153
+ --"remark_schema.remark_procedure.remark_constant" schema scope - procedure constant
154
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
155
+ --"remark_schema.remark_procedure.remark_variable" procedure scope - procedure variable
156
+ --"remark_schema.remark_procedure.remark_variable" schema scope - procedure variable
157
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
162
158
  --"remark_schema.remark_rule" schema scope - rule
163
159
  --"remark_schema.remark_rule" universal scope - rule
164
- END_SCHEMA;
165
- (*"remark_schema"
166
- Any character within the EXPRESS character set may occur between the start and end of
167
- an embedded remark including the newline character; therefore, embedded remarks can span
168
- several physical lines.
169
- *)
170
- --"remark_schema" The tail remark is written at the end of a physical line.
171
- --"remark_schema" universal scope - schema before
172
- --"remark_schema" universal scope - schema
160
+ --"remark_schema.remark_rule.remark_type" rule scope - rule type
161
+ --"remark_schema.remark_rule.remark_type" schema scope - rule type
162
+ --"remark_schema.remark_rule.remark_type" universal scope - rule type
163
+ --"remark_schema.remark_rule.remark_enumeration_item" rule scope - rule enumeration item
164
+ --"remark_schema.remark_rule.remark_enumeration_item" schema scope - rule enumeration item
165
+ --"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
166
+ --"remark_schema.remark_rule.remark_constant" rule scope - rule constant
167
+ --"remark_schema.remark_rule.remark_constant" schema scope - rule constant
168
+ --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
169
+ --"remark_schema.remark_rule.remark_variable" rule scope - rule variable
170
+ --"remark_schema.remark_rule.remark_variable" schema scope - rule variable
171
+ --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
172
+ --"remark_schema.remark_rule.remark_where" rule scope - rule where
173
+ --"remark_schema.remark_rule.remark_where" schema scope - rule where
174
+ --"remark_schema.remark_rule.remark_where" universal scope - rule where
@@ -80,47 +80,58 @@ ENTITY attribute_redeclared_renamed_entity;
80
80
  END_ENTITY;
81
81
 
82
82
  ENTITY derived_attribute_entity;
83
- DERIVE test : BOOLEAN := TRUE;
83
+ DERIVE
84
+ test : BOOLEAN := TRUE;
84
85
  END_ENTITY;
85
86
 
86
87
  ENTITY derived_attribute_redeclared_entity;
87
- DERIVE SELF\attribute_entity.test : BOOLEAN := TRUE;
88
+ DERIVE
89
+ SELF\attribute_entity.test : BOOLEAN := TRUE;
88
90
  END_ENTITY;
89
91
 
90
92
  ENTITY derived_attribute_redeclared_renamed_entity;
91
- DERIVE SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
93
+ DERIVE
94
+ SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
92
95
  END_ENTITY;
93
96
 
94
97
  ENTITY inverse_attribute_entity;
95
- INVERSE test : attribute_entity FOR test;
98
+ INVERSE
99
+ test : attribute_entity FOR test;
96
100
  END_ENTITY;
97
101
 
98
102
  ENTITY inverse_attribute_entity_entity;
99
- INVERSE test : attribute_entity FOR attribute_entity.test;
103
+ INVERSE
104
+ test : attribute_entity FOR attribute_entity.test;
100
105
  END_ENTITY;
101
106
 
102
107
  ENTITY inverse_attribute_set_entity;
103
- INVERSE test : SET OF attribute_entity FOR test;
108
+ INVERSE
109
+ test : SET OF attribute_entity FOR test;
104
110
  END_ENTITY;
105
111
 
106
112
  ENTITY inverse_attribute_set_bound_entity;
107
- INVERSE test : SET [1:9] OF attribute_entity FOR test;
113
+ INVERSE
114
+ test : SET [1:9] OF attribute_entity FOR test;
108
115
  END_ENTITY;
109
116
 
110
117
  ENTITY inverse_attribute_bag_entity;
111
- INVERSE test : BAG OF attribute_entity FOR test;
118
+ INVERSE
119
+ test : BAG OF attribute_entity FOR test;
112
120
  END_ENTITY;
113
121
 
114
122
  ENTITY inverse_attribute_bag_bound_entity;
115
- INVERSE test : BAG [1:9] OF attribute_entity FOR test;
123
+ INVERSE
124
+ test : BAG [1:9] OF attribute_entity FOR test;
116
125
  END_ENTITY;
117
126
 
118
127
  ENTITY inverse_attribute_redeclared_entity;
119
- INVERSE SELF\attribute_entity.test : attribute_entity FOR test;
128
+ INVERSE
129
+ SELF\attribute_entity.test : attribute_entity FOR test;
120
130
  END_ENTITY;
121
131
 
122
132
  ENTITY inverse_attribute_redeclared_renamed_entity;
123
- INVERSE SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
133
+ INVERSE
134
+ SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
124
135
  END_ENTITY;
125
136
 
126
137
  ENTITY unique_entity;
@@ -391,6 +402,93 @@ PROCEDURE statement_procedure;
391
402
  ;
392
403
  END_PROCEDURE;
393
404
 
405
+ RULE empty_rule FOR (empty_entity);
406
+ WHERE
407
+ TRUE;
408
+ END_RULE;
409
+
410
+ RULE type_rule FOR (empty_entity);
411
+ TYPE test = BOOLEAN;
412
+ END_TYPE;
413
+ WHERE
414
+ TRUE;
415
+ END_RULE;
416
+
417
+ RULE constant_rule FOR (empty_entity);
418
+ CONSTANT
419
+ test : BOOLEAN := TRUE;
420
+ END_CONSTANT;
421
+ WHERE
422
+ TRUE;
423
+ END_RULE;
424
+
425
+ RULE multiple_constant_rule FOR (empty_entity);
426
+ CONSTANT
427
+ test : BOOLEAN := TRUE;
428
+ test2 : BOOLEAN := TRUE;
429
+ END_CONSTANT;
430
+ WHERE
431
+ TRUE;
432
+ END_RULE;
433
+
434
+ RULE variable_rule FOR (empty_entity);
435
+ LOCAL
436
+ test : BOOLEAN;
437
+ END_LOCAL;
438
+ WHERE
439
+ TRUE;
440
+ END_RULE;
441
+
442
+ RULE multiple_variable_rule FOR (empty_entity);
443
+ LOCAL
444
+ test : BOOLEAN;
445
+ test2 : BOOLEAN;
446
+ END_LOCAL;
447
+ WHERE
448
+ TRUE;
449
+ END_RULE;
450
+
451
+ RULE multiple_shorthand_variable_rule FOR (empty_entity);
452
+ LOCAL
453
+ test : BOOLEAN;
454
+ test2 : BOOLEAN;
455
+ END_LOCAL;
456
+ WHERE
457
+ TRUE;
458
+ END_RULE;
459
+
460
+ RULE variable_expression_rule FOR (empty_entity);
461
+ LOCAL
462
+ test : BOOLEAN := TRUE;
463
+ END_LOCAL;
464
+ WHERE
465
+ TRUE;
466
+ END_RULE;
467
+
468
+ RULE multiple_variable_expression_rule FOR (empty_entity);
469
+ LOCAL
470
+ test : BOOLEAN := TRUE;
471
+ test2 : BOOLEAN := TRUE;
472
+ END_LOCAL;
473
+ WHERE
474
+ TRUE;
475
+ END_RULE;
476
+
477
+ RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
478
+ LOCAL
479
+ test : BOOLEAN := TRUE;
480
+ test2 : BOOLEAN := TRUE;
481
+ END_LOCAL;
482
+ WHERE
483
+ TRUE;
484
+ END_RULE;
485
+
486
+ RULE statement_rule FOR (empty_entity);
487
+ ;
488
+ WHERE
489
+ TRUE;
490
+ END_RULE;
491
+
394
492
  TYPE binary_type = BINARY;
395
493
  END_TYPE;
396
494
 
@@ -1086,91 +1184,4 @@ END_FUNCTION;
1086
1184
  FUNCTION query_expression : BOOLEAN;
1087
1185
  RETURN (QUERY(test <* test2 | TRUE));
1088
1186
  END_FUNCTION;
1089
-
1090
- RULE empty_rule FOR (empty_entity);
1091
- WHERE
1092
- TRUE;
1093
- END_RULE;
1094
-
1095
- RULE type_rule FOR (empty_entity);
1096
- TYPE test = BOOLEAN;
1097
- END_TYPE;
1098
- WHERE
1099
- TRUE;
1100
- END_RULE;
1101
-
1102
- RULE constant_rule FOR (empty_entity);
1103
- CONSTANT
1104
- test : BOOLEAN := TRUE;
1105
- END_CONSTANT;
1106
- WHERE
1107
- TRUE;
1108
- END_RULE;
1109
-
1110
- RULE multiple_constant_rule FOR (empty_entity);
1111
- CONSTANT
1112
- test : BOOLEAN := TRUE;
1113
- test2 : BOOLEAN := TRUE;
1114
- END_CONSTANT;
1115
- WHERE
1116
- TRUE;
1117
- END_RULE;
1118
-
1119
- RULE variable_rule FOR (empty_entity);
1120
- LOCAL
1121
- test : BOOLEAN;
1122
- END_LOCAL;
1123
- WHERE
1124
- TRUE;
1125
- END_RULE;
1126
-
1127
- RULE multiple_variable_rule FOR (empty_entity);
1128
- LOCAL
1129
- test : BOOLEAN;
1130
- test2 : BOOLEAN;
1131
- END_LOCAL;
1132
- WHERE
1133
- TRUE;
1134
- END_RULE;
1135
-
1136
- RULE multiple_shorthand_variable_rule FOR (empty_entity);
1137
- LOCAL
1138
- test : BOOLEAN;
1139
- test2 : BOOLEAN;
1140
- END_LOCAL;
1141
- WHERE
1142
- TRUE;
1143
- END_RULE;
1144
-
1145
- RULE variable_expression_rule FOR (empty_entity);
1146
- LOCAL
1147
- test : BOOLEAN := TRUE;
1148
- END_LOCAL;
1149
- WHERE
1150
- TRUE;
1151
- END_RULE;
1152
-
1153
- RULE multiple_variable_expression_rule FOR (empty_entity);
1154
- LOCAL
1155
- test : BOOLEAN := TRUE;
1156
- test2 : BOOLEAN := TRUE;
1157
- END_LOCAL;
1158
- WHERE
1159
- TRUE;
1160
- END_RULE;
1161
-
1162
- RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
1163
- LOCAL
1164
- test : BOOLEAN := TRUE;
1165
- test2 : BOOLEAN := TRUE;
1166
- END_LOCAL;
1167
- WHERE
1168
- TRUE;
1169
- END_RULE;
1170
-
1171
- RULE statement_rule FOR (empty_entity);
1172
- ;
1173
- WHERE
1174
- TRUE;
1175
- END_RULE;
1176
1187
  END_SCHEMA;