expressir 0.2.14-x64-mingw32 → 0.2.19-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +5 -0
  3. data/exe/format +56 -11
  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 +201 -147
  10. data/lib/expressir/express_exp/hyperlink_formatter.rb +6 -4
  11. data/lib/expressir/express_exp/parser.rb +34 -26
  12. data/lib/expressir/express_exp/schema_head_formatter.rb +2 -7
  13. data/lib/expressir/express_exp/visitor.rb +27 -54
  14. data/lib/expressir/model.rb +2 -1
  15. data/lib/expressir/model/entity.rb +6 -6
  16. data/lib/expressir/model/expressions/query_expression.rb +3 -3
  17. data/lib/expressir/model/function.rb +15 -11
  18. data/lib/expressir/model/informal_proposition.rb +4 -1
  19. data/lib/expressir/model/{renamed_ref.rb → interface_item.rb} +2 -2
  20. data/lib/expressir/model/interfaced_item.rb +26 -0
  21. data/lib/expressir/model/model_element.rb +43 -13
  22. data/lib/expressir/model/procedure.rb +15 -11
  23. data/lib/expressir/model/repository.rb +3 -3
  24. data/lib/expressir/model/rule.rb +16 -12
  25. data/lib/expressir/model/schema.rb +56 -29
  26. data/lib/expressir/model/statements/alias.rb +3 -3
  27. data/lib/expressir/model/statements/repeat.rb +3 -3
  28. data/lib/expressir/model/subtype_constraint.rb +1 -6
  29. data/lib/expressir/model/type.rb +9 -5
  30. data/lib/expressir/version.rb +1 -1
  31. data/original/examples/syntax/multiple.exp +23 -0
  32. data/original/examples/syntax/multiple.yaml +184 -0
  33. data/original/examples/syntax/multiple_formatted.exp +71 -0
  34. data/original/examples/syntax/multiple_hyperlink_formatted.exp +71 -0
  35. data/original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp +13 -0
  36. data/original/examples/syntax/remark.exp +41 -41
  37. data/original/examples/syntax/remark.yaml +446 -0
  38. data/original/examples/syntax/remark_formatted.exp +62 -50
  39. data/original/examples/syntax/{simple.exp → single.exp} +1 -1
  40. data/original/examples/syntax/single.yaml +9 -0
  41. data/original/examples/syntax/single_formatted.exp +6 -0
  42. data/original/examples/syntax/single_formatted.yaml +19 -0
  43. data/original/examples/syntax/syntax.exp +29 -19
  44. data/original/examples/syntax/syntax.yaml +3439 -0
  45. data/original/examples/syntax/syntax_formatted.exp +271 -131
  46. data/original/examples/syntax/syntax_schema_head_formatted.exp +18 -0
  47. data/spec/expressir/express_exp/formatter_spec.rb +111 -0
  48. data/spec/expressir/express_exp/parser_spec.rb +98 -0
  49. data/spec/expressir/model/{model_element/find_spec.rb → model_element_spec.rb} +96 -10
  50. metadata +19 -18
  51. data/original/examples/syntax/hyperlink.exp +0 -8
  52. data/original/examples/syntax/hyperlink_formatted.exp +0 -19
  53. data/original/examples/syntax/source.exp +0 -16
  54. data/spec/expressir/express_exp/formatter/remark_spec.rb +0 -28
  55. data/spec/expressir/express_exp/formatter/syntax_spec.rb +0 -28
  56. data/spec/expressir/express_exp/hyperlink_formatter_spec.rb +0 -24
  57. data/spec/expressir/express_exp/parser/head_source_spec.rb +0 -38
  58. data/spec/expressir/express_exp/parser/multiple_spec.rb +0 -37
  59. data/spec/expressir/express_exp/parser/remark_spec.rb +0 -411
  60. data/spec/expressir/express_exp/parser/source_spec.rb +0 -29
  61. data/spec/expressir/express_exp/parser/syntax_spec.rb +0 -3080
  62. data/spec/expressir/express_exp/schema_head_formatter_spec.rb +0 -36
  63. data/spec/expressir/model/model_element/hash_spec.rb +0 -66
@@ -1,223 +1,286 @@
1
1
  SCHEMA syntax_schema 'version';
2
+
2
3
  USE FROM contract_schema;
3
4
  USE FROM contract_schema
4
5
  (contract);
5
6
  USE FROM contract_schema
