expressir 0.2.5 → 0.2.10
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.
- checksums.yaml +4 -4
- data/.cross_rubies +30 -0
- data/.github/workflows/rake.yml +14 -15
- data/.github/workflows/release.yml +24 -16
- data/.gitignore +3 -1
- data/Gemfile +0 -2
- data/Rakefile +2 -8
- data/expressir.gemspec +7 -4
- data/ext/express-parser/express_parser.cpp +12 -10
- data/ext/express-parser/extconf.rb +48 -25
- data/lib/expressir/express_exp/formatter.rb +74 -23
- data/lib/expressir/express_exp/parser.rb +20 -2
- data/lib/expressir/express_exp/visitor.rb +201 -96
- data/lib/expressir/model.rb +3 -0
- data/lib/expressir/model/attribute.rb +3 -1
- data/lib/expressir/model/constant.rb +3 -1
- data/lib/expressir/model/entity.rb +12 -19
- data/lib/expressir/model/enumeration_item.rb +3 -1
- data/lib/expressir/model/expressions/aggregate_initializer.rb +2 -2
- data/lib/expressir/model/expressions/aggregate_item.rb +1 -1
- data/lib/expressir/model/expressions/attribute_reference.rb +1 -1
- data/lib/expressir/model/expressions/binary_expression.rb +1 -1
- data/lib/expressir/model/expressions/call.rb +2 -2
- data/lib/expressir/model/expressions/entity_constructor.rb +2 -2
- data/lib/expressir/model/expressions/group_reference.rb +1 -1
- data/lib/expressir/model/expressions/index_reference.rb +1 -1
- data/lib/expressir/model/expressions/interval.rb +1 -1
- data/lib/expressir/model/expressions/query_expression.rb +5 -3
- data/lib/expressir/model/expressions/simple_reference.rb +1 -1
- data/lib/expressir/model/expressions/unary_expression.rb +1 -1
- data/lib/expressir/model/function.rb +32 -38
- data/lib/expressir/model/identifier.rb +1 -0
- data/lib/expressir/model/informal_proposition.rb +13 -0
- data/lib/expressir/model/interface.rb +2 -2
- data/lib/expressir/model/literals/binary.rb +1 -1
- data/lib/expressir/model/literals/integer.rb +1 -1
- data/lib/expressir/model/literals/logical.rb +1 -1
- data/lib/expressir/model/literals/real.rb +1 -1
- data/lib/expressir/model/literals/string.rb +1 -1
- data/lib/expressir/model/model_element.rb +67 -0
- data/lib/expressir/model/parameter.rb +3 -1
- data/lib/expressir/model/procedure.rb +33 -39
- data/lib/expressir/model/renamed_ref.rb +1 -1
- data/lib/expressir/model/repository.rb +3 -3
- data/lib/expressir/model/rule.rb +35 -38
- data/lib/expressir/model/schema.rb +35 -46
- data/lib/expressir/model/scope.rb +49 -3
- data/lib/expressir/model/statements/alias.rb +4 -2
- data/lib/expressir/model/statements/assignment.rb +1 -1
- data/lib/expressir/model/statements/call.rb +2 -2
- data/lib/expressir/model/statements/case.rb +2 -2
- data/lib/expressir/model/statements/case_action.rb +2 -2
- data/lib/expressir/model/statements/compound.rb +2 -2
- data/lib/expressir/model/statements/escape.rb +1 -1
- data/lib/expressir/model/statements/if.rb +3 -3
- data/lib/expressir/model/statements/null.rb +1 -1
- data/lib/expressir/model/statements/repeat.rb +4 -2
- data/lib/expressir/model/statements/return.rb +1 -1
- data/lib/expressir/model/statements/skip.rb +1 -1
- data/lib/expressir/model/subtype_constraint.rb +3 -1
- data/lib/expressir/model/type.rb +13 -3
- data/lib/expressir/model/types/aggregate.rb +3 -1
- data/lib/expressir/model/types/array.rb +1 -1
- data/lib/expressir/model/types/bag.rb +1 -1
- data/lib/expressir/model/types/binary.rb +1 -1
- data/lib/expressir/model/types/boolean.rb +1 -1
- data/lib/expressir/model/types/enumeration.rb +3 -3
- data/lib/expressir/model/types/generic.rb +3 -1
- data/lib/expressir/model/types/generic_entity.rb +3 -1
- data/lib/expressir/model/types/integer.rb +1 -1
- data/lib/expressir/model/types/list.rb +1 -1
- data/lib/expressir/model/types/logical.rb +1 -1
- data/lib/expressir/model/types/number.rb +1 -1
- data/lib/expressir/model/types/real.rb +1 -1
- data/lib/expressir/model/types/select.rb +3 -3
- data/lib/expressir/model/types/set.rb +1 -1
- data/lib/expressir/model/types/string.rb +1 -1
- data/lib/expressir/model/unique.rb +4 -2
- data/lib/expressir/model/variable.rb +3 -1
- data/lib/expressir/model/where.rb +3 -1
- data/lib/expressir/version.rb +1 -1
- data/original/examples/syntax/remark.exp +64 -20
- data/original/examples/syntax/remark_formatted.exp +63 -24
- data/original/examples/syntax/simple.exp +3 -0
- data/original/examples/syntax/source.exp +16 -0
- data/original/examples/syntax/syntax.exp +194 -181
- data/original/examples/syntax/syntax_formatted.exp +354 -787
- data/rakelib/cross-ruby.rake +308 -0
- data/spec/expressir/express_exp/head_source_spec.rb +38 -0
- data/spec/expressir/express_exp/parse_multiple_spec.rb +32 -0
- data/spec/expressir/express_exp/parse_remark_spec.rb +122 -56
- data/spec/expressir/express_exp/parse_syntax_spec.rb +1619 -1569
- data/spec/expressir/express_exp/source_spec.rb +29 -0
- data/spec/expressir/model/model_element_spec.rb +59 -0
- data/spec/expressir/model/{find_spec.rb → scope_spec.rb} +20 -7
- metadata +45 -21
@@ -2,11 +2,15 @@ SCHEMA syntax_schema 'version';
|
|
2
2
|
USE FROM contract_schema;
|
3
3
|
USE FROM contract_schema
|
4
4
|
(contract);
|
5
|
+
USE FROM contract_schema
|
6
|
+
(contract, contract2);
|
5
7
|
USE FROM contract_schema
|
6
8
|
(contract AS contract2);
|
7
9
|
REFERENCE FROM contract_schema;
|
8
10
|
REFERENCE FROM contract_schema
|
9
11
|
(contract);
|
12
|
+
REFERENCE FROM contract_schema
|
13
|
+
(contract, contract2);
|
10
14
|
REFERENCE FROM contract_schema
|
11
15
|
(contract AS contract2);
|
12
16
|
CONSTANT
|
@@ -14,254 +18,198 @@ CONSTANT
|
|
14
18
|
END_CONSTANT;
|
15
19
|
TYPE empty_type = BOOLEAN;
|
16
20
|
END_TYPE;
|
17
|
-
|
18
21
|
TYPE where_type = BOOLEAN;
|
19
22
|
WHERE
|
20
23
|
TRUE;
|
21
24
|
END_TYPE;
|
22
|
-
|
23
25
|
TYPE where_label_type = BOOLEAN;
|
24
26
|
WHERE
|
25
27
|
WR1 : TRUE;
|
26
28
|
END_TYPE;
|
27
|
-
|
28
29
|
ENTITY empty_entity;
|
29
30
|
END_ENTITY;
|
30
|
-
|
31
31
|
ENTITY abstract_entity
|
32
32
|
ABSTRACT SUPERTYPE;
|
33
33
|
END_ENTITY;
|
34
|
-
|
35
34
|
ENTITY abstract_supertype_entity
|
36
35
|
ABSTRACT SUPERTYPE;
|
37
36
|
END_ENTITY;
|
38
|
-
|
39
37
|
ENTITY abstract_supertype_constraint_entity
|
40
38
|
ABSTRACT SUPERTYPE OF (empty_entity);
|
41
39
|
END_ENTITY;
|
42
|
-
|
43
40
|
ENTITY supertype_constraint_entity
|
44
41
|
SUPERTYPE OF (empty_entity);
|
45
42
|
END_ENTITY;
|
46
|
-
|
47
43
|
ENTITY subtype_entity
|
48
44
|
SUBTYPE OF (empty_entity);
|
49
45
|
END_ENTITY;
|
50
|
-
|
51
46
|
ENTITY supertype_constraint_subtype_entity
|
52
47
|
SUPERTYPE OF (empty_entity)
|
53
48
|
SUBTYPE OF (empty_entity);
|
54
49
|
END_ENTITY;
|
55
|
-
|
56
50
|
ENTITY attribute_entity;
|
57
51
|
test : BOOLEAN;
|
58
52
|
END_ENTITY;
|
59
|
-
|
60
53
|
ENTITY attribute_optional_entity;
|
61
54
|
test : OPTIONAL BOOLEAN;
|
62
55
|
END_ENTITY;
|
63
|
-
|
64
56
|
ENTITY attribute_multiple_entity;
|
65
57
|
test : BOOLEAN;
|
66
58
|
test2 : BOOLEAN;
|
67
59
|
END_ENTITY;
|
68
|
-
|
69
60
|
ENTITY attribute_multiple_shorthand_entity;
|
70
61
|
test : BOOLEAN;
|
71
62
|
test2 : BOOLEAN;
|
72
63
|
END_ENTITY;
|
73
|
-
|
74
64
|
ENTITY attribute_redeclared_entity;
|
75
65
|
SELF\attribute_entity.test : BOOLEAN;
|
76
66
|
END_ENTITY;
|
77
|
-
|
78
67
|
ENTITY attribute_redeclared_renamed_entity;
|
79
68
|
SELF\attribute_entity.test RENAMED test2 : BOOLEAN;
|
80
69
|
END_ENTITY;
|
81
|
-
|
82
70
|
ENTITY derived_attribute_entity;
|
83
71
|
DERIVE
|
84
72
|
test : BOOLEAN := TRUE;
|
85
73
|
END_ENTITY;
|
86
|
-
|
87
74
|
ENTITY derived_attribute_redeclared_entity;
|
88
75
|
DERIVE
|
89
76
|
SELF\attribute_entity.test : BOOLEAN := TRUE;
|
90
77
|
END_ENTITY;
|
91
|
-
|
92
78
|
ENTITY derived_attribute_redeclared_renamed_entity;
|
93
79
|
DERIVE
|
94
80
|
SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
|
95
81
|
END_ENTITY;
|
96
|
-
|
97
82
|
ENTITY inverse_attribute_entity;
|
98
83
|
INVERSE
|
99
84
|
test : attribute_entity FOR test;
|
100
85
|
END_ENTITY;
|
101
|
-
|
102
86
|
ENTITY inverse_attribute_entity_entity;
|
103
87
|
INVERSE
|
104
88
|
test : attribute_entity FOR attribute_entity.test;
|
105
89
|
END_ENTITY;
|
106
|
-
|
107
90
|
ENTITY inverse_attribute_set_entity;
|
108
91
|
INVERSE
|
109
92
|
test : SET OF attribute_entity FOR test;
|
110
93
|
END_ENTITY;
|
111
|
-
|
112
94
|
ENTITY inverse_attribute_set_bound_entity;
|
113
95
|
INVERSE
|
114
96
|
test : SET [1:9] OF attribute_entity FOR test;
|
115
97
|
END_ENTITY;
|
116
|
-
|
117
98
|
ENTITY inverse_attribute_bag_entity;
|
118
99
|
INVERSE
|
119
100
|
test : BAG OF attribute_entity FOR test;
|
120
101
|
END_ENTITY;
|
121
|
-
|
122
102
|
ENTITY inverse_attribute_bag_bound_entity;
|
123
103
|
INVERSE
|
124
104
|
test : BAG [1:9] OF attribute_entity FOR test;
|
125
105
|
END_ENTITY;
|
126
|
-
|
127
106
|
ENTITY inverse_attribute_redeclared_entity;
|
128
107
|
INVERSE
|
129
108
|
SELF\attribute_entity.test : attribute_entity FOR test;
|
130
109
|
END_ENTITY;
|
131
|
-
|
132
110
|
ENTITY inverse_attribute_redeclared_renamed_entity;
|
133
111
|
INVERSE
|
134
112
|
SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
|
135
113
|
END_ENTITY;
|
136
|
-
|
137
114
|
ENTITY unique_entity;
|
138
115
|
test : BOOLEAN;
|
139
116
|
UNIQUE
|
140
117
|
test;
|
141
118
|
END_ENTITY;
|
142
|
-
|
143
119
|
ENTITY unique_label_entity;
|
144
120
|
test : BOOLEAN;
|
145
121
|
UNIQUE
|
146
122
|
UR1 : test;
|
147
123
|
END_ENTITY;
|
148
|
-
|
149
124
|
ENTITY unique_qualified_entity;
|
150
125
|
UNIQUE
|
151
126
|
SELF\attribute_entity.test;
|
152
127
|
END_ENTITY;
|
153
|
-
|
154
128
|
ENTITY unique_label_qualified_entity;
|
155
129
|
UNIQUE
|
156
130
|
UR1 : SELF\attribute_entity.test;
|
157
131
|
END_ENTITY;
|
158
|
-
|
159
132
|
ENTITY where_entity;
|
160
133
|
WHERE
|
161
134
|
TRUE;
|
162
135
|
END_ENTITY;
|
163
|
-
|
164
136
|
ENTITY where_label_entity;
|
165
137
|
WHERE
|
166
138
|
WR1 : TRUE;
|
167
139
|
END_ENTITY;
|
168
|
-
|
169
140
|
SUBTYPE_CONSTRAINT empty_subtype_constraint FOR empty_entity;
|
170
141
|
END_SUBTYPE_CONSTRAINT;
|
171
|
-
|
172
142
|
SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR empty_entity;
|
173
143
|
ABSTRACT SUPERTYPE;
|
174
144
|
END_SUBTYPE_CONSTRAINT;
|
175
|
-
|
176
145
|
SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR empty_entity;
|
177
146
|
TOTAL_OVER(a);
|
178
147
|
END_SUBTYPE_CONSTRAINT;
|
179
|
-
|
180
148
|
SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR empty_entity;
|
181
149
|
a;
|
182
150
|
END_SUBTYPE_CONSTRAINT;
|
183
|
-
|
184
151
|
SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR empty_entity;
|
185
152
|
a ANDOR b;
|
186
153
|
END_SUBTYPE_CONSTRAINT;
|
187
|
-
|
188
154
|
SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR empty_entity;
|
189
155
|
a AND b;
|
190
156
|
END_SUBTYPE_CONSTRAINT;
|
191
|
-
|
192
157
|
SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR empty_entity;
|
193
158
|
a ANDOR b AND c;
|
194
159
|
END_SUBTYPE_CONSTRAINT;
|
195
|
-
|
196
160
|
SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR empty_entity;
|
197
161
|
a AND b ANDOR c;
|
198
162
|
END_SUBTYPE_CONSTRAINT;
|
199
|
-
|
200
163
|
SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR empty_entity;
|
201
164
|
(a ANDOR b) AND c;
|
202
165
|
END_SUBTYPE_CONSTRAINT;
|
203
|
-
|
204
166
|
SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR empty_entity;
|
205
167
|
a AND (b ANDOR c);
|
206
168
|
END_SUBTYPE_CONSTRAINT;
|
207
|
-
|
208
169
|
SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR empty_entity;
|
209
170
|
ONEOF(a, b);
|
210
171
|
END_SUBTYPE_CONSTRAINT;
|
211
|
-
|
212
172
|
SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR empty_entity;
|
213
173
|
a AND ONEOF(b, c);
|
214
174
|
END_SUBTYPE_CONSTRAINT;
|
215
|
-
|
216
175
|
SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR empty_entity;
|
217
176
|
a ANDOR ONEOF(b, c);
|
218
177
|
END_SUBTYPE_CONSTRAINT;
|
219
|
-
|
220
178
|
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR empty_entity;
|
221
179
|
ONEOF(a, b) AND c;
|
222
180
|
END_SUBTYPE_CONSTRAINT;
|
223
|
-
|
224
181
|
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR empty_entity;
|
225
182
|
ONEOF(a, b) ANDOR c;
|
226
183
|
END_SUBTYPE_CONSTRAINT;
|
227
|
-
|
228
184
|
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR empty_entity;
|
229
185
|
ONEOF(a, b) AND ONEOF(c, d);
|
230
186
|
END_SUBTYPE_CONSTRAINT;
|
231
|
-
|
232
187
|
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR empty_entity;
|
233
188
|
ONEOF(a, b) ANDOR ONEOF(c, d);
|
234
189
|
END_SUBTYPE_CONSTRAINT;
|
235
|
-
|
236
190
|
FUNCTION empty_function : BOOLEAN;
|
237
191
|
;
|
238
192
|
END_FUNCTION;
|
239
|
-
|
240
193
|
FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN;
|
241
194
|
;
|
242
195
|
END_FUNCTION;
|
243
|
-
|
244
196
|
FUNCTION multiple_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
|
245
197
|
;
|
246
198
|
END_FUNCTION;
|
247
|
-
|
248
199
|
FUNCTION multiple_shorthand_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
|
249
200
|
;
|
250
201
|
END_FUNCTION;
|
251
|
-
|
252
202
|
FUNCTION type_function : BOOLEAN;
|
253
203
|
TYPE test = BOOLEAN;
|
254
204
|
END_TYPE;
|
255
205
|
;
|
256
206
|
END_FUNCTION;
|
257
|
-
|
258
207
|
FUNCTION constant_function : BOOLEAN;
|
259
208
|
CONSTANT
|
260
209
|
test : BOOLEAN := TRUE;
|
261
210
|
END_CONSTANT;
|
262
211
|
;
|
263
212
|
END_FUNCTION;
|
264
|
-
|
265
213
|
FUNCTION multiple_constant_function : BOOLEAN;
|
266
214
|
CONSTANT
|
267
215
|
test : BOOLEAN := TRUE;
|
@@ -269,14 +217,12 @@ FUNCTION multiple_constant_function : BOOLEAN;
|
|
269
217
|
END_CONSTANT;
|
270
218
|
;
|
271
219
|
END_FUNCTION;
|
272
|
-
|
273
220
|
FUNCTION variable_function : BOOLEAN;
|
274
221
|
LOCAL
|
275
222
|
test : BOOLEAN;
|
276
223
|
END_LOCAL;
|
277
224
|
;
|
278
225
|
END_FUNCTION;
|
279
|
-
|
280
226
|
FUNCTION multiple_variable_function : BOOLEAN;
|
281
227
|
LOCAL
|
282
228
|
test : BOOLEAN;
|
@@ -284,7 +230,6 @@ FUNCTION multiple_variable_function : BOOLEAN;
|
|
284
230
|
END_LOCAL;
|
285
231
|
;
|
286
232
|
END_FUNCTION;
|
287
|
-
|
288
233
|
FUNCTION multiple_shorthand_variable_function : BOOLEAN;
|
289
234
|
LOCAL
|
290
235
|
test : BOOLEAN;
|
@@ -292,14 +237,12 @@ FUNCTION multiple_shorthand_variable_function : BOOLEAN;
|
|
292
237
|
END_LOCAL;
|
293
238
|
;
|
294
239
|
END_FUNCTION;
|
295
|
-
|
296
240
|
FUNCTION variable_expression_function : BOOLEAN;
|
297
241
|
LOCAL
|
298
242
|
test : BOOLEAN := TRUE;
|
299
243
|
END_LOCAL;
|
300
244
|
;
|
301
245
|
END_FUNCTION;
|
302
|
-
|
303
246
|
FUNCTION multiple_variable_expression_function : BOOLEAN;
|
304
247
|
LOCAL
|
305
248
|
test : BOOLEAN := TRUE;
|
@@ -307,7 +250,6 @@ FUNCTION multiple_variable_expression_function : BOOLEAN;
|
|
307
250
|
END_LOCAL;
|
308
251
|
;
|
309
252
|
END_FUNCTION;
|
310
|
-
|
311
253
|
FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
|
312
254
|
LOCAL
|
313
255
|
test : BOOLEAN := TRUE;
|
@@ -315,105 +257,430 @@ FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
|
|
315
257
|
END_LOCAL;
|
316
258
|
;
|
317
259
|
END_FUNCTION;
|
318
|
-
|
319
260
|
PROCEDURE empty_procedure;
|
320
261
|
END_PROCEDURE;
|
321
|
-
|
322
262
|
PROCEDURE parameter_procedure(test : BOOLEAN);
|
323
263
|
END_PROCEDURE;
|
324
|
-
|
325
264
|
PROCEDURE multiple_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
|
326
265
|
END_PROCEDURE;
|
327
|
-
|
328
266
|
PROCEDURE multiple_shorthand_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
|
329
267
|
END_PROCEDURE;
|
330
|
-
|
331
268
|
PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN);
|
332
269
|
END_PROCEDURE;
|
333
|
-
|
334
270
|
PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN; test2 : BOOLEAN);
|
335
271
|
END_PROCEDURE;
|
336
|
-
|
337
272
|
PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN; VAR test2 : BOOLEAN);
|
338
273
|
END_PROCEDURE;
|
339
|
-
|
340
274
|
PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test : BOOLEAN; VAR test2 : BOOLEAN);
|
341
275
|
END_PROCEDURE;
|
342
|
-
|
343
276
|
PROCEDURE type_procedure;
|
344
277
|
TYPE test = BOOLEAN;
|
345
278
|
END_TYPE;
|
346
279
|
END_PROCEDURE;
|
347
|
-
|
348
280
|
PROCEDURE constant_procedure;
|
349
281
|
CONSTANT
|
350
282
|
test : BOOLEAN := TRUE;
|
351
283
|
END_CONSTANT;
|
352
284
|
END_PROCEDURE;
|
353
|
-
|
354
285
|
PROCEDURE multiple_constant_procedure;
|
355
286
|
CONSTANT
|
356
287
|
test : BOOLEAN := TRUE;
|
357
288
|
test2 : BOOLEAN := TRUE;
|
358
289
|
END_CONSTANT;
|
359
290
|
END_PROCEDURE;
|
360
|
-
|
361
291
|
PROCEDURE variable_procedure;
|
362
292
|
LOCAL
|
363
293
|
test : BOOLEAN;
|
364
294
|
END_LOCAL;
|
365
295
|
END_PROCEDURE;
|
366
|
-
|
367
296
|
PROCEDURE multiple_variable_procedure;
|
368
297
|
LOCAL
|
369
298
|
test : BOOLEAN;
|
370
299
|
test2 : BOOLEAN;
|
371
300
|
END_LOCAL;
|
372
301
|
END_PROCEDURE;
|
373
|
-
|
374
302
|
PROCEDURE multiple_shorthand_variable_procedure;
|
375
303
|
LOCAL
|
376
304
|
test : BOOLEAN;
|
377
305
|
test2 : BOOLEAN;
|
378
306
|
END_LOCAL;
|
379
307
|
END_PROCEDURE;
|
380
|
-
|
381
308
|
PROCEDURE variable_expression_procedure;
|
382
309
|
LOCAL
|
383
310
|
test : BOOLEAN := TRUE;
|
384
311
|
END_LOCAL;
|
385
312
|
END_PROCEDURE;
|
386
|
-
|
387
313
|
PROCEDURE multiple_variable_expression_procedure;
|
388
314
|
LOCAL
|
389
315
|
test : BOOLEAN := TRUE;
|
390
316
|
test2 : BOOLEAN := TRUE;
|
391
317
|
END_LOCAL;
|
392
318
|
END_PROCEDURE;
|
393
|
-
|
394
319
|
PROCEDURE multiple_shorthand_variable_expression_procedure;
|
395
320
|
LOCAL
|
396
321
|
test : BOOLEAN := TRUE;
|
397
322
|
test2 : BOOLEAN := TRUE;
|
398
323
|
END_LOCAL;
|
399
324
|
END_PROCEDURE;
|
400
|
-
|
401
325
|
PROCEDURE statement_procedure;
|
402
326
|
;
|
403
327
|
END_PROCEDURE;
|
404
|
-
|
328
|
+
PROCEDURE statements;
|
329
|
+
PROCEDURE alias_simple_reference_statement;
|
330
|
+
ALIAS test FOR test;
|
331
|
+
;
|
332
|
+
END_ALIAS;
|
333
|
+
END_PROCEDURE;
|
334
|
+
PROCEDURE alias_attribute_reference_statement;
|
335
|
+
ALIAS test FOR test.test;
|
336
|
+
;
|
337
|
+
END_ALIAS;
|
338
|
+
END_PROCEDURE;
|
339
|
+
PROCEDURE alias_group_reference_statement;
|
340
|
+
ALIAS test FOR test\test;
|
341
|
+
;
|
342
|
+
END_ALIAS;
|
343
|
+
END_PROCEDURE;
|
344
|
+
PROCEDURE alias_index_reference_statement;
|
345
|
+
ALIAS test FOR test[1];
|
346
|
+
;
|
347
|
+
END_ALIAS;
|
348
|
+
END_PROCEDURE;
|
349
|
+
PROCEDURE alias_index2_reference_statement;
|
350
|
+
ALIAS test FOR test[1:9];
|
351
|
+
;
|
352
|
+
END_ALIAS;
|
353
|
+
END_PROCEDURE;
|
354
|
+
PROCEDURE assignment_simple_reference_statement;
|
355
|
+
test := TRUE;
|
356
|
+
END_PROCEDURE;
|
357
|
+
PROCEDURE assignment_attribute_reference_statement;
|
358
|
+
test.test := TRUE;
|
359
|
+
END_PROCEDURE;
|
360
|
+
PROCEDURE assignment_group_reference_statement;
|
361
|
+
test\test := TRUE;
|
362
|
+
END_PROCEDURE;
|
363
|
+
PROCEDURE assignment_index_reference_statement;
|
364
|
+
test[1] := TRUE;
|
365
|
+
END_PROCEDURE;
|
366
|
+
PROCEDURE assignment_index2_reference_statement;
|
367
|
+
test[1:9] := TRUE;
|
368
|
+
END_PROCEDURE;
|
369
|
+
PROCEDURE case_statement;
|
370
|
+
CASE test OF
|
371
|
+
TRUE :
|
372
|
+
;
|
373
|
+
END_CASE;
|
374
|
+
END_PROCEDURE;
|
375
|
+
PROCEDURE case_multiple_statement;
|
376
|
+
CASE test OF
|
377
|
+
TRUE :
|
378
|
+
;
|
379
|
+
TRUE :
|
380
|
+
;
|
381
|
+
END_CASE;
|
382
|
+
END_PROCEDURE;
|
383
|
+
PROCEDURE case_multiple_shorthand_statement;
|
384
|
+
CASE test OF
|
385
|
+
TRUE, TRUE :
|
386
|
+
;
|
387
|
+
END_CASE;
|
388
|
+
END_PROCEDURE;
|
389
|
+
PROCEDURE case_otherwise_statement;
|
390
|
+
CASE test OF
|
391
|
+
TRUE :
|
392
|
+
;
|
393
|
+
OTHERWISE :
|
394
|
+
;
|
395
|
+
END_CASE;
|
396
|
+
END_PROCEDURE;
|
397
|
+
PROCEDURE compound_statement;
|
398
|
+
BEGIN
|
399
|
+
;
|
400
|
+
END;
|
401
|
+
END_PROCEDURE;
|
402
|
+
PROCEDURE escape_statement;
|
403
|
+
ESCAPE;
|
404
|
+
END_PROCEDURE;
|
405
|
+
PROCEDURE if_statement;
|
406
|
+
IF TRUE THEN
|
407
|
+
;
|
408
|
+
END_IF;
|
409
|
+
END_PROCEDURE;
|
410
|
+
PROCEDURE if2_statement;
|
411
|
+
IF TRUE THEN
|
412
|
+
;
|
413
|
+
;
|
414
|
+
END_IF;
|
415
|
+
END_PROCEDURE;
|
416
|
+
PROCEDURE if_else_statement;
|
417
|
+
IF TRUE THEN
|
418
|
+
;
|
419
|
+
ELSE
|
420
|
+
;
|
421
|
+
END_IF;
|
422
|
+
END_PROCEDURE;
|
423
|
+
PROCEDURE if2_else_statement;
|
424
|
+
IF TRUE THEN
|
425
|
+
;
|
426
|
+
;
|
427
|
+
ELSE
|
428
|
+
;
|
429
|
+
END_IF;
|
430
|
+
END_PROCEDURE;
|
431
|
+
PROCEDURE if_else2_statement;
|
432
|
+
IF TRUE THEN
|
433
|
+
;
|
434
|
+
ELSE
|
435
|
+
;
|
436
|
+
;
|
437
|
+
END_IF;
|
438
|
+
END_PROCEDURE;
|
439
|
+
PROCEDURE if2_else2_statement;
|
440
|
+
IF TRUE THEN
|
441
|
+
;
|
442
|
+
;
|
443
|
+
ELSE
|
444
|
+
;
|
445
|
+
;
|
446
|
+
END_IF;
|
447
|
+
END_PROCEDURE;
|
448
|
+
PROCEDURE null_statement;
|
449
|
+
;
|
450
|
+
END_PROCEDURE;
|
451
|
+
PROCEDURE call_statement;
|
452
|
+
empty_procedure;
|
453
|
+
END_PROCEDURE;
|
454
|
+
PROCEDURE call_parameter_statement;
|
455
|
+
empty_procedure(TRUE);
|
456
|
+
END_PROCEDURE;
|
457
|
+
PROCEDURE call_parameter2_statement;
|
458
|
+
empty_procedure(TRUE, TRUE);
|
459
|
+
END_PROCEDURE;
|
460
|
+
PROCEDURE call_insert_statement;
|
461
|
+
INSERT(TRUE);
|
462
|
+
END_PROCEDURE;
|
463
|
+
PROCEDURE call_remove_statement;
|
464
|
+
REMOVE(TRUE);
|
465
|
+
END_PROCEDURE;
|
466
|
+
PROCEDURE repeat_statement;
|
467
|
+
REPEAT;
|
468
|
+
;
|
469
|
+
END_REPEAT;
|
470
|
+
END_PROCEDURE;
|
471
|
+
PROCEDURE repeat_variable_statement;
|
472
|
+
REPEAT test := 1 TO 9;
|
473
|
+
;
|
474
|
+
END_REPEAT;
|
475
|
+
END_PROCEDURE;
|
476
|
+
PROCEDURE repeat_variable_increment_statement;
|
477
|
+
REPEAT test := 1 TO 9 BY 2;
|
478
|
+
;
|
479
|
+
END_REPEAT;
|
480
|
+
END_PROCEDURE;
|
481
|
+
PROCEDURE repeat_while_statement;
|
482
|
+
REPEAT WHILE TRUE;
|
483
|
+
;
|
484
|
+
END_REPEAT;
|
485
|
+
END_PROCEDURE;
|
486
|
+
PROCEDURE repeat_until_statement;
|
487
|
+
REPEAT UNTIL TRUE;
|
488
|
+
;
|
489
|
+
END_REPEAT;
|
490
|
+
END_PROCEDURE;
|
491
|
+
PROCEDURE return_statement;
|
492
|
+
RETURN;
|
493
|
+
END_PROCEDURE;
|
494
|
+
PROCEDURE return_expression_statement;
|
495
|
+
RETURN (TRUE);
|
496
|
+
END_PROCEDURE;
|
497
|
+
PROCEDURE skip_statement;
|
498
|
+
SKIP;
|
499
|
+
END_PROCEDURE;
|
500
|
+
END_PROCEDURE;
|
501
|
+
PROCEDURE types;
|
502
|
+
TYPE binary_type = BINARY;
|
503
|
+
END_TYPE;
|
504
|
+
TYPE binary_width_type = BINARY (3);
|
505
|
+
END_TYPE;
|
506
|
+
TYPE binary_width_fixed_type = BINARY (3) FIXED;
|
507
|
+
END_TYPE;
|
508
|
+
TYPE boolean_type = BOOLEAN;
|
509
|
+
END_TYPE;
|
510
|
+
TYPE integer_type = INTEGER;
|
511
|
+
END_TYPE;
|
512
|
+
TYPE logical_type = LOGICAL;
|
513
|
+
END_TYPE;
|
514
|
+
TYPE number_type = NUMBER;
|
515
|
+
END_TYPE;
|
516
|
+
TYPE real_type = REAL;
|
517
|
+
END_TYPE;
|
518
|
+
TYPE real_precision_type = REAL (3);
|
519
|
+
END_TYPE;
|
520
|
+
TYPE string_type = STRING;
|
521
|
+
END_TYPE;
|
522
|
+
TYPE string_width_type = STRING (3);
|
523
|
+
END_TYPE;
|
524
|
+
TYPE string_width_fixed_type = STRING (3) FIXED;
|
525
|
+
END_TYPE;
|
526
|
+
TYPE array_type = ARRAY [1:9] OF STRING;
|
527
|
+
END_TYPE;
|
528
|
+
TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING;
|
529
|
+
END_TYPE;
|
530
|
+
TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING;
|
531
|
+
END_TYPE;
|
532
|
+
TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING;
|
533
|
+
END_TYPE;
|
534
|
+
TYPE bag_type = BAG OF STRING;
|
535
|
+
END_TYPE;
|
536
|
+
TYPE bag_bound_type = BAG [1:9] OF STRING;
|
537
|
+
END_TYPE;
|
538
|
+
TYPE list_type = LIST OF STRING;
|
539
|
+
END_TYPE;
|
540
|
+
TYPE list_bound_type = LIST [1:9] OF STRING;
|
541
|
+
END_TYPE;
|
542
|
+
TYPE list_unique_type = LIST OF UNIQUE STRING;
|
543
|
+
END_TYPE;
|
544
|
+
TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING;
|
545
|
+
END_TYPE;
|
546
|
+
TYPE set_type = SET OF STRING;
|
547
|
+
END_TYPE;
|
548
|
+
TYPE set_bound_type = SET [1:9] OF STRING;
|
549
|
+
END_TYPE;
|
550
|
+
TYPE select_type = SELECT;
|
551
|
+
END_TYPE;
|
552
|
+
TYPE select_extensible_type = EXTENSIBLE SELECT;
|
553
|
+
END_TYPE;
|
554
|
+
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
555
|
+
END_TYPE;
|
556
|
+
TYPE select_list_type = SELECT (empty_type);
|
557
|
+
END_TYPE;
|
558
|
+
TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
|
559
|
+
END_TYPE;
|
560
|
+
TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type);
|
561
|
+
END_TYPE;
|
562
|
+
TYPE enumeration_type = ENUMERATION;
|
563
|
+
END_TYPE;
|
564
|
+
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
565
|
+
END_TYPE;
|
566
|
+
TYPE enumeration_list_type = ENUMERATION OF (test);
|
567
|
+
END_TYPE;
|
568
|
+
TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
|
569
|
+
END_TYPE;
|
570
|
+
TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test);
|
571
|
+
END_TYPE;
|
572
|
+
END_PROCEDURE;
|
573
|
+
PROCEDURE expressions;
|
574
|
+
LOCAL
|
575
|
+
binary_expression : BOOLEAN := %011110000111100001111000;
|
576
|
+
integer_expression : BOOLEAN := 999;
|
577
|
+
true_logical_expression : BOOLEAN := TRUE;
|
578
|
+
false_logical_expression : BOOLEAN := FALSE;
|
579
|
+
unknown_logical_expression : BOOLEAN := UNKNOWN;
|
580
|
+
real_expression : BOOLEAN := 999.999;
|
581
|
+
simple_string_expression : BOOLEAN := 'xxx';
|
582
|
+
utf8_simple_string_expression : BOOLEAN := 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.';
|
583
|
+
encoded_string_expression : BOOLEAN := "000000780000007800000078";
|
584
|
+
const_e_expression : BOOLEAN := CONST_E;
|
585
|
+
indeterminate_expression : BOOLEAN := ?;
|
586
|
+
pi_expression : BOOLEAN := PI;
|
587
|
+
self_expression : BOOLEAN := SELF;
|
588
|
+
abs_expression : BOOLEAN := ABS(TRUE);
|
589
|
+
acos_expression : BOOLEAN := ACOS(TRUE);
|
590
|
+
asin_expression : BOOLEAN := ASIN(TRUE);
|
591
|
+
atan_expression : BOOLEAN := ATAN(TRUE);
|
592
|
+
blength_expression : BOOLEAN := BLENGTH(TRUE);
|
593
|
+
cos_expression : BOOLEAN := COS(TRUE);
|
594
|
+
exists_expression : BOOLEAN := EXISTS(TRUE);
|
595
|
+
exp_expression : BOOLEAN := EXP(TRUE);
|
596
|
+
format_expression : BOOLEAN := FORMAT(TRUE);
|
597
|
+
hibound_expression : BOOLEAN := HIBOUND(TRUE);
|
598
|
+
hiindex_expression : BOOLEAN := HIINDEX(TRUE);
|
599
|
+
length_expression : BOOLEAN := LENGTH(TRUE);
|
600
|
+
lobound_expression : BOOLEAN := LOBOUND(TRUE);
|
601
|
+
loindex_expression : BOOLEAN := LOINDEX(TRUE);
|
602
|
+
log_expression : BOOLEAN := LOG(TRUE);
|
603
|
+
log2_expression : BOOLEAN := LOG2(TRUE);
|
604
|
+
log10_expression : BOOLEAN := LOG10(TRUE);
|
605
|
+
nvl_expression : BOOLEAN := NVL(TRUE);
|
606
|
+
odd_expression : BOOLEAN := ODD(TRUE);
|
607
|
+
rolesof_expression : BOOLEAN := ROLESOF(TRUE);
|
608
|
+
sin_expression : BOOLEAN := SIN(TRUE);
|
609
|
+
sizeof_expression : BOOLEAN := SIZEOF(TRUE);
|
610
|
+
sqrt_expression : BOOLEAN := SQRT(TRUE);
|
611
|
+
tan_expression : BOOLEAN := TAN(TRUE);
|
612
|
+
typeof_expression : BOOLEAN := TYPEOF(TRUE);
|
613
|
+
usedin_expression : BOOLEAN := USEDIN(TRUE);
|
614
|
+
value_expression : BOOLEAN := VALUE(TRUE);
|
615
|
+
value_in_expression : BOOLEAN := VALUE_IN(TRUE);
|
616
|
+
value_unique_expression : BOOLEAN := VALUE_UNIQUE(TRUE);
|
617
|
+
plus_expression : BOOLEAN := +4;
|
618
|
+
plus_addition_expression : BOOLEAN := +(4 + 2);
|
619
|
+
minus_expression : BOOLEAN := -4;
|
620
|
+
minus_addition_expression : BOOLEAN := -(4 + 2);
|
621
|
+
addition_expression : BOOLEAN := 4 + 2;
|
622
|
+
subtraction_expression : BOOLEAN := 4 - 2;
|
623
|
+
multiplication_expression : BOOLEAN := 4 * 2;
|
624
|
+
real_division_expression : BOOLEAN := 4 / 2;
|
625
|
+
integer_division_expression : BOOLEAN := 4 DIV 2;
|
626
|
+
modulo_expression : BOOLEAN := 4 MOD 2;
|
627
|
+
exponentiation_expression : BOOLEAN := 4 ** 2;
|
628
|
+
addition_addition_expression : BOOLEAN := 4 + 2 + 1;
|
629
|
+
subtraction_subtraction_expression : BOOLEAN := 4 - 2 - 1;
|
630
|
+
addition_subtraction_expression : BOOLEAN := 4 + 2 - 1;
|
631
|
+
subtraction_addition_expression : BOOLEAN := 4 - 2 + 1;
|
632
|
+
addition_multiplication_expression : BOOLEAN := 8 + 4 * 2;
|
633
|
+
multiplication_addition_expression : BOOLEAN := 8 * 4 + 2;
|
634
|
+
parenthesis_addition_multiplication_expression : BOOLEAN := (8 + 4) * 2;
|
635
|
+
multiplication_parenthesis_addition_expression : BOOLEAN := 8 * (4 + 2);
|
636
|
+
equal_expression : BOOLEAN := 4 = 2;
|
637
|
+
not_equal_expression : BOOLEAN := 4 <> 2;
|
638
|
+
instance_equal_expression : BOOLEAN := 4 :=: 2;
|
639
|
+
instance_not_equal_expression : BOOLEAN := 4 :<>: 2;
|
640
|
+
lt_expression : BOOLEAN := 4 < 2;
|
641
|
+
gt_expression : BOOLEAN := 4 > 2;
|
642
|
+
lte_expression : BOOLEAN := 4 <= 2;
|
643
|
+
gte_expression : BOOLEAN := 4 >= 2;
|
644
|
+
not_expression : BOOLEAN := NOT TRUE;
|
645
|
+
not_or_expression : BOOLEAN := NOT (TRUE OR FALSE);
|
646
|
+
or_expression : BOOLEAN := TRUE OR FALSE;
|
647
|
+
and_expression : BOOLEAN := TRUE AND FALSE;
|
648
|
+
or_or_expression : BOOLEAN := TRUE OR FALSE OR TRUE;
|
649
|
+
and_and_expression : BOOLEAN := TRUE AND FALSE AND TRUE;
|
650
|
+
or_and_expression : BOOLEAN := TRUE OR FALSE AND TRUE;
|
651
|
+
and_or_expression : BOOLEAN := TRUE AND FALSE OR TRUE;
|
652
|
+
parenthesis_or_and_expression : BOOLEAN := (TRUE OR FALSE) AND TRUE;
|
653
|
+
and_parenthesis_or_expression : BOOLEAN := TRUE AND (FALSE OR TRUE);
|
654
|
+
combine_expression : BOOLEAN := test || test;
|
655
|
+
in_expression : BOOLEAN := TRUE IN [TRUE];
|
656
|
+
like_expression : BOOLEAN := 'xxx' LIKE 'xxx';
|
657
|
+
aggregate_initializer_expression : BOOLEAN := [4];
|
658
|
+
repeated_aggregate_initializer_expression : BOOLEAN := [4:2];
|
659
|
+
complex_aggregate_initializer_expression : BOOLEAN := [4 + 2];
|
660
|
+
complex_repeated_aggregate_initializer_expression : BOOLEAN := [4 + 2:4 + 2];
|
661
|
+
call_expression : BOOLEAN := parameter_function(TRUE);
|
662
|
+
simple_reference_expression : BOOLEAN := simple_string_expression;
|
663
|
+
attribute_reference_expression : BOOLEAN := simple_string_expression.test;
|
664
|
+
group_reference_expression : BOOLEAN := simple_string_expression\test;
|
665
|
+
index_reference_expression : BOOLEAN := simple_string_expression[1];
|
666
|
+
index2_reference_expression : BOOLEAN := simple_string_expression[1:9];
|
667
|
+
lt_lt_interval_expression : BOOLEAN := {1 < 5 < 9};
|
668
|
+
lte_lt_interval_expression : BOOLEAN := {1 <= 5 < 9};
|
669
|
+
lt_lte_interval_expression : BOOLEAN := {1 < 5 <= 9};
|
670
|
+
lte_lte_interval_expression : BOOLEAN := {1 <= 5 <= 9};
|
671
|
+
query_expression : BOOLEAN := QUERY(test <* test2 | TRUE);
|
672
|
+
END_LOCAL;
|
673
|
+
END_PROCEDURE;
|
405
674
|
RULE empty_rule FOR (empty_entity);
|
406
675
|
WHERE
|
407
676
|
TRUE;
|
408
677
|
END_RULE;
|
409
|
-
|
410
678
|
RULE type_rule FOR (empty_entity);
|
411
679
|
TYPE test = BOOLEAN;
|
412
680
|
END_TYPE;
|
413
681
|
WHERE
|
414
682
|
TRUE;
|
415
683
|
END_RULE;
|
416
|
-
|
417
684
|
RULE constant_rule FOR (empty_entity);
|
418
685
|
CONSTANT
|
419
686
|
test : BOOLEAN := TRUE;
|
@@ -421,7 +688,6 @@ RULE constant_rule FOR (empty_entity);
|
|
421
688
|
WHERE
|
422
689
|
TRUE;
|
423
690
|
END_RULE;
|
424
|
-
|
425
691
|
RULE multiple_constant_rule FOR (empty_entity);
|
426
692
|
CONSTANT
|
427
693
|
test : BOOLEAN := TRUE;
|
@@ -430,7 +696,6 @@ RULE multiple_constant_rule FOR (empty_entity);
|
|
430
696
|
WHERE
|
431
697
|
TRUE;
|
432
698
|
END_RULE;
|
433
|
-
|
434
699
|
RULE variable_rule FOR (empty_entity);
|
435
700
|
LOCAL
|
436
701
|
test : BOOLEAN;
|
@@ -438,7 +703,6 @@ RULE variable_rule FOR (empty_entity);
|
|
438
703
|
WHERE
|
439
704
|
TRUE;
|
440
705
|
END_RULE;
|
441
|
-
|
442
706
|
RULE multiple_variable_rule FOR (empty_entity);
|
443
707
|
LOCAL
|
444
708
|
test : BOOLEAN;
|
@@ -447,7 +711,6 @@ RULE multiple_variable_rule FOR (empty_entity);
|
|
447
711
|
WHERE
|
448
712
|
TRUE;
|
449
713
|
END_RULE;
|
450
|
-
|
451
714
|
RULE multiple_shorthand_variable_rule FOR (empty_entity);
|
452
715
|
LOCAL
|
453
716
|
test : BOOLEAN;
|
@@ -456,7 +719,6 @@ RULE multiple_shorthand_variable_rule FOR (empty_entity);
|
|
456
719
|
WHERE
|
457
720
|
TRUE;
|
458
721
|
END_RULE;
|
459
|
-
|
460
722
|
RULE variable_expression_rule FOR (empty_entity);
|
461
723
|
LOCAL
|
462
724
|
test : BOOLEAN := TRUE;
|
@@ -464,7 +726,6 @@ RULE variable_expression_rule FOR (empty_entity);
|
|
464
726
|
WHERE
|
465
727
|
TRUE;
|
466
728
|
END_RULE;
|
467
|
-
|
468
729
|
RULE multiple_variable_expression_rule FOR (empty_entity);
|
469
730
|
LOCAL
|
470
731
|
test : BOOLEAN := TRUE;
|
@@ -473,7 +734,6 @@ RULE multiple_variable_expression_rule FOR (empty_entity);
|
|
473
734
|
WHERE
|
474
735
|
TRUE;
|
475
736
|
END_RULE;
|
476
|
-
|
477
737
|
RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
|
478
738
|
LOCAL
|
479
739
|
test : BOOLEAN := TRUE;
|
@@ -482,706 +742,13 @@ RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
|
|
482
742
|
WHERE
|
483
743
|
TRUE;
|
484
744
|
END_RULE;
|
485
|
-
|
486
745
|
RULE statement_rule FOR (empty_entity);
|
487
746
|
;
|
488
747
|
WHERE
|
489
748
|
TRUE;
|
490
749
|
END_RULE;
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
TYPE binary_width_type = BINARY (3);
|
496
|
-
END_TYPE;
|
497
|
-
|
498
|
-
TYPE binary_width_fixed_type = BINARY (3) FIXED;
|
499
|
-
END_TYPE;
|
500
|
-
|
501
|
-
TYPE boolean_type = BOOLEAN;
|
502
|
-
END_TYPE;
|
503
|
-
|
504
|
-
TYPE integer_type = INTEGER;
|
505
|
-
END_TYPE;
|
506
|
-
|
507
|
-
TYPE logical_type = LOGICAL;
|
508
|
-
END_TYPE;
|
509
|
-
|
510
|
-
TYPE number_type = NUMBER;
|
511
|
-
END_TYPE;
|
512
|
-
|
513
|
-
TYPE real_type = REAL;
|
514
|
-
END_TYPE;
|
515
|
-
|
516
|
-
TYPE real_precision_type = REAL (3);
|
517
|
-
END_TYPE;
|
518
|
-
|
519
|
-
TYPE string_type = STRING;
|
520
|
-
END_TYPE;
|
521
|
-
|
522
|
-
TYPE string_width_type = STRING (3);
|
523
|
-
END_TYPE;
|
524
|
-
|
525
|
-
TYPE string_width_fixed_type = STRING (3) FIXED;
|
526
|
-
END_TYPE;
|
527
|
-
|
528
|
-
TYPE array_type = ARRAY [1:9] OF STRING;
|
529
|
-
END_TYPE;
|
530
|
-
|
531
|
-
TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING;
|
532
|
-
END_TYPE;
|
533
|
-
|
534
|
-
TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING;
|
535
|
-
END_TYPE;
|
536
|
-
|
537
|
-
TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING;
|
538
|
-
END_TYPE;
|
539
|
-
|
540
|
-
TYPE bag_type = BAG OF STRING;
|
541
|
-
END_TYPE;
|
542
|
-
|
543
|
-
TYPE bag_bound_type = BAG [1:9] OF STRING;
|
544
|
-
END_TYPE;
|
545
|
-
|
546
|
-
TYPE list_type = LIST OF STRING;
|
547
|
-
END_TYPE;
|
548
|
-
|
549
|
-
TYPE list_bound_type = LIST [1:9] OF STRING;
|
550
|
-
END_TYPE;
|
551
|
-
|
552
|
-
TYPE list_unique_type = LIST OF UNIQUE STRING;
|
553
|
-
END_TYPE;
|
554
|
-
|
555
|
-
TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING;
|
556
|
-
END_TYPE;
|
557
|
-
|
558
|
-
TYPE set_type = SET OF STRING;
|
559
|
-
END_TYPE;
|
560
|
-
|
561
|
-
TYPE set_bound_type = SET [1:9] OF STRING;
|
562
|
-
END_TYPE;
|
563
|
-
|
564
|
-
TYPE select_type = SELECT;
|
565
|
-
END_TYPE;
|
566
|
-
|
567
|
-
TYPE select_extensible_type = EXTENSIBLE SELECT;
|
568
|
-
END_TYPE;
|
569
|
-
|
570
|
-
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
571
|
-
END_TYPE;
|
572
|
-
|
573
|
-
TYPE select_list_type = SELECT (empty_type);
|
574
|
-
END_TYPE;
|
575
|
-
|
576
|
-
TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
|
577
|
-
END_TYPE;
|
578
|
-
|
579
|
-
TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type);
|
580
|
-
END_TYPE;
|
581
|
-
|
582
|
-
TYPE enumeration_type = ENUMERATION;
|
583
|
-
END_TYPE;
|
584
|
-
|
585
|
-
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
586
|
-
END_TYPE;
|
587
|
-
|
588
|
-
TYPE enumeration_list_type = ENUMERATION OF (test);
|
589
|
-
END_TYPE;
|
590
|
-
|
591
|
-
TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
|
592
|
-
END_TYPE;
|
593
|
-
|
594
|
-
TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test);
|
595
|
-
END_TYPE;
|
596
|
-
|
597
|
-
FUNCTION alias_simple_reference_statement : BOOLEAN;
|
598
|
-
ALIAS test FOR test;
|
599
|
-
;
|
600
|
-
END_ALIAS;
|
601
|
-
END_FUNCTION;
|
602
|
-
|
603
|
-
FUNCTION alias_attribute_reference_statement : BOOLEAN;
|
604
|
-
ALIAS test FOR test.test;
|
605
|
-
;
|
606
|
-
END_ALIAS;
|
607
|
-
END_FUNCTION;
|
608
|
-
|
609
|
-
FUNCTION alias_group_reference_statement : BOOLEAN;
|
610
|
-
ALIAS test FOR test\test;
|
611
|
-
;
|
612
|
-
END_ALIAS;
|
613
|
-
END_FUNCTION;
|
614
|
-
|
615
|
-
FUNCTION alias_index_reference_statement : BOOLEAN;
|
616
|
-
ALIAS test FOR test[1];
|
617
|
-
;
|
618
|
-
END_ALIAS;
|
619
|
-
END_FUNCTION;
|
620
|
-
|
621
|
-
FUNCTION alias_index2_reference_statement : BOOLEAN;
|
622
|
-
ALIAS test FOR test[1:9];
|
623
|
-
;
|
624
|
-
END_ALIAS;
|
625
|
-
END_FUNCTION;
|
626
|
-
|
627
|
-
FUNCTION assignment_simple_reference_statement : BOOLEAN;
|
628
|
-
test := TRUE;
|
629
|
-
END_FUNCTION;
|
630
|
-
|
631
|
-
FUNCTION assignment_attribute_reference_statement : BOOLEAN;
|
632
|
-
test.test := TRUE;
|
633
|
-
END_FUNCTION;
|
634
|
-
|
635
|
-
FUNCTION assignment_group_reference_statement : BOOLEAN;
|
636
|
-
test\test := TRUE;
|
637
|
-
END_FUNCTION;
|
638
|
-
|
639
|
-
FUNCTION assignment_index_reference_statement : BOOLEAN;
|
640
|
-
test[1] := TRUE;
|
641
|
-
END_FUNCTION;
|
642
|
-
|
643
|
-
FUNCTION assignment_index2_reference_statement : BOOLEAN;
|
644
|
-
test[1:9] := TRUE;
|
645
|
-
END_FUNCTION;
|
646
|
-
|
647
|
-
FUNCTION case_statement : BOOLEAN;
|
648
|
-
CASE test OF
|
649
|
-
TRUE :
|
650
|
-
;
|
651
|
-
END_CASE;
|
652
|
-
END_FUNCTION;
|
653
|
-
|
654
|
-
FUNCTION case_multiple_statement : BOOLEAN;
|
655
|
-
CASE test OF
|
656
|
-
TRUE :
|
657
|
-
;
|
658
|
-
TRUE :
|
659
|
-
;
|
660
|
-
END_CASE;
|
661
|
-
END_FUNCTION;
|
662
|
-
|
663
|
-
FUNCTION case_multiple_shorthand_statement : BOOLEAN;
|
664
|
-
CASE test OF
|
665
|
-
TRUE, TRUE :
|
666
|
-
;
|
667
|
-
END_CASE;
|
668
|
-
END_FUNCTION;
|
669
|
-
|
670
|
-
FUNCTION case_otherwise_statement : BOOLEAN;
|
671
|
-
CASE test OF
|
672
|
-
TRUE :
|
673
|
-
;
|
674
|
-
OTHERWISE :
|
675
|
-
;
|
676
|
-
END_CASE;
|
677
|
-
END_FUNCTION;
|
678
|
-
|
679
|
-
FUNCTION compound_statement : BOOLEAN;
|
680
|
-
BEGIN
|
681
|
-
;
|
682
|
-
END;
|
683
|
-
END_FUNCTION;
|
684
|
-
|
685
|
-
FUNCTION escape_statement : BOOLEAN;
|
686
|
-
ESCAPE;
|
687
|
-
END_FUNCTION;
|
688
|
-
|
689
|
-
FUNCTION if_statement : BOOLEAN;
|
690
|
-
IF TRUE THEN
|
691
|
-
;
|
692
|
-
END_IF;
|
693
|
-
END_FUNCTION;
|
694
|
-
|
695
|
-
FUNCTION if2_statement : BOOLEAN;
|
696
|
-
IF TRUE THEN
|
697
|
-
;
|
698
|
-
;
|
699
|
-
END_IF;
|
700
|
-
END_FUNCTION;
|
701
|
-
|
702
|
-
FUNCTION if_else_statement : BOOLEAN;
|
703
|
-
IF TRUE THEN
|
704
|
-
;
|
705
|
-
ELSE
|
706
|
-
;
|
707
|
-
END_IF;
|
708
|
-
END_FUNCTION;
|
709
|
-
|
710
|
-
FUNCTION if2_else_statement : BOOLEAN;
|
711
|
-
IF TRUE THEN
|
712
|
-
;
|
713
|
-
;
|
714
|
-
ELSE
|
715
|
-
;
|
716
|
-
END_IF;
|
717
|
-
END_FUNCTION;
|
718
|
-
|
719
|
-
FUNCTION if_else2_statement : BOOLEAN;
|
720
|
-
IF TRUE THEN
|
721
|
-
;
|
722
|
-
ELSE
|
723
|
-
;
|
724
|
-
;
|
725
|
-
END_IF;
|
726
|
-
END_FUNCTION;
|
727
|
-
|
728
|
-
FUNCTION if2_else2_statement : BOOLEAN;
|
729
|
-
IF TRUE THEN
|
730
|
-
;
|
731
|
-
;
|
732
|
-
ELSE
|
733
|
-
;
|
734
|
-
;
|
735
|
-
END_IF;
|
736
|
-
END_FUNCTION;
|
737
|
-
|
738
|
-
FUNCTION null_statement : BOOLEAN;
|
739
|
-
;
|
740
|
-
END_FUNCTION;
|
741
|
-
|
742
|
-
FUNCTION call_statement : BOOLEAN;
|
743
|
-
empty_procedure;
|
744
|
-
END_FUNCTION;
|
745
|
-
|
746
|
-
FUNCTION call_parameter_statement : BOOLEAN;
|
747
|
-
empty_procedure(TRUE);
|
748
|
-
END_FUNCTION;
|
749
|
-
|
750
|
-
FUNCTION call_parameter2_statement : BOOLEAN;
|
751
|
-
empty_procedure(TRUE, TRUE);
|
752
|
-
END_FUNCTION;
|
753
|
-
|
754
|
-
FUNCTION call_insert_statement : BOOLEAN;
|
755
|
-
INSERT(TRUE);
|
756
|
-
END_FUNCTION;
|
757
|
-
|
758
|
-
FUNCTION call_remove_statement : BOOLEAN;
|
759
|
-
REMOVE(TRUE);
|
760
|
-
END_FUNCTION;
|
761
|
-
|
762
|
-
FUNCTION repeat_statement : BOOLEAN;
|
763
|
-
REPEAT;
|
764
|
-
;
|
765
|
-
END_REPEAT;
|
766
|
-
END_FUNCTION;
|
767
|
-
|
768
|
-
FUNCTION repeat_variable_statement : BOOLEAN;
|
769
|
-
REPEAT test := 1 TO 9;
|
770
|
-
;
|
771
|
-
END_REPEAT;
|
772
|
-
END_FUNCTION;
|
773
|
-
|
774
|
-
FUNCTION repeat_variable_increment_statement : BOOLEAN;
|
775
|
-
REPEAT test := 1 TO 9 BY 2;
|
776
|
-
;
|
777
|
-
END_REPEAT;
|
778
|
-
END_FUNCTION;
|
779
|
-
|
780
|
-
FUNCTION repeat_while_statement : BOOLEAN;
|
781
|
-
REPEAT WHILE TRUE;
|
782
|
-
;
|
783
|
-
END_REPEAT;
|
784
|
-
END_FUNCTION;
|
785
|
-
|
786
|
-
FUNCTION repeat_until_statement : BOOLEAN;
|
787
|
-
REPEAT UNTIL TRUE;
|
788
|
-
;
|
789
|
-
END_REPEAT;
|
790
|
-
END_FUNCTION;
|
791
|
-
|
792
|
-
FUNCTION return_statement : BOOLEAN;
|
793
|
-
RETURN;
|
794
|
-
END_FUNCTION;
|
795
|
-
|
796
|
-
FUNCTION return_expression_statement : BOOLEAN;
|
797
|
-
RETURN (TRUE);
|
798
|
-
END_FUNCTION;
|
799
|
-
|
800
|
-
FUNCTION skip_statement : BOOLEAN;
|
801
|
-
SKIP;
|
802
|
-
END_FUNCTION;
|
803
|
-
|
804
|
-
FUNCTION binary_expression : BOOLEAN;
|
805
|
-
RETURN (%011110000111100001111000);
|
806
|
-
END_FUNCTION;
|
807
|
-
|
808
|
-
FUNCTION integer_expression : BOOLEAN;
|
809
|
-
RETURN (999);
|
810
|
-
END_FUNCTION;
|
811
|
-
|
812
|
-
FUNCTION true_logical_expression : BOOLEAN;
|
813
|
-
RETURN (TRUE);
|
814
|
-
END_FUNCTION;
|
815
|
-
|
816
|
-
FUNCTION false_logical_expression : BOOLEAN;
|
817
|
-
RETURN (FALSE);
|
818
|
-
END_FUNCTION;
|
819
|
-
|
820
|
-
FUNCTION unknown_logical_expression : BOOLEAN;
|
821
|
-
RETURN (UNKNOWN);
|
822
|
-
END_FUNCTION;
|
823
|
-
|
824
|
-
FUNCTION real_expression : BOOLEAN;
|
825
|
-
RETURN (999.999);
|
826
|
-
END_FUNCTION;
|
827
|
-
|
828
|
-
FUNCTION simple_string_expression : BOOLEAN;
|
829
|
-
RETURN ('xxx');
|
830
|
-
END_FUNCTION;
|
831
|
-
|
832
|
-
FUNCTION encoded_string_expression : BOOLEAN;
|
833
|
-
RETURN ("000000780000007800000078");
|
834
|
-
END_FUNCTION;
|
835
|
-
|
836
|
-
FUNCTION const_e_expression : BOOLEAN;
|
837
|
-
RETURN (CONST_E);
|
838
|
-
END_FUNCTION;
|
839
|
-
|
840
|
-
FUNCTION indeterminate_expression : BOOLEAN;
|
841
|
-
RETURN (?);
|
842
|
-
END_FUNCTION;
|
843
|
-
|
844
|
-
FUNCTION pi_expression : BOOLEAN;
|
845
|
-
RETURN (PI);
|
846
|
-
END_FUNCTION;
|
847
|
-
|
848
|
-
FUNCTION self_expression : BOOLEAN;
|
849
|
-
RETURN (SELF);
|
850
|
-
END_FUNCTION;
|
851
|
-
|
852
|
-
FUNCTION abs_expression : BOOLEAN;
|
853
|
-
RETURN (ABS(TRUE));
|
854
|
-
END_FUNCTION;
|
855
|
-
|
856
|
-
FUNCTION acos_expression : BOOLEAN;
|
857
|
-
RETURN (ACOS(TRUE));
|
858
|
-
END_FUNCTION;
|
859
|
-
|
860
|
-
FUNCTION asin_expression : BOOLEAN;
|
861
|
-
RETURN (ASIN(TRUE));
|
862
|
-
END_FUNCTION;
|
863
|
-
|
864
|
-
FUNCTION atan_expression : BOOLEAN;
|
865
|
-
RETURN (ATAN(TRUE));
|
866
|
-
END_FUNCTION;
|
867
|
-
|
868
|
-
FUNCTION blength_expression : BOOLEAN;
|
869
|
-
RETURN (BLENGTH(TRUE));
|
870
|
-
END_FUNCTION;
|
871
|
-
|
872
|
-
FUNCTION cos_expression : BOOLEAN;
|
873
|
-
RETURN (COS(TRUE));
|
874
|
-
END_FUNCTION;
|
875
|
-
|
876
|
-
FUNCTION exists_expression : BOOLEAN;
|
877
|
-
RETURN (EXISTS(TRUE));
|
878
|
-
END_FUNCTION;
|
879
|
-
|
880
|
-
FUNCTION exp_expression : BOOLEAN;
|
881
|
-
RETURN (EXP(TRUE));
|
882
|
-
END_FUNCTION;
|
883
|
-
|
884
|
-
FUNCTION format_expression : BOOLEAN;
|
885
|
-
RETURN (FORMAT(TRUE));
|
886
|
-
END_FUNCTION;
|
887
|
-
|
888
|
-
FUNCTION hibound_expression : BOOLEAN;
|
889
|
-
RETURN (HIBOUND(TRUE));
|
890
|
-
END_FUNCTION;
|
891
|
-
|
892
|
-
FUNCTION hiindex_expression : BOOLEAN;
|
893
|
-
RETURN (HIINDEX(TRUE));
|
894
|
-
END_FUNCTION;
|
895
|
-
|
896
|
-
FUNCTION length_expression : BOOLEAN;
|
897
|
-
RETURN (LENGTH(TRUE));
|
898
|
-
END_FUNCTION;
|
899
|
-
|
900
|
-
FUNCTION lobound_expression : BOOLEAN;
|
901
|
-
RETURN (LOBOUND(TRUE));
|
902
|
-
END_FUNCTION;
|
903
|
-
|
904
|
-
FUNCTION loindex_expression : BOOLEAN;
|
905
|
-
RETURN (LOINDEX(TRUE));
|
906
|
-
END_FUNCTION;
|
907
|
-
|
908
|
-
FUNCTION log_expression : BOOLEAN;
|
909
|
-
RETURN (LOG(TRUE));
|
910
|
-
END_FUNCTION;
|
911
|
-
|
912
|
-
FUNCTION log2_expression : BOOLEAN;
|
913
|
-
RETURN (LOG2(TRUE));
|
914
|
-
END_FUNCTION;
|
915
|
-
|
916
|
-
FUNCTION log10_expression : BOOLEAN;
|
917
|
-
RETURN (LOG10(TRUE));
|
918
|
-
END_FUNCTION;
|
919
|
-
|
920
|
-
FUNCTION nvl_expression : BOOLEAN;
|
921
|
-
RETURN (NVL(TRUE));
|
922
|
-
END_FUNCTION;
|
923
|
-
|
924
|
-
FUNCTION odd_expression : BOOLEAN;
|
925
|
-
RETURN (ODD(TRUE));
|
926
|
-
END_FUNCTION;
|
927
|
-
|
928
|
-
FUNCTION rolesof_expression : BOOLEAN;
|
929
|
-
RETURN (ROLESOF(TRUE));
|
930
|
-
END_FUNCTION;
|
931
|
-
|
932
|
-
FUNCTION sin_expression : BOOLEAN;
|
933
|
-
RETURN (SIN(TRUE));
|
934
|
-
END_FUNCTION;
|
935
|
-
|
936
|
-
FUNCTION sizeof_expression : BOOLEAN;
|
937
|
-
RETURN (SIZEOF(TRUE));
|
938
|
-
END_FUNCTION;
|
939
|
-
|
940
|
-
FUNCTION sqrt_expression : BOOLEAN;
|
941
|
-
RETURN (SQRT(TRUE));
|
942
|
-
END_FUNCTION;
|
943
|
-
|
944
|
-
FUNCTION tan_expression : BOOLEAN;
|
945
|
-
RETURN (TAN(TRUE));
|
946
|
-
END_FUNCTION;
|
947
|
-
|
948
|
-
FUNCTION typeof_expression : BOOLEAN;
|
949
|
-
RETURN (TYPEOF(TRUE));
|
950
|
-
END_FUNCTION;
|
951
|
-
|
952
|
-
FUNCTION usedin_expression : BOOLEAN;
|
953
|
-
RETURN (USEDIN(TRUE));
|
954
|
-
END_FUNCTION;
|
955
|
-
|
956
|
-
FUNCTION value_expression : BOOLEAN;
|
957
|
-
RETURN (VALUE(TRUE));
|
958
|
-
END_FUNCTION;
|
959
|
-
|
960
|
-
FUNCTION value_in_expression : BOOLEAN;
|
961
|
-
RETURN (VALUE_IN(TRUE));
|
962
|
-
END_FUNCTION;
|
963
|
-
|
964
|
-
FUNCTION value_unique_expression : BOOLEAN;
|
965
|
-
RETURN (VALUE_UNIQUE(TRUE));
|
966
|
-
END_FUNCTION;
|
967
|
-
|
968
|
-
FUNCTION plus_expression : BOOLEAN;
|
969
|
-
RETURN (+4);
|
970
|
-
END_FUNCTION;
|
971
|
-
|
972
|
-
FUNCTION plus_addition_expression : BOOLEAN;
|
973
|
-
RETURN (+(4 + 2));
|
974
|
-
END_FUNCTION;
|
975
|
-
|
976
|
-
FUNCTION minus_expression : BOOLEAN;
|
977
|
-
RETURN (-4);
|
978
|
-
END_FUNCTION;
|
979
|
-
|
980
|
-
FUNCTION minus_addition_expression : BOOLEAN;
|
981
|
-
RETURN (-(4 + 2));
|
982
|
-
END_FUNCTION;
|
983
|
-
|
984
|
-
FUNCTION addition_expression : BOOLEAN;
|
985
|
-
RETURN (4 + 2);
|
986
|
-
END_FUNCTION;
|
987
|
-
|
988
|
-
FUNCTION subtraction_expression : BOOLEAN;
|
989
|
-
RETURN (4 - 2);
|
990
|
-
END_FUNCTION;
|
991
|
-
|
992
|
-
FUNCTION multiplication_expression : BOOLEAN;
|
993
|
-
RETURN (4 * 2);
|
994
|
-
END_FUNCTION;
|
995
|
-
|
996
|
-
FUNCTION real_division_expression : BOOLEAN;
|
997
|
-
RETURN (4 / 2);
|
998
|
-
END_FUNCTION;
|
999
|
-
|
1000
|
-
FUNCTION integer_division_expression : BOOLEAN;
|
1001
|
-
RETURN (4 DIV 2);
|
1002
|
-
END_FUNCTION;
|
1003
|
-
|
1004
|
-
FUNCTION modulo_expression : BOOLEAN;
|
1005
|
-
RETURN (4 MOD 2);
|
1006
|
-
END_FUNCTION;
|
1007
|
-
|
1008
|
-
FUNCTION exponentiation_expression : BOOLEAN;
|
1009
|
-
RETURN (4 ** 2);
|
1010
|
-
END_FUNCTION;
|
1011
|
-
|
1012
|
-
FUNCTION addition_addition_expression : BOOLEAN;
|
1013
|
-
RETURN (4 + 2 + 1);
|
1014
|
-
END_FUNCTION;
|
1015
|
-
|
1016
|
-
FUNCTION subtraction_subtraction_expression : BOOLEAN;
|
1017
|
-
RETURN (4 - 2 - 1);
|
1018
|
-
END_FUNCTION;
|
1019
|
-
|
1020
|
-
FUNCTION addition_subtraction_expression : BOOLEAN;
|
1021
|
-
RETURN (4 + 2 - 1);
|
1022
|
-
END_FUNCTION;
|
1023
|
-
|
1024
|
-
FUNCTION subtraction_addition_expression : BOOLEAN;
|
1025
|
-
RETURN (4 - 2 + 1);
|
1026
|
-
END_FUNCTION;
|
1027
|
-
|
1028
|
-
FUNCTION addition_multiplication_expression : BOOLEAN;
|
1029
|
-
RETURN (8 + 4 * 2);
|
1030
|
-
END_FUNCTION;
|
1031
|
-
|
1032
|
-
FUNCTION multiplication_addition_expression : BOOLEAN;
|
1033
|
-
RETURN (8 * 4 + 2);
|
1034
|
-
END_FUNCTION;
|
1035
|
-
|
1036
|
-
FUNCTION parenthesis_addition_multiplication_expression : BOOLEAN;
|
1037
|
-
RETURN ((8 + 4) * 2);
|
1038
|
-
END_FUNCTION;
|
1039
|
-
|
1040
|
-
FUNCTION multiplication_parenthesis_addition_expression : BOOLEAN;
|
1041
|
-
RETURN (8 * (4 + 2));
|
1042
|
-
END_FUNCTION;
|
1043
|
-
|
1044
|
-
FUNCTION equal_expression : BOOLEAN;
|
1045
|
-
RETURN (4 = 2);
|
1046
|
-
END_FUNCTION;
|
1047
|
-
|
1048
|
-
FUNCTION not_equal_expression : BOOLEAN;
|
1049
|
-
RETURN (4 <> 2);
|
1050
|
-
END_FUNCTION;
|
1051
|
-
|
1052
|
-
FUNCTION instance_equal_expression : BOOLEAN;
|
1053
|
-
RETURN (4 :=: 2);
|
1054
|
-
END_FUNCTION;
|
1055
|
-
|
1056
|
-
FUNCTION instance_not_equal_expression : BOOLEAN;
|
1057
|
-
RETURN (4 :<>: 2);
|
1058
|
-
END_FUNCTION;
|
1059
|
-
|
1060
|
-
FUNCTION lt_expression : BOOLEAN;
|
1061
|
-
RETURN (4 < 2);
|
1062
|
-
END_FUNCTION;
|
1063
|
-
|
1064
|
-
FUNCTION gt_expression : BOOLEAN;
|
1065
|
-
RETURN (4 > 2);
|
1066
|
-
END_FUNCTION;
|
1067
|
-
|
1068
|
-
FUNCTION lte_expression : BOOLEAN;
|
1069
|
-
RETURN (4 <= 2);
|
1070
|
-
END_FUNCTION;
|
1071
|
-
|
1072
|
-
FUNCTION gte_expression : BOOLEAN;
|
1073
|
-
RETURN (4 >= 2);
|
1074
|
-
END_FUNCTION;
|
1075
|
-
|
1076
|
-
FUNCTION not_expression : BOOLEAN;
|
1077
|
-
RETURN (NOT TRUE);
|
1078
|
-
END_FUNCTION;
|
1079
|
-
|
1080
|
-
FUNCTION not_or_expression : BOOLEAN;
|
1081
|
-
RETURN (NOT (TRUE OR FALSE));
|
1082
|
-
END_FUNCTION;
|
1083
|
-
|
1084
|
-
FUNCTION or_expression : BOOLEAN;
|
1085
|
-
RETURN (TRUE OR FALSE);
|
1086
|
-
END_FUNCTION;
|
1087
|
-
|
1088
|
-
FUNCTION and_expression : BOOLEAN;
|
1089
|
-
RETURN (TRUE AND FALSE);
|
1090
|
-
END_FUNCTION;
|
1091
|
-
|
1092
|
-
FUNCTION or_or_expression : BOOLEAN;
|
1093
|
-
RETURN (TRUE OR FALSE OR TRUE);
|
1094
|
-
END_FUNCTION;
|
1095
|
-
|
1096
|
-
FUNCTION and_and_expression : BOOLEAN;
|
1097
|
-
RETURN (TRUE AND FALSE AND TRUE);
|
1098
|
-
END_FUNCTION;
|
1099
|
-
|
1100
|
-
FUNCTION or_and_expression : BOOLEAN;
|
1101
|
-
RETURN (TRUE OR FALSE AND TRUE);
|
1102
|
-
END_FUNCTION;
|
1103
|
-
|
1104
|
-
FUNCTION and_or_expression : BOOLEAN;
|
1105
|
-
RETURN (TRUE AND FALSE OR TRUE);
|
1106
|
-
END_FUNCTION;
|
1107
|
-
|
1108
|
-
FUNCTION parenthesis_or_and_expression : BOOLEAN;
|
1109
|
-
RETURN ((TRUE OR FALSE) AND TRUE);
|
1110
|
-
END_FUNCTION;
|
1111
|
-
|
1112
|
-
FUNCTION and_parenthesis_or_expression : BOOLEAN;
|
1113
|
-
RETURN (TRUE AND (FALSE OR TRUE));
|
1114
|
-
END_FUNCTION;
|
1115
|
-
|
1116
|
-
FUNCTION combine_expression : BOOLEAN;
|
1117
|
-
RETURN (test || test);
|
1118
|
-
END_FUNCTION;
|
1119
|
-
|
1120
|
-
FUNCTION in_expression : BOOLEAN;
|
1121
|
-
RETURN (TRUE IN [TRUE]);
|
1122
|
-
END_FUNCTION;
|
1123
|
-
|
1124
|
-
FUNCTION like_expression : BOOLEAN;
|
1125
|
-
RETURN ('xxx' LIKE 'xxx');
|
1126
|
-
END_FUNCTION;
|
1127
|
-
|
1128
|
-
FUNCTION aggregate_initializer_expression : BOOLEAN;
|
1129
|
-
RETURN ([4]);
|
1130
|
-
END_FUNCTION;
|
1131
|
-
|
1132
|
-
FUNCTION repeated_aggregate_initializer_expression : BOOLEAN;
|
1133
|
-
RETURN ([4:2]);
|
1134
|
-
END_FUNCTION;
|
1135
|
-
|
1136
|
-
FUNCTION complex_aggregate_initializer_expression : BOOLEAN;
|
1137
|
-
RETURN ([4 + 2]);
|
1138
|
-
END_FUNCTION;
|
1139
|
-
|
1140
|
-
FUNCTION complex_repeated_aggregate_initializer_expression : BOOLEAN;
|
1141
|
-
RETURN ([4 + 2:4 + 2]);
|
1142
|
-
END_FUNCTION;
|
1143
|
-
|
1144
|
-
FUNCTION call_expression : BOOLEAN;
|
1145
|
-
RETURN (parameter_function(TRUE));
|
1146
|
-
END_FUNCTION;
|
1147
|
-
|
1148
|
-
FUNCTION simple_reference_expression : BOOLEAN;
|
1149
|
-
RETURN (simple_string_expression);
|
1150
|
-
END_FUNCTION;
|
1151
|
-
|
1152
|
-
FUNCTION attribute_reference_expression : BOOLEAN;
|
1153
|
-
RETURN (simple_string_expression.test);
|
1154
|
-
END_FUNCTION;
|
1155
|
-
|
1156
|
-
FUNCTION group_reference_expression : BOOLEAN;
|
1157
|
-
RETURN (simple_string_expression\test);
|
1158
|
-
END_FUNCTION;
|
1159
|
-
|
1160
|
-
FUNCTION index_reference_expression : BOOLEAN;
|
1161
|
-
RETURN (simple_string_expression[1]);
|
1162
|
-
END_FUNCTION;
|
1163
|
-
|
1164
|
-
FUNCTION index2_reference_expression : BOOLEAN;
|
1165
|
-
RETURN (simple_string_expression[1:9]);
|
1166
|
-
END_FUNCTION;
|
1167
|
-
|
1168
|
-
FUNCTION lt_lt_interval_expression : BOOLEAN;
|
1169
|
-
RETURN ({1 < 5 < 9});
|
1170
|
-
END_FUNCTION;
|
1171
|
-
|
1172
|
-
FUNCTION lte_lt_interval_expression : BOOLEAN;
|
1173
|
-
RETURN ({1 <= 5 < 9});
|
1174
|
-
END_FUNCTION;
|
1175
|
-
|
1176
|
-
FUNCTION lt_lte_interval_expression : BOOLEAN;
|
1177
|
-
RETURN ({1 < 5 <= 9});
|
1178
|
-
END_FUNCTION;
|
1179
|
-
|
1180
|
-
FUNCTION lte_lte_interval_expression : BOOLEAN;
|
1181
|
-
RETURN ({1 <= 5 <= 9});
|
1182
|
-
END_FUNCTION;
|
1183
|
-
|
1184
|
-
FUNCTION query_expression : BOOLEAN;
|
1185
|
-
RETURN (QUERY(test <* test2 | TRUE));
|
1186
|
-
END_FUNCTION;
|
750
|
+
RULE where_label_rule FOR (empty_entity);
|
751
|
+
WHERE
|
752
|
+
WR1 : TRUE;
|
753
|
+
END_RULE;
|
1187
754
|
END_SCHEMA;
|