expressir 0.2.9-x86-linux → 0.2.14-x86-linux

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