6
- (contract, contract2);
7
+ (contract,
8
+ contract2);
7
9
  USE FROM contract_schema
8
10
  (contract AS contract2);
9
11
  REFERENCE FROM contract_schema;
10
12
  REFERENCE FROM contract_schema
11
13
  (contract);
12
14
  REFERENCE FROM contract_schema
13
- (contract, contract2);
15
+ (contract,
16
+ contract2);
14
17
  REFERENCE FROM contract_schema
15
18
  (contract AS contract2);
19
+
16
20
  CONSTANT
17
21
  empty_constant : BOOLEAN := TRUE;
18
22
  END_CONSTANT;
23
+
19
24
  TYPE empty_type = BOOLEAN;
20
25
  END_TYPE;
26
+
21
27
  TYPE where_type = BOOLEAN;
22
- WHERE
23
- TRUE;
28
+ WHERE
29
+ TRUE;
24
30
  END_TYPE;
31
+
25
32
  TYPE where_label_type = BOOLEAN;
26
- WHERE
27
- WR1 : TRUE;
33
+ WHERE
34
+ WR1: TRUE;
28
35
  END_TYPE;
36
+
29
37
  ENTITY empty_entity;
30
38
  END_ENTITY;
39
+
31
40
  ENTITY abstract_entity
32
41
  ABSTRACT SUPERTYPE;
33
42
  END_ENTITY;
43
+
34
44
  ENTITY abstract_supertype_entity
35
45
  ABSTRACT SUPERTYPE;
36
46
  END_ENTITY;
47
+
37
48
  ENTITY abstract_supertype_constraint_entity
38
49
  ABSTRACT SUPERTYPE OF (empty_entity);
39
50
  END_ENTITY;
51
+
40
52
  ENTITY supertype_constraint_entity
41
53
  SUPERTYPE OF (empty_entity);
42
54
  END_ENTITY;
55
+
43
56
  ENTITY subtype_entity
44
57
  SUBTYPE OF (empty_entity);
45
58
  END_ENTITY;
59
+
46
60
  ENTITY supertype_constraint_subtype_entity
47
61
  SUPERTYPE OF (empty_entity)
48
62
  SUBTYPE OF (empty_entity);
49
63
  END_ENTITY;
64
+
50
65
  ENTITY attribute_entity;
51
66
  test : BOOLEAN;
52
67
  END_ENTITY;
68
+
53
69
  ENTITY attribute_optional_entity;
54
70
  test : OPTIONAL BOOLEAN;
55
71
  END_ENTITY;
72
+
56
73
  ENTITY attribute_multiple_entity;
57
74
  test : BOOLEAN;
58
75
  test2 : BOOLEAN;
59
76
  END_ENTITY;
77
+
60
78
  ENTITY attribute_multiple_shorthand_entity;
61
79
  test : BOOLEAN;
62
80
  test2 : BOOLEAN;
63
81
  END_ENTITY;
82
+
64
83
  ENTITY attribute_redeclared_entity
65
84
  SUBTYPE OF (attribute_entity);
66
85
  SELF\attribute_entity.test : BOOLEAN;
67
86
  END_ENTITY;
87
+
68
88
  ENTITY attribute_redeclared_renamed_entity
69
89
  SUBTYPE OF (attribute_entity);
70
90
  SELF\attribute_entity.test RENAMED test2 : BOOLEAN;
71
91
  END_ENTITY;
92
+
72
93
  ENTITY derived_attribute_entity;
73
- DERIVE
74
- test : BOOLEAN := TRUE;
94
+ DERIVE
95
+ test : BOOLEAN := TRUE;
75
96
  END_ENTITY;
97
+
76
98
  ENTITY derived_attribute_redeclared_entity
77
99
  SUBTYPE OF (attribute_entity);
78
- DERIVE
79
- SELF\attribute_entity.test : BOOLEAN := TRUE;
100
+ DERIVE
101
+ SELF\attribute_entity.test : BOOLEAN := TRUE;
80
102
  END_ENTITY;
103
+
81
104
  ENTITY derived_attribute_redeclared_renamed_entity
82
105
  SUBTYPE OF (attribute_entity);
83
- DERIVE
84
- SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
106
+ DERIVE
107
+ SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE;
85
108
  END_ENTITY;
109
+
86
110
  ENTITY inverse_attribute_entity;
87
- INVERSE
88
- test : attribute_entity FOR test;
111
+ INVERSE
112
+ test : attribute_entity FOR test;
89
113
  END_ENTITY;
114
+
90
115
  ENTITY inverse_attribute_entity_entity;
91
- INVERSE
92
- test : attribute_entity FOR attribute_entity.test;
116
+ INVERSE
117
+ test : attribute_entity FOR attribute_entity.test;
93
118
  END_ENTITY;
119
+
94
120
  ENTITY inverse_attribute_set_entity;
95
- INVERSE
96
- test : SET OF attribute_entity FOR test;
121
+ INVERSE
122
+ test : SET OF attribute_entity FOR test;
97
123
  END_ENTITY;
124
+
98
125
  ENTITY inverse_attribute_set_bound_entity;
99
- INVERSE
100
- test : SET [1:9] OF attribute_entity FOR test;
126
+ INVERSE
127
+ test : SET [1:9] OF attribute_entity FOR test;
101
128
  END_ENTITY;
129
+
102
130
  ENTITY inverse_attribute_bag_entity;
103
- INVERSE
104
- test : BAG OF attribute_entity FOR test;
131
+ INVERSE
132
+ test : BAG OF attribute_entity FOR test;
105
133
  END_ENTITY;
134
+
106
135
  ENTITY inverse_attribute_bag_bound_entity;
107
- INVERSE
108
- test : BAG [1:9] OF attribute_entity FOR test;
136
+ INVERSE
137
+ test : BAG [1:9] OF attribute_entity FOR test;
109
138
  END_ENTITY;
139
+
110
140
  ENTITY inverse_attribute_redeclared_entity
111
141
  SUBTYPE OF (attribute_entity);
112
- INVERSE
113
- SELF\attribute_entity.test : attribute_entity FOR test;
142
+ INVERSE
143
+ SELF\attribute_entity.test : attribute_entity FOR test;
114
144
  END_ENTITY;
145
+
115
146
  ENTITY inverse_attribute_redeclared_renamed_entity
116
147
  SUBTYPE OF (attribute_entity);
117
- INVERSE
118
- SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
148
+ INVERSE
149
+ SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test;
119
150
  END_ENTITY;
151
+
120
152
  ENTITY unique_entity;
121
153
  test : BOOLEAN;
122
- UNIQUE
123
- test;
154
+ UNIQUE
155
+ test;
124
156
  END_ENTITY;
157
+
125
158
  ENTITY unique_label_entity;
126
159
  test : BOOLEAN;
127
- UNIQUE
128
- UR1 : test;
160
+ UNIQUE
161
+ UR1: test;
129
162
  END_ENTITY;
163
+
130
164
  ENTITY unique_redeclared_entity
131
165
  SUBTYPE OF (attribute_entity);
132
- UNIQUE
133
- SELF\attribute_entity.test;
166
+ UNIQUE
167
+ SELF\attribute_entity.test;
134
168
  END_ENTITY;
169
+
135
170
  ENTITY unique_label_redeclared_entity
136
171
  SUBTYPE OF (attribute_entity);
137
- UNIQUE
138
- UR1 : SELF\attribute_entity.test;
172
+ UNIQUE
173
+ UR1: SELF\attribute_entity.test;
139
174
  END_ENTITY;
175
+
140
176
  ENTITY where_entity;
141
- WHERE
142
- TRUE;
177
+ WHERE
178
+ TRUE;
143
179
  END_ENTITY;
180
+
144
181
  ENTITY where_label_entity;
145
- WHERE
146
- WR1 : TRUE;
182
+ WHERE
183
+ WR1: TRUE;
147
184
  END_ENTITY;
185
+
148
186
  SUBTYPE_CONSTRAINT empty_subtype_constraint FOR empty_entity;
149
187
  END_SUBTYPE_CONSTRAINT;
188
+
150
189
  SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR empty_entity;
151
190
  ABSTRACT SUPERTYPE;
152
191
  END_SUBTYPE_CONSTRAINT;
192
+
153
193
  SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR empty_entity;
154
194
  TOTAL_OVER(a);
155
195
  END_SUBTYPE_CONSTRAINT;
196
+
156
197
  SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR empty_entity;
157
198
  a;
158
199
  END_SUBTYPE_CONSTRAINT;
200
+
159
201
  SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR empty_entity;
160
202
  a ANDOR b;
161
203
  END_SUBTYPE_CONSTRAINT;
204
+
162
205
  SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR empty_entity;
163
206
  a AND b;
164
207
  END_SUBTYPE_CONSTRAINT;
208
+
165
209
  SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR empty_entity;
166
210
  a ANDOR b AND c;
167
211
  END_SUBTYPE_CONSTRAINT;
212
+
168
213
  SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR empty_entity;
169
214
  a AND b ANDOR c;
170
215
  END_SUBTYPE_CONSTRAINT;
216
+
171
217
  SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR empty_entity;
172
218
  (a ANDOR b) AND c;
173
219
  END_SUBTYPE_CONSTRAINT;
220
+
174
221
  SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR empty_entity;
175
222
  a AND (b ANDOR c);
176
223
  END_SUBTYPE_CONSTRAINT;
224
+
177
225
  SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR empty_entity;
178
226
  ONEOF(a, b);
179
227
  END_SUBTYPE_CONSTRAINT;
228
+
180
229
  SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR empty_entity;
181
230
  a AND ONEOF(b, c);
182
231
  END_SUBTYPE_CONSTRAINT;
232
+
183
233
  SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR empty_entity;
184
234
  a ANDOR ONEOF(b, c);
185
235
  END_SUBTYPE_CONSTRAINT;
236
+
186
237
  SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR empty_entity;
187
238
  ONEOF(a, b) AND c;
188
239
  END_SUBTYPE_CONSTRAINT;
240
+
189
241
  SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR empty_entity;
190
242
  ONEOF(a, b) ANDOR c;
191
243
  END_SUBTYPE_CONSTRAINT;
244
+
192
245
  SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR empty_entity;
193
246
  ONEOF(a, b) AND ONEOF(c, d);
194
247
  END_SUBTYPE_CONSTRAINT;
248
+
195
249
  SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR empty_entity;
196
250
  ONEOF(a, b) ANDOR ONEOF(c, d);
197
251
  END_SUBTYPE_CONSTRAINT;
252
+
198
253
  FUNCTION empty_function : BOOLEAN;
199
254
  ;
200
255
  END_FUNCTION;
256
+
201
257
  FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN;
202
258
  ;
203
259
  END_FUNCTION;
204
- FUNCTION multiple_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
260
+
261
+ FUNCTION multiple_parameter_function(test : BOOLEAN;
262
+ test2 : BOOLEAN) : BOOLEAN;
205
263
  ;
206
264
  END_FUNCTION;
207
- FUNCTION multiple_shorthand_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN;
265
+
266
+ FUNCTION multiple_shorthand_parameter_function(test : BOOLEAN;
267
+ test2 : BOOLEAN) : BOOLEAN;
208
268
  ;
209
269
  END_FUNCTION;
270
+
210
271
  FUNCTION type_function : BOOLEAN;
211
272
  TYPE test = BOOLEAN;
212
273
  END_TYPE;
213
274
  ;
214
275
  END_FUNCTION;
276
+
215
277
  FUNCTION constant_function : BOOLEAN;
216
278
  CONSTANT
217
279
  test : BOOLEAN := TRUE;
218
280
  END_CONSTANT;
219
281
  ;
220
282
  END_FUNCTION;
283
+
221
284
  FUNCTION multiple_constant_function : BOOLEAN;
222
285
  CONSTANT
223
286
  test : BOOLEAN := TRUE;
@@ -225,12 +288,14 @@ FUNCTION multiple_constant_function : BOOLEAN;
225
288
  END_CONSTANT;
226
289
  ;
227
290
  END_FUNCTION;
291
+
228
292
  FUNCTION variable_function : BOOLEAN;
229
293
  LOCAL
230
294
  test : BOOLEAN;
231
295
  END_LOCAL;
232
296
  ;
233
297
  END_FUNCTION;
298
+
234
299
  FUNCTION multiple_variable_function : BOOLEAN;
235
300
  LOCAL
236
301
  test : BOOLEAN;
@@ -238,6 +303,7 @@ FUNCTION multiple_variable_function : BOOLEAN;
238
303
  END_LOCAL;
239
304
  ;
240
305
  END_FUNCTION;
306
+
241
307
  FUNCTION multiple_shorthand_variable_function : BOOLEAN;
242
308
  LOCAL
243
309
  test : BOOLEAN;
@@ -245,12 +311,14 @@ FUNCTION multiple_shorthand_variable_function : BOOLEAN;
245
311
  END_LOCAL;
246
312
  ;
247
313
  END_FUNCTION;
314
+
248
315
  FUNCTION variable_expression_function : BOOLEAN;
249
316
  LOCAL
250
317
  test : BOOLEAN := TRUE;
251
318
  END_LOCAL;
252
319
  ;
253
320
  END_FUNCTION;
321
+
254
322
  FUNCTION multiple_variable_expression_function : BOOLEAN;
255
323
  LOCAL
256
324
  test : BOOLEAN := TRUE;
@@ -258,6 +326,7 @@ FUNCTION multiple_variable_expression_function : BOOLEAN;
258
326
  END_LOCAL;
259
327
  ;
260
328
  END_FUNCTION;
329
+
261
330
  FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
262
331
  LOCAL
263
332
  test : BOOLEAN := TRUE;
@@ -265,74 +334,190 @@ FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
265
334
  END_LOCAL;
266
335
  ;
267
336
  END_FUNCTION;
337
+
338
+ RULE empty_rule FOR (empty_entity);
339
+ WHERE
340
+ TRUE;
341
+ END_RULE;
342
+
343
+ RULE type_rule FOR (empty_entity);
344
+ TYPE test = BOOLEAN;
345
+ END_TYPE;
346
+ WHERE
347
+ TRUE;
348
+ END_RULE;
349
+
350
+ RULE constant_rule FOR (empty_entity);
351
+ CONSTANT
352
+ test : BOOLEAN := TRUE;
353
+ END_CONSTANT;
354
+ WHERE
355
+ TRUE;
356
+ END_RULE;
357
+
358
+ RULE multiple_constant_rule FOR (empty_entity);
359
+ CONSTANT
360
+ test : BOOLEAN := TRUE;
361
+ test2 : BOOLEAN := TRUE;
362
+ END_CONSTANT;
363
+ WHERE
364
+ TRUE;
365
+ END_RULE;
366
+
367
+ RULE variable_rule FOR (empty_entity);
368
+ LOCAL
369
+ test : BOOLEAN;
370
+ END_LOCAL;
371
+ WHERE
372
+ TRUE;
373
+ END_RULE;
374
+
375
+ RULE multiple_variable_rule FOR (empty_entity);
376
+ LOCAL
377
+ test : BOOLEAN;
378
+ test2 : BOOLEAN;
379
+ END_LOCAL;
380
+ WHERE
381
+ TRUE;
382
+ END_RULE;
383
+
384
+ RULE multiple_shorthand_variable_rule FOR (empty_entity);
385
+ LOCAL
386
+ test : BOOLEAN;
387
+ test2 : BOOLEAN;
388
+ END_LOCAL;
389
+ WHERE
390
+ TRUE;
391
+ END_RULE;
392
+
393
+ RULE variable_expression_rule FOR (empty_entity);
394
+ LOCAL
395
+ test : BOOLEAN := TRUE;
396
+ END_LOCAL;
397
+ WHERE
398
+ TRUE;
399
+ END_RULE;
400
+
401
+ RULE multiple_variable_expression_rule FOR (empty_entity);
402
+ LOCAL
403
+ test : BOOLEAN := TRUE;
404
+ test2 : BOOLEAN := TRUE;
405
+ END_LOCAL;
406
+ WHERE
407
+ TRUE;
408
+ END_RULE;
409
+
410
+ RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
411
+ LOCAL
412
+ test : BOOLEAN := TRUE;
413
+ test2 : BOOLEAN := TRUE;
414
+ END_LOCAL;
415
+ WHERE
416
+ TRUE;
417
+ END_RULE;
418
+
419
+ RULE statement_rule FOR (empty_entity);
420
+ ;
421
+ WHERE
422
+ TRUE;
423
+ END_RULE;
424
+
425
+ RULE where_label_rule FOR (empty_entity);
426
+ WHERE
427
+ WR1: TRUE;
428
+ END_RULE;
429
+
268
430
  PROCEDURE empty_procedure;
269
431
  END_PROCEDURE;
432
+
270
433
  PROCEDURE parameter_procedure(test : BOOLEAN);
271
434
  END_PROCEDURE;
272
- PROCEDURE multiple_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
435
+
436
+ PROCEDURE multiple_parameter_procedure(test : BOOLEAN;
437
+ test2 : BOOLEAN);
273
438
  END_PROCEDURE;
274
- PROCEDURE multiple_shorthand_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN);
439
+
440
+ PROCEDURE multiple_shorthand_parameter_procedure(test : BOOLEAN;
441
+ test2 : BOOLEAN);
275
442
  END_PROCEDURE;
443
+
276
444
  PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN);
277
445
  END_PROCEDURE;
278
- PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN; test2 : BOOLEAN);
446
+
447
+ PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN;
448
+ test2 : BOOLEAN);
279
449
  END_PROCEDURE;
280
- PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN; VAR test2 : BOOLEAN);
450
+
451
+ PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN;
452
+ VAR test2 : BOOLEAN);
281
453
  END_PROCEDURE;
282
- PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test : BOOLEAN; VAR test2 : BOOLEAN);
454
+
455
+ PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test : BOOLEAN;
456
+ VAR test2 : BOOLEAN);
283
457
  END_PROCEDURE;
458
+
284
459
  PROCEDURE type_procedure;
285
460
  TYPE test = BOOLEAN;
286
461
  END_TYPE;
287
462
  END_PROCEDURE;
463
+
288
464
  PROCEDURE constant_procedure;
289
465
  CONSTANT
290
466
  test : BOOLEAN := TRUE;
291
467
  END_CONSTANT;
292
468
  END_PROCEDURE;
469
+
293
470
  PROCEDURE multiple_constant_procedure;
294
471
  CONSTANT
295
472
  test : BOOLEAN := TRUE;
296
473
  test2 : BOOLEAN := TRUE;
297
474
  END_CONSTANT;
298
475
  END_PROCEDURE;
476
+
299
477
  PROCEDURE variable_procedure;
300
478
  LOCAL
301
479
  test : BOOLEAN;
302
480
  END_LOCAL;
303
481
  END_PROCEDURE;
482
+
304
483
  PROCEDURE multiple_variable_procedure;
305
484
  LOCAL
306
485
  test : BOOLEAN;
307
486
  test2 : BOOLEAN;
308
487
  END_LOCAL;
309
488
  END_PROCEDURE;
489
+
310
490
  PROCEDURE multiple_shorthand_variable_procedure;
311
491
  LOCAL
312
492
  test : BOOLEAN;
313
493
  test2 : BOOLEAN;
314
494
  END_LOCAL;
315
495
  END_PROCEDURE;
496
+
316
497
  PROCEDURE variable_expression_procedure;
317
498
  LOCAL
318
499
  test : BOOLEAN := TRUE;
319
500
  END_LOCAL;
320
501
  END_PROCEDURE;
502
+
321
503
  PROCEDURE multiple_variable_expression_procedure;
322
504
  LOCAL
323
505
  test : BOOLEAN := TRUE;
324
506
  test2 : BOOLEAN := TRUE;
325
507
  END_LOCAL;
326
508
  END_PROCEDURE;
509
+
327
510
  PROCEDURE multiple_shorthand_variable_expression_procedure;
328
511
  LOCAL
329
512
  test : BOOLEAN := TRUE;
330
513
  test2 : BOOLEAN := TRUE;
331
514
  END_LOCAL;
332
515
  END_PROCEDURE;
516
+
333
517
  PROCEDURE statement_procedure;
334
518
  ;
335
519
  END_PROCEDURE;
520
+
336
521
  PROCEDURE statements;
337
522
  PROCEDURE alias_simple_reference_statement;
338
523
  ALIAS test FOR test;
@@ -506,6 +691,7 @@ PROCEDURE statements;
506
691
  SKIP;
507
692
  END_PROCEDURE;
508
693
  END_PROCEDURE;
694
+
509
695
  PROCEDURE types;
510
696
  TYPE binary_type = BINARY;
511
697
  END_TYPE;
@@ -561,23 +747,56 @@ PROCEDURE types;
561
747
  END_TYPE;
562
748
  TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
563
749
  END_TYPE;
564
- TYPE select_list_type = SELECT (empty_type);
750
+ TYPE select_list_type = SELECT
751
+ (empty_type);
752
+ END_TYPE;
753
+ TYPE select_list_multiple_type = SELECT
754
+ (empty_type,
755
+ empty_type);
565
756
  END_TYPE;
566
757
  TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
567
758
  END_TYPE;
568
- TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type);
759
+ TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH
760
+ (empty_type);
761
+ END_TYPE;
762
+ TYPE select_extension_type_ref_list_multiple_type = SELECT BASED_ON select_type WITH
763
+ (empty_type,
764
+ empty_type);
569
765
  END_TYPE;
570
766
  TYPE enumeration_type = ENUMERATION;
571
767
  END_TYPE;
572
768
  TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
573
769
  END_TYPE;
574
- TYPE enumeration_list_type = ENUMERATION OF (test);
770
+ TYPE enumeration_list_type = ENUMERATION OF
771
+ (test);
772
+ END_TYPE;
773
+ TYPE enumeration_list_multiple_type = ENUMERATION OF
774
+ (test,
775
+ test2);
575
776
  END_TYPE;
576
777
  TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
577
778
  END_TYPE;
578
- TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test);
779
+ TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH
780
+ (test);
781
+ END_TYPE;
782
+ TYPE enumeration_extension_type_ref_list_multiple_type = ENUMERATION BASED_ON enumeration_type WITH
783
+ (test,
784
+ test2);
579
785
  END_TYPE;
786
+ FUNCTION generic_type : GENERIC;
787
+ ;
788
+ END_FUNCTION;
789
+ FUNCTION generic_label_type : GENERIC:label;
790
+ ;
791
+ END_FUNCTION;
792
+ FUNCTION generic_entity_type : GENERIC_ENTITY;
793
+ ;
794
+ END_FUNCTION;
795
+ FUNCTION generic_entity_label_type : GENERIC_ENTITY:label;
796
+ ;
797
+ END_FUNCTION;
580
798
  END_PROCEDURE;
799
+
581
800
  PROCEDURE expressions;
582
801
  LOCAL
583
802
  binary_expression : BOOLEAN := %011110000111100001111000;
@@ -679,84 +898,5 @@ PROCEDURE expressions;
679
898
  query_expression : BOOLEAN := QUERY(test <* test2 | TRUE);
680
899
  END_LOCAL;
681
900
  END_PROCEDURE;
682
- RULE empty_rule FOR (empty_entity);
683
- WHERE
684
- TRUE;
685
- END_RULE;
686
- RULE type_rule FOR (empty_entity);
687
- TYPE test = BOOLEAN;
688
- END_TYPE;
689
- WHERE
690
- TRUE;
691
- END_RULE;
692
- RULE constant_rule FOR (empty_entity);
693
- CONSTANT
694
- test : BOOLEAN := TRUE;
695
- END_CONSTANT;
696
- WHERE
697
- TRUE;
698
- END_RULE;
699
- RULE multiple_constant_rule FOR (empty_entity);
700
- CONSTANT
701
- test : BOOLEAN := TRUE;
702
- test2 : BOOLEAN := TRUE;
703
- END_CONSTANT;
704
- WHERE
705
- TRUE;
706
- END_RULE;
707
- RULE variable_rule FOR (empty_entity);
708
- LOCAL
709
- test : BOOLEAN;
710
- END_LOCAL;
711
- WHERE
712
- TRUE;
713
- END_RULE;
714
- RULE multiple_variable_rule FOR (empty_entity);
715
- LOCAL
716
- test : BOOLEAN;
717
- test2 : BOOLEAN;
718
- END_LOCAL;
719
- WHERE
720
- TRUE;
721
- END_RULE;
722
- RULE multiple_shorthand_variable_rule FOR (empty_entity);
723
- LOCAL
724
- test : BOOLEAN;
725
- test2 : BOOLEAN;
726
- END_LOCAL;
727
- WHERE
728
- TRUE;
729
- END_RULE;
730
- RULE variable_expression_rule FOR (empty_entity);
731
- LOCAL
732
- test : BOOLEAN := TRUE;
733
- END_LOCAL;
734
- WHERE
735
- TRUE;
736
- END_RULE;
737
- RULE multiple_variable_expression_rule FOR (empty_entity);
738
- LOCAL
739
- test : BOOLEAN := TRUE;
740
- test2 : BOOLEAN := TRUE;
741
- END_LOCAL;
742
- WHERE
743
- TRUE;
744
- END_RULE;
745
- RULE multiple_shorthand_variable_expression_rule FOR (empty_entity);
746
- LOCAL
747
- test : BOOLEAN := TRUE;
748
- test2 : BOOLEAN := TRUE;
749
- END_LOCAL;
750
- WHERE
751
- TRUE;
752
- END_RULE;
753
- RULE statement_rule FOR (empty_entity);
754
- ;
755
- WHERE
756
- TRUE;
757
- END_RULE;
758
- RULE where_label_rule FOR (empty_entity);
759
- WHERE
760
- WR1 : TRUE;
761
- END_RULE;
901
+
762
902
  END_SCHEMA;