expressir 1.3.0.pre.1-aarch64-linux-gnu
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 +7 -0
- data/.cross_rubies +20 -0
- data/.github/workflows/rake.yml +312 -0
- data/.github/workflows/release.yml +124 -0
- data/.gitignore +23 -0
- data/.gitmodules +6 -0
- data/.hound.yml +3 -0
- data/.rspec +2 -0
- data/.rubocop.yml +18 -0
- data/.yardopts +11 -0
- data/Gemfile +4 -0
- data/README.adoc +155 -0
- data/Rakefile +17 -0
- data/bin/console +11 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/docs/development.md +90 -0
- data/exe/expressir +22 -0
- data/exe/format +18 -0
- data/exe/format-test +81 -0
- data/exe/generate-parser +51 -0
- data/expressir.gemspec +48 -0
- data/lib/expressir/cli/ui.rb +36 -0
- data/lib/expressir/cli.rb +21 -0
- data/lib/expressir/config.rb +23 -0
- data/lib/expressir/express/2.7/express_parser.so +0 -0
- data/lib/expressir/express/3.0/express_parser.so +0 -0
- data/lib/expressir/express/3.1/express_parser.so +0 -0
- data/lib/expressir/express/3.2/express_parser.so +0 -0
- data/lib/expressir/express/cache.rb +51 -0
- data/lib/expressir/express/extension.rb +30 -0
- data/lib/expressir/express/formatter.rb +1608 -0
- data/lib/expressir/express/hyperlink_formatter.rb +36 -0
- data/lib/expressir/express/model_visitor.rb +24 -0
- data/lib/expressir/express/parser.rb +79 -0
- data/lib/expressir/express/resolve_references_model_visitor.rb +31 -0
- data/lib/expressir/express/schema_head_formatter.rb +23 -0
- data/lib/expressir/express/visitor.rb +2581 -0
- data/lib/expressir/model/cache.rb +17 -0
- data/lib/expressir/model/data_type.rb +9 -0
- data/lib/expressir/model/data_types/aggregate.rb +31 -0
- data/lib/expressir/model/data_types/array.rb +31 -0
- data/lib/expressir/model/data_types/bag.rb +25 -0
- data/lib/expressir/model/data_types/binary.rb +22 -0
- data/lib/expressir/model/data_types/boolean.rb +10 -0
- data/lib/expressir/model/data_types/enumeration.rb +25 -0
- data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
- data/lib/expressir/model/data_types/generic.rb +26 -0
- data/lib/expressir/model/data_types/generic_entity.rb +26 -0
- data/lib/expressir/model/data_types/integer.rb +10 -0
- data/lib/expressir/model/data_types/list.rb +28 -0
- data/lib/expressir/model/data_types/logical.rb +10 -0
- data/lib/expressir/model/data_types/number.rb +10 -0
- data/lib/expressir/model/data_types/real.rb +19 -0
- data/lib/expressir/model/data_types/select.rb +28 -0
- data/lib/expressir/model/data_types/set.rb +25 -0
- data/lib/expressir/model/data_types/string.rb +22 -0
- data/lib/expressir/model/declaration.rb +9 -0
- data/lib/expressir/model/declarations/attribute.rb +47 -0
- data/lib/expressir/model/declarations/constant.rb +34 -0
- data/lib/expressir/model/declarations/entity.rb +53 -0
- data/lib/expressir/model/declarations/function.rb +67 -0
- data/lib/expressir/model/declarations/interface.rb +28 -0
- data/lib/expressir/model/declarations/interface_item.rb +23 -0
- data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
- data/lib/expressir/model/declarations/parameter.rb +34 -0
- data/lib/expressir/model/declarations/procedure.rb +64 -0
- data/lib/expressir/model/declarations/remark_item.rb +21 -0
- data/lib/expressir/model/declarations/rule.rb +71 -0
- data/lib/expressir/model/declarations/schema.rb +117 -0
- data/lib/expressir/model/declarations/schema_version.rb +22 -0
- data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
- data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
- data/lib/expressir/model/declarations/type.rb +45 -0
- data/lib/expressir/model/declarations/unique_rule.rb +31 -0
- data/lib/expressir/model/declarations/variable.rb +34 -0
- data/lib/expressir/model/declarations/where_rule.rb +31 -0
- data/lib/expressir/model/expression.rb +9 -0
- data/lib/expressir/model/expressions/aggregate_initializer.rb +19 -0
- data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
- data/lib/expressir/model/expressions/binary_expression.rb +53 -0
- data/lib/expressir/model/expressions/entity_constructor.rb +22 -0
- data/lib/expressir/model/expressions/function_call.rb +22 -0
- data/lib/expressir/model/expressions/interval.rb +34 -0
- data/lib/expressir/model/expressions/query_expression.rb +35 -0
- data/lib/expressir/model/expressions/unary_expression.rb +27 -0
- data/lib/expressir/model/identifier.rb +34 -0
- data/lib/expressir/model/literal.rb +9 -0
- data/lib/expressir/model/literals/binary.rb +19 -0
- data/lib/expressir/model/literals/integer.rb +19 -0
- data/lib/expressir/model/literals/logical.rb +23 -0
- data/lib/expressir/model/literals/real.rb +19 -0
- data/lib/expressir/model/literals/string.rb +22 -0
- data/lib/expressir/model/model_element.rb +208 -0
- data/lib/expressir/model/reference.rb +9 -0
- data/lib/expressir/model/references/attribute_reference.rb +22 -0
- data/lib/expressir/model/references/group_reference.rb +22 -0
- data/lib/expressir/model/references/index_reference.rb +27 -0
- data/lib/expressir/model/references/simple_reference.rb +24 -0
- data/lib/expressir/model/repository.rb +23 -0
- data/lib/expressir/model/statement.rb +9 -0
- data/lib/expressir/model/statements/alias.rb +35 -0
- data/lib/expressir/model/statements/assignment.rb +22 -0
- data/lib/expressir/model/statements/case.rb +25 -0
- data/lib/expressir/model/statements/case_action.rb +22 -0
- data/lib/expressir/model/statements/compound.rb +19 -0
- data/lib/expressir/model/statements/escape.rb +10 -0
- data/lib/expressir/model/statements/if.rb +25 -0
- data/lib/expressir/model/statements/null.rb +10 -0
- data/lib/expressir/model/statements/procedure_call.rb +22 -0
- data/lib/expressir/model/statements/repeat.rb +47 -0
- data/lib/expressir/model/statements/return.rb +19 -0
- data/lib/expressir/model/statements/skip.rb +10 -0
- data/lib/expressir/model/supertype_expression.rb +9 -0
- data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
- data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
- data/lib/expressir/model.rb +79 -0
- data/lib/expressir/version.rb +3 -0
- data/lib/expressir.rb +24 -0
- data/rakelib/antlr4-native.rake +161 -0
- data/rakelib/cross-ruby.rake +383 -0
- data/spec/acceptance/version_spec.rb +27 -0
- data/spec/expressir/express/cache_spec.rb +89 -0
- data/spec/expressir/express/formatter_spec.rb +173 -0
- data/spec/expressir/express/parser_spec.rb +141 -0
- data/spec/expressir/model/model_element_spec.rb +318 -0
- data/spec/spec_helper.rb +24 -0
- data/spec/support/console_helper.rb +29 -0
- data/spec/syntax/multiple.exp +23 -0
- data/spec/syntax/multiple.yaml +198 -0
- data/spec/syntax/multiple_formatted.exp +71 -0
- data/spec/syntax/multiple_hyperlink_formatted.exp +71 -0
- data/spec/syntax/multiple_schema_head_hyperlink_formatted.exp +13 -0
- data/spec/syntax/remark.exp +193 -0
- data/spec/syntax/remark.yaml +471 -0
- data/spec/syntax/remark_formatted.exp +228 -0
- data/spec/syntax/single.exp +4 -0
- data/spec/syntax/single.yaml +18 -0
- data/spec/syntax/single_formatted.exp +10 -0
- data/spec/syntax/single_formatted.yaml +36 -0
- data/spec/syntax/syntax.exp +333 -0
- data/spec/syntax/syntax.yaml +3509 -0
- data/spec/syntax/syntax_formatted.exp +902 -0
- data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
- data/spec/syntax/syntax_schema_head_formatted.exp +18 -0
- metadata +391 -0
@@ -0,0 +1,902 @@
|
|
1
|
+
SCHEMA syntax_schema '{ISO standard 10303 part(41) object(1) version(8)}';
|
2
|
+
|
3
|
+
USE FROM contract_schema;
|
4
|
+
USE FROM contract_schema
|
5
|
+
(contract);
|
6
|
+
USE FROM contract_schema
|
7
|
+
(contract,
|
8
|
+
contract2);
|
9
|
+
USE FROM contract_schema
|
10
|
+
(contract AS contract2);
|
11
|
+
REFERENCE FROM contract_schema;
|
12
|
+
REFERENCE FROM contract_schema
|
13
|
+
(contract);
|
14
|
+
REFERENCE FROM contract_schema
|
15
|
+
(contract,
|
16
|
+
contract2);
|
17
|
+
REFERENCE FROM contract_schema
|
18
|
+
(contract AS contract2);
|
19
|
+
|
20
|
+
CONSTANT
|
21
|
+
empty_constant : BOOLEAN := TRUE;
|
22
|
+
END_CONSTANT;
|
23
|
+
|
24
|
+
TYPE empty_type = BOOLEAN;
|
25
|
+
END_TYPE;
|
26
|
+
|
27
|
+
TYPE where_type = BOOLEAN;
|
28
|
+
WHERE
|
29
|
+
TRUE;
|
30
|
+
END_TYPE;
|
31
|
+
|
32
|
+
TYPE where_label_type = BOOLEAN;
|
33
|
+
WHERE
|
34
|
+
WR1: TRUE;
|
35
|
+
END_TYPE;
|
36
|
+
|
37
|
+
ENTITY empty_entity;
|
38
|
+
END_ENTITY;
|
39
|
+
|
40
|
+
ENTITY abstract_entity
|
41
|
+
ABSTRACT SUPERTYPE;
|
42
|
+
END_ENTITY;
|
43
|
+
|
44
|
+
ENTITY abstract_supertype_entity
|
45
|
+
ABSTRACT SUPERTYPE;
|
46
|
+
END_ENTITY;
|
47
|
+
|
48
|
+
ENTITY abstract_supertype_constraint_entity
|
49
|
+
ABSTRACT SUPERTYPE OF ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
50
|
+
END_ENTITY;
|
51
|
+
|
52
|
+
ENTITY supertype_constraint_entity
|
53
|
+
SUPERTYPE OF ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
54
|
+
END_ENTITY;
|
55
|
+
|
56
|
+
ENTITY subtype_entity
|
57
|
+
SUBTYPE OF ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
58
|
+
END_ENTITY;
|
59
|
+
|
60
|
+
ENTITY supertype_constraint_subtype_entity
|
61
|
+
SUPERTYPE OF ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}})
|
62
|
+
SUBTYPE OF ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
63
|
+
END_ENTITY;
|
64
|
+
|
65
|
+
ENTITY attribute_entity;
|
66
|
+
test : BOOLEAN;
|
67
|
+
END_ENTITY;
|
68
|
+
|
69
|
+
ENTITY attribute_optional_entity;
|
70
|
+
test : OPTIONAL BOOLEAN;
|
71
|
+
END_ENTITY;
|
72
|
+
|
73
|
+
ENTITY attribute_multiple_entity;
|
74
|
+
test : BOOLEAN;
|
75
|
+
test2 : BOOLEAN;
|
76
|
+
END_ENTITY;
|
77
|
+
|
78
|
+
ENTITY attribute_multiple_shorthand_entity;
|
79
|
+
test : BOOLEAN;
|
80
|
+
test2 : BOOLEAN;
|
81
|
+
END_ENTITY;
|
82
|
+
|
83
|
+
ENTITY attribute_redeclared_entity
|
84
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
85
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test : BOOLEAN;
|
86
|
+
END_ENTITY;
|
87
|
+
|
88
|
+
ENTITY attribute_redeclared_renamed_entity
|
89
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
90
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test RENAMED test2 : BOOLEAN;
|
91
|
+
END_ENTITY;
|
92
|
+
|
93
|
+
ENTITY derived_attribute_entity;
|
94
|
+
DERIVE
|
95
|
+
test : BOOLEAN := TRUE;
|
96
|
+
END_ENTITY;
|
97
|
+
|
98
|
+
ENTITY derived_attribute_redeclared_entity
|
99
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
100
|
+
DERIVE
|
101
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test : BOOLEAN := TRUE;
|
102
|
+
END_ENTITY;
|
103
|
+
|
104
|
+
ENTITY derived_attribute_redeclared_renamed_entity
|
105
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
106
|
+
DERIVE
|
107
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test RENAMED test2 : BOOLEAN := TRUE;
|
108
|
+
END_ENTITY;
|
109
|
+
|
110
|
+
ENTITY inverse_attribute_entity;
|
111
|
+
INVERSE
|
112
|
+
test : {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
113
|
+
END_ENTITY;
|
114
|
+
|
115
|
+
ENTITY inverse_attribute_entity_entity;
|
116
|
+
INVERSE
|
117
|
+
test : {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR attribute_entity.test;
|
118
|
+
END_ENTITY;
|
119
|
+
|
120
|
+
ENTITY inverse_attribute_set_entity;
|
121
|
+
INVERSE
|
122
|
+
test : SET OF {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
123
|
+
END_ENTITY;
|
124
|
+
|
125
|
+
ENTITY inverse_attribute_set_bound_entity;
|
126
|
+
INVERSE
|
127
|
+
test : SET [1:9] OF {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
128
|
+
END_ENTITY;
|
129
|
+
|
130
|
+
ENTITY inverse_attribute_bag_entity;
|
131
|
+
INVERSE
|
132
|
+
test : BAG OF {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
133
|
+
END_ENTITY;
|
134
|
+
|
135
|
+
ENTITY inverse_attribute_bag_bound_entity;
|
136
|
+
INVERSE
|
137
|
+
test : BAG [1:9] OF {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
138
|
+
END_ENTITY;
|
139
|
+
|
140
|
+
ENTITY inverse_attribute_redeclared_entity
|
141
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
142
|
+
INVERSE
|
143
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test : {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
144
|
+
END_ENTITY;
|
145
|
+
|
146
|
+
ENTITY inverse_attribute_redeclared_renamed_entity
|
147
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
148
|
+
INVERSE
|
149
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test RENAMED test2 : {{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}} FOR test;
|
150
|
+
END_ENTITY;
|
151
|
+
|
152
|
+
ENTITY unique_entity;
|
153
|
+
test : BOOLEAN;
|
154
|
+
UNIQUE
|
155
|
+
test;
|
156
|
+
END_ENTITY;
|
157
|
+
|
158
|
+
ENTITY unique_label_entity;
|
159
|
+
test : BOOLEAN;
|
160
|
+
UNIQUE
|
161
|
+
UR1: test;
|
162
|
+
END_ENTITY;
|
163
|
+
|
164
|
+
ENTITY unique_redeclared_entity
|
165
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
166
|
+
UNIQUE
|
167
|
+
SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test;
|
168
|
+
END_ENTITY;
|
169
|
+
|
170
|
+
ENTITY unique_label_redeclared_entity
|
171
|
+
SUBTYPE OF ({{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}});
|
172
|
+
UNIQUE
|
173
|
+
UR1: SELF\{{{<<express:syntax_schema.attribute_entity,attribute_entity>>}}}.test;
|
174
|
+
END_ENTITY;
|
175
|
+
|
176
|
+
ENTITY where_entity;
|
177
|
+
WHERE
|
178
|
+
TRUE;
|
179
|
+
END_ENTITY;
|
180
|
+
|
181
|
+
ENTITY where_label_entity;
|
182
|
+
WHERE
|
183
|
+
WR1: TRUE;
|
184
|
+
END_ENTITY;
|
185
|
+
|
186
|
+
SUBTYPE_CONSTRAINT empty_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
187
|
+
END_SUBTYPE_CONSTRAINT;
|
188
|
+
|
189
|
+
SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
190
|
+
ABSTRACT SUPERTYPE;
|
191
|
+
END_SUBTYPE_CONSTRAINT;
|
192
|
+
|
193
|
+
SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
194
|
+
TOTAL_OVER(a);
|
195
|
+
END_SUBTYPE_CONSTRAINT;
|
196
|
+
|
197
|
+
SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
198
|
+
a;
|
199
|
+
END_SUBTYPE_CONSTRAINT;
|
200
|
+
|
201
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
202
|
+
a ANDOR b;
|
203
|
+
END_SUBTYPE_CONSTRAINT;
|
204
|
+
|
205
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
206
|
+
a AND b;
|
207
|
+
END_SUBTYPE_CONSTRAINT;
|
208
|
+
|
209
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
210
|
+
a ANDOR b AND c;
|
211
|
+
END_SUBTYPE_CONSTRAINT;
|
212
|
+
|
213
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
214
|
+
a AND b ANDOR c;
|
215
|
+
END_SUBTYPE_CONSTRAINT;
|
216
|
+
|
217
|
+
SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
218
|
+
(a ANDOR b) AND c;
|
219
|
+
END_SUBTYPE_CONSTRAINT;
|
220
|
+
|
221
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
222
|
+
a AND (b ANDOR c);
|
223
|
+
END_SUBTYPE_CONSTRAINT;
|
224
|
+
|
225
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
226
|
+
ONEOF(a, b);
|
227
|
+
END_SUBTYPE_CONSTRAINT;
|
228
|
+
|
229
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
230
|
+
a AND ONEOF(b, c);
|
231
|
+
END_SUBTYPE_CONSTRAINT;
|
232
|
+
|
233
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
234
|
+
a ANDOR ONEOF(b, c);
|
235
|
+
END_SUBTYPE_CONSTRAINT;
|
236
|
+
|
237
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
238
|
+
ONEOF(a, b) AND c;
|
239
|
+
END_SUBTYPE_CONSTRAINT;
|
240
|
+
|
241
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
242
|
+
ONEOF(a, b) ANDOR c;
|
243
|
+
END_SUBTYPE_CONSTRAINT;
|
244
|
+
|
245
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
246
|
+
ONEOF(a, b) AND ONEOF(c, d);
|
247
|
+
END_SUBTYPE_CONSTRAINT;
|
248
|
+
|
249
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR {{{<<express:syntax_schema.empty_entity,empty_entity>>}}};
|
250
|
+
ONEOF(a, b) ANDOR ONEOF(c, d);
|
251
|
+
END_SUBTYPE_CONSTRAINT;
|
252
|
+
|
253
|
+
FUNCTION empty_function : BOOLEAN;
|
254
|
+
;
|
255
|
+
END_FUNCTION;
|
256
|
+
|
257
|
+
FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN;
|
258
|
+
;
|
259
|
+
END_FUNCTION;
|
260
|
+
|
261
|
+
FUNCTION multiple_parameter_function(test : BOOLEAN;
|
262
|
+
test2 : BOOLEAN) : BOOLEAN;
|
263
|
+
;
|
264
|
+
END_FUNCTION;
|
265
|
+
|
266
|
+
FUNCTION multiple_shorthand_parameter_function(test : BOOLEAN;
|
267
|
+
test2 : BOOLEAN) : BOOLEAN;
|
268
|
+
;
|
269
|
+
END_FUNCTION;
|
270
|
+
|
271
|
+
FUNCTION type_function : BOOLEAN;
|
272
|
+
TYPE test = BOOLEAN;
|
273
|
+
END_TYPE;
|
274
|
+
;
|
275
|
+
END_FUNCTION;
|
276
|
+
|
277
|
+
FUNCTION constant_function : BOOLEAN;
|
278
|
+
CONSTANT
|
279
|
+
test : BOOLEAN := TRUE;
|
280
|
+
END_CONSTANT;
|
281
|
+
;
|
282
|
+
END_FUNCTION;
|
283
|
+
|
284
|
+
FUNCTION multiple_constant_function : BOOLEAN;
|
285
|
+
CONSTANT
|
286
|
+
test : BOOLEAN := TRUE;
|
287
|
+
test2 : BOOLEAN := TRUE;
|
288
|
+
END_CONSTANT;
|
289
|
+
;
|
290
|
+
END_FUNCTION;
|
291
|
+
|
292
|
+
FUNCTION variable_function : BOOLEAN;
|
293
|
+
LOCAL
|
294
|
+
test : BOOLEAN;
|
295
|
+
END_LOCAL;
|
296
|
+
;
|
297
|
+
END_FUNCTION;
|
298
|
+
|
299
|
+
FUNCTION multiple_variable_function : BOOLEAN;
|
300
|
+
LOCAL
|
301
|
+
test : BOOLEAN;
|
302
|
+
test2 : BOOLEAN;
|
303
|
+
END_LOCAL;
|
304
|
+
;
|
305
|
+
END_FUNCTION;
|
306
|
+
|
307
|
+
FUNCTION multiple_shorthand_variable_function : BOOLEAN;
|
308
|
+
LOCAL
|
309
|
+
test : BOOLEAN;
|
310
|
+
test2 : BOOLEAN;
|
311
|
+
END_LOCAL;
|
312
|
+
;
|
313
|
+
END_FUNCTION;
|
314
|
+
|
315
|
+
FUNCTION variable_expression_function : BOOLEAN;
|
316
|
+
LOCAL
|
317
|
+
test : BOOLEAN := TRUE;
|
318
|
+
END_LOCAL;
|
319
|
+
;
|
320
|
+
END_FUNCTION;
|
321
|
+
|
322
|
+
FUNCTION multiple_variable_expression_function : BOOLEAN;
|
323
|
+
LOCAL
|
324
|
+
test : BOOLEAN := TRUE;
|
325
|
+
test2 : BOOLEAN := TRUE;
|
326
|
+
END_LOCAL;
|
327
|
+
;
|
328
|
+
END_FUNCTION;
|
329
|
+
|
330
|
+
FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN;
|
331
|
+
LOCAL
|
332
|
+
test : BOOLEAN := TRUE;
|
333
|
+
test2 : BOOLEAN := TRUE;
|
334
|
+
END_LOCAL;
|
335
|
+
;
|
336
|
+
END_FUNCTION;
|
337
|
+
|
338
|
+
RULE empty_rule FOR ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
339
|
+
WHERE
|
340
|
+
TRUE;
|
341
|
+
END_RULE;
|
342
|
+
|
343
|
+
RULE type_rule FOR ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
344
|
+
TYPE test = BOOLEAN;
|
345
|
+
END_TYPE;
|
346
|
+
WHERE
|
347
|
+
TRUE;
|
348
|
+
END_RULE;
|
349
|
+
|
350
|
+
RULE constant_rule FOR ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
368
|
+
LOCAL
|
369
|
+
test : BOOLEAN;
|
370
|
+
END_LOCAL;
|
371
|
+
WHERE
|
372
|
+
TRUE;
|
373
|
+
END_RULE;
|
374
|
+
|
375
|
+
RULE multiple_variable_rule FOR ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,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 ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
420
|
+
;
|
421
|
+
WHERE
|
422
|
+
TRUE;
|
423
|
+
END_RULE;
|
424
|
+
|
425
|
+
RULE where_label_rule FOR ({{{<<express:syntax_schema.empty_entity,empty_entity>>}}});
|
426
|
+
WHERE
|
427
|
+
WR1: TRUE;
|
428
|
+
END_RULE;
|
429
|
+
|
430
|
+
PROCEDURE empty_procedure;
|
431
|
+
END_PROCEDURE;
|
432
|
+
|
433
|
+
PROCEDURE parameter_procedure(test : BOOLEAN);
|
434
|
+
END_PROCEDURE;
|
435
|
+
|
436
|
+
PROCEDURE multiple_parameter_procedure(test : BOOLEAN;
|
437
|
+
test2 : BOOLEAN);
|
438
|
+
END_PROCEDURE;
|
439
|
+
|
440
|
+
PROCEDURE multiple_shorthand_parameter_procedure(test : BOOLEAN;
|
441
|
+
test2 : BOOLEAN);
|
442
|
+
END_PROCEDURE;
|
443
|
+
|
444
|
+
PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN);
|
445
|
+
END_PROCEDURE;
|
446
|
+
|
447
|
+
PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN;
|
448
|
+
test2 : BOOLEAN);
|
449
|
+
END_PROCEDURE;
|
450
|
+
|
451
|
+
PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN;
|
452
|
+
VAR test2 : BOOLEAN);
|
453
|
+
END_PROCEDURE;
|
454
|
+
|
455
|
+
PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test : BOOLEAN;
|
456
|
+
VAR test2 : BOOLEAN);
|
457
|
+
END_PROCEDURE;
|
458
|
+
|
459
|
+
PROCEDURE type_procedure;
|
460
|
+
TYPE test = BOOLEAN;
|
461
|
+
END_TYPE;
|
462
|
+
END_PROCEDURE;
|
463
|
+
|
464
|
+
PROCEDURE constant_procedure;
|
465
|
+
CONSTANT
|
466
|
+
test : BOOLEAN := TRUE;
|
467
|
+
END_CONSTANT;
|
468
|
+
END_PROCEDURE;
|
469
|
+
|
470
|
+
PROCEDURE multiple_constant_procedure;
|
471
|
+
CONSTANT
|
472
|
+
test : BOOLEAN := TRUE;
|
473
|
+
test2 : BOOLEAN := TRUE;
|
474
|
+
END_CONSTANT;
|
475
|
+
END_PROCEDURE;
|
476
|
+
|
477
|
+
PROCEDURE variable_procedure;
|
478
|
+
LOCAL
|
479
|
+
test : BOOLEAN;
|
480
|
+
END_LOCAL;
|
481
|
+
END_PROCEDURE;
|
482
|
+
|
483
|
+
PROCEDURE multiple_variable_procedure;
|
484
|
+
LOCAL
|
485
|
+
test : BOOLEAN;
|
486
|
+
test2 : BOOLEAN;
|
487
|
+
END_LOCAL;
|
488
|
+
END_PROCEDURE;
|
489
|
+
|
490
|
+
PROCEDURE multiple_shorthand_variable_procedure;
|
491
|
+
LOCAL
|
492
|
+
test : BOOLEAN;
|
493
|
+
test2 : BOOLEAN;
|
494
|
+
END_LOCAL;
|
495
|
+
END_PROCEDURE;
|
496
|
+
|
497
|
+
PROCEDURE variable_expression_procedure;
|
498
|
+
LOCAL
|
499
|
+
test : BOOLEAN := TRUE;
|
500
|
+
END_LOCAL;
|
501
|
+
END_PROCEDURE;
|
502
|
+
|
503
|
+
PROCEDURE multiple_variable_expression_procedure;
|
504
|
+
LOCAL
|
505
|
+
test : BOOLEAN := TRUE;
|
506
|
+
test2 : BOOLEAN := TRUE;
|
507
|
+
END_LOCAL;
|
508
|
+
END_PROCEDURE;
|
509
|
+
|
510
|
+
PROCEDURE multiple_shorthand_variable_expression_procedure;
|
511
|
+
LOCAL
|
512
|
+
test : BOOLEAN := TRUE;
|
513
|
+
test2 : BOOLEAN := TRUE;
|
514
|
+
END_LOCAL;
|
515
|
+
END_PROCEDURE;
|
516
|
+
|
517
|
+
PROCEDURE statement_procedure;
|
518
|
+
;
|
519
|
+
END_PROCEDURE;
|
520
|
+
|
521
|
+
PROCEDURE statements;
|
522
|
+
PROCEDURE alias_simple_reference_statement;
|
523
|
+
ALIAS test FOR test;
|
524
|
+
;
|
525
|
+
END_ALIAS;
|
526
|
+
END_PROCEDURE;
|
527
|
+
PROCEDURE alias_group_reference_statement;
|
528
|
+
ALIAS test FOR test\test2;
|
529
|
+
;
|
530
|
+
END_ALIAS;
|
531
|
+
END_PROCEDURE;
|
532
|
+
PROCEDURE alias_index_reference_statement;
|
533
|
+
ALIAS test FOR test[1];
|
534
|
+
;
|
535
|
+
END_ALIAS;
|
536
|
+
END_PROCEDURE;
|
537
|
+
PROCEDURE alias_index2_reference_statement;
|
538
|
+
ALIAS test FOR test[1:9];
|
539
|
+
;
|
540
|
+
END_ALIAS;
|
541
|
+
END_PROCEDURE;
|
542
|
+
PROCEDURE alias_attribute_reference_statement;
|
543
|
+
ALIAS test FOR test.test2;
|
544
|
+
;
|
545
|
+
END_ALIAS;
|
546
|
+
END_PROCEDURE;
|
547
|
+
PROCEDURE assignment_simple_reference_statement;
|
548
|
+
test := TRUE;
|
549
|
+
END_PROCEDURE;
|
550
|
+
PROCEDURE assignment_group_reference_statement;
|
551
|
+
test\test2 := TRUE;
|
552
|
+
END_PROCEDURE;
|
553
|
+
PROCEDURE assignment_index_reference_statement;
|
554
|
+
test[1] := TRUE;
|
555
|
+
END_PROCEDURE;
|
556
|
+
PROCEDURE assignment_index2_reference_statement;
|
557
|
+
test[1:9] := TRUE;
|
558
|
+
END_PROCEDURE;
|
559
|
+
PROCEDURE assignment_attribute_reference_statement;
|
560
|
+
test.test2 := TRUE;
|
561
|
+
END_PROCEDURE;
|
562
|
+
PROCEDURE case_statement;
|
563
|
+
CASE test OF
|
564
|
+
TRUE :
|
565
|
+
;
|
566
|
+
END_CASE;
|
567
|
+
END_PROCEDURE;
|
568
|
+
PROCEDURE case_multiple_statement;
|
569
|
+
CASE test OF
|
570
|
+
TRUE :
|
571
|
+
;
|
572
|
+
TRUE :
|
573
|
+
;
|
574
|
+
END_CASE;
|
575
|
+
END_PROCEDURE;
|
576
|
+
PROCEDURE case_multiple_shorthand_statement;
|
577
|
+
CASE test OF
|
578
|
+
TRUE, TRUE :
|
579
|
+
;
|
580
|
+
END_CASE;
|
581
|
+
END_PROCEDURE;
|
582
|
+
PROCEDURE case_otherwise_statement;
|
583
|
+
CASE test OF
|
584
|
+
TRUE :
|
585
|
+
;
|
586
|
+
OTHERWISE :
|
587
|
+
;
|
588
|
+
END_CASE;
|
589
|
+
END_PROCEDURE;
|
590
|
+
PROCEDURE compound_statement;
|
591
|
+
BEGIN
|
592
|
+
;
|
593
|
+
END;
|
594
|
+
END_PROCEDURE;
|
595
|
+
PROCEDURE escape_statement;
|
596
|
+
ESCAPE;
|
597
|
+
END_PROCEDURE;
|
598
|
+
PROCEDURE if_statement;
|
599
|
+
IF TRUE THEN
|
600
|
+
;
|
601
|
+
END_IF;
|
602
|
+
END_PROCEDURE;
|
603
|
+
PROCEDURE if2_statement;
|
604
|
+
IF TRUE THEN
|
605
|
+
;
|
606
|
+
;
|
607
|
+
END_IF;
|
608
|
+
END_PROCEDURE;
|
609
|
+
PROCEDURE if_else_statement;
|
610
|
+
IF TRUE THEN
|
611
|
+
;
|
612
|
+
ELSE
|
613
|
+
;
|
614
|
+
END_IF;
|
615
|
+
END_PROCEDURE;
|
616
|
+
PROCEDURE if2_else_statement;
|
617
|
+
IF TRUE THEN
|
618
|
+
;
|
619
|
+
;
|
620
|
+
ELSE
|
621
|
+
;
|
622
|
+
END_IF;
|
623
|
+
END_PROCEDURE;
|
624
|
+
PROCEDURE if_else2_statement;
|
625
|
+
IF TRUE THEN
|
626
|
+
;
|
627
|
+
ELSE
|
628
|
+
;
|
629
|
+
;
|
630
|
+
END_IF;
|
631
|
+
END_PROCEDURE;
|
632
|
+
PROCEDURE if2_else2_statement;
|
633
|
+
IF TRUE THEN
|
634
|
+
;
|
635
|
+
;
|
636
|
+
ELSE
|
637
|
+
;
|
638
|
+
;
|
639
|
+
END_IF;
|
640
|
+
END_PROCEDURE;
|
641
|
+
PROCEDURE null_statement;
|
642
|
+
;
|
643
|
+
END_PROCEDURE;
|
644
|
+
PROCEDURE call_statement;
|
645
|
+
{{{<<express:syntax_schema.empty_procedure,empty_procedure>>}}};
|
646
|
+
END_PROCEDURE;
|
647
|
+
PROCEDURE call_parameter_statement;
|
648
|
+
{{{<<express:syntax_schema.empty_procedure,empty_procedure>>}}}(TRUE);
|
649
|
+
END_PROCEDURE;
|
650
|
+
PROCEDURE call_parameter2_statement;
|
651
|
+
{{{<<express:syntax_schema.empty_procedure,empty_procedure>>}}}(TRUE, TRUE);
|
652
|
+
END_PROCEDURE;
|
653
|
+
PROCEDURE call_insert_statement;
|
654
|
+
INSERT(TRUE);
|
655
|
+
END_PROCEDURE;
|
656
|
+
PROCEDURE call_remove_statement;
|
657
|
+
REMOVE(TRUE);
|
658
|
+
END_PROCEDURE;
|
659
|
+
PROCEDURE repeat_statement;
|
660
|
+
REPEAT;
|
661
|
+
;
|
662
|
+
END_REPEAT;
|
663
|
+
END_PROCEDURE;
|
664
|
+
PROCEDURE repeat_variable_statement;
|
665
|
+
REPEAT test := 1 TO 9;
|
666
|
+
;
|
667
|
+
END_REPEAT;
|
668
|
+
END_PROCEDURE;
|
669
|
+
PROCEDURE repeat_variable_increment_statement;
|
670
|
+
REPEAT test := 1 TO 9 BY 2;
|
671
|
+
;
|
672
|
+
END_REPEAT;
|
673
|
+
END_PROCEDURE;
|
674
|
+
PROCEDURE repeat_while_statement;
|
675
|
+
REPEAT WHILE TRUE;
|
676
|
+
;
|
677
|
+
END_REPEAT;
|
678
|
+
END_PROCEDURE;
|
679
|
+
PROCEDURE repeat_until_statement;
|
680
|
+
REPEAT UNTIL TRUE;
|
681
|
+
;
|
682
|
+
END_REPEAT;
|
683
|
+
END_PROCEDURE;
|
684
|
+
PROCEDURE return_statement;
|
685
|
+
RETURN;
|
686
|
+
END_PROCEDURE;
|
687
|
+
PROCEDURE return_expression_statement;
|
688
|
+
RETURN (TRUE);
|
689
|
+
END_PROCEDURE;
|
690
|
+
PROCEDURE skip_statement;
|
691
|
+
SKIP;
|
692
|
+
END_PROCEDURE;
|
693
|
+
END_PROCEDURE;
|
694
|
+
|
695
|
+
PROCEDURE types;
|
696
|
+
TYPE binary_type = BINARY;
|
697
|
+
END_TYPE;
|
698
|
+
TYPE binary_width_type = BINARY (3);
|
699
|
+
END_TYPE;
|
700
|
+
TYPE binary_width_fixed_type = BINARY (3) FIXED;
|
701
|
+
END_TYPE;
|
702
|
+
TYPE boolean_type = BOOLEAN;
|
703
|
+
END_TYPE;
|
704
|
+
TYPE integer_type = INTEGER;
|
705
|
+
END_TYPE;
|
706
|
+
TYPE logical_type = LOGICAL;
|
707
|
+
END_TYPE;
|
708
|
+
TYPE number_type = NUMBER;
|
709
|
+
END_TYPE;
|
710
|
+
TYPE real_type = REAL;
|
711
|
+
END_TYPE;
|
712
|
+
TYPE real_precision_type = REAL (3);
|
713
|
+
END_TYPE;
|
714
|
+
TYPE string_type = STRING;
|
715
|
+
END_TYPE;
|
716
|
+
TYPE string_width_type = STRING (3);
|
717
|
+
END_TYPE;
|
718
|
+
TYPE string_width_fixed_type = STRING (3) FIXED;
|
719
|
+
END_TYPE;
|
720
|
+
TYPE array_type = ARRAY [1:9] OF STRING;
|
721
|
+
END_TYPE;
|
722
|
+
TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING;
|
723
|
+
END_TYPE;
|
724
|
+
TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING;
|
725
|
+
END_TYPE;
|
726
|
+
TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING;
|
727
|
+
END_TYPE;
|
728
|
+
TYPE bag_type = BAG OF STRING;
|
729
|
+
END_TYPE;
|
730
|
+
TYPE bag_bound_type = BAG [1:9] OF STRING;
|
731
|
+
END_TYPE;
|
732
|
+
TYPE list_type = LIST OF STRING;
|
733
|
+
END_TYPE;
|
734
|
+
TYPE list_bound_type = LIST [1:9] OF STRING;
|
735
|
+
END_TYPE;
|
736
|
+
TYPE list_unique_type = LIST OF UNIQUE STRING;
|
737
|
+
END_TYPE;
|
738
|
+
TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING;
|
739
|
+
END_TYPE;
|
740
|
+
TYPE set_type = SET OF STRING;
|
741
|
+
END_TYPE;
|
742
|
+
TYPE set_bound_type = SET [1:9] OF STRING;
|
743
|
+
END_TYPE;
|
744
|
+
TYPE select_type = SELECT;
|
745
|
+
END_TYPE;
|
746
|
+
TYPE select_extensible_type = EXTENSIBLE SELECT;
|
747
|
+
END_TYPE;
|
748
|
+
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
749
|
+
END_TYPE;
|
750
|
+
TYPE select_item_type = SELECT
|
751
|
+
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
752
|
+
END_TYPE;
|
753
|
+
TYPE select_multiple_item_type = SELECT
|
754
|
+
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
755
|
+
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
756
|
+
END_TYPE;
|
757
|
+
TYPE select_based_on_type = SELECT BASED_ON select_type;
|
758
|
+
END_TYPE;
|
759
|
+
TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
|
760
|
+
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
761
|
+
END_TYPE;
|
762
|
+
TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
|
763
|
+
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
764
|
+
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
765
|
+
END_TYPE;
|
766
|
+
TYPE enumeration_type = ENUMERATION;
|
767
|
+
END_TYPE;
|
768
|
+
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
769
|
+
END_TYPE;
|
770
|
+
TYPE enumeration_item_type = ENUMERATION OF
|
771
|
+
(test);
|
772
|
+
END_TYPE;
|
773
|
+
TYPE enumeration_multiple_item_type = ENUMERATION OF
|
774
|
+
(test,
|
775
|
+
test2);
|
776
|
+
END_TYPE;
|
777
|
+
TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
|
778
|
+
END_TYPE;
|
779
|
+
TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
780
|
+
(test);
|
781
|
+
END_TYPE;
|
782
|
+
TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
783
|
+
(test,
|
784
|
+
test2);
|
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;
|
798
|
+
END_PROCEDURE;
|
799
|
+
|
800
|
+
PROCEDURE expressions;
|
801
|
+
LOCAL
|
802
|
+
binary_expression : BOOLEAN := %011110000111100001111000;
|
803
|
+
integer_expression : BOOLEAN := 999;
|
804
|
+
true_logical_expression : BOOLEAN := TRUE;
|
805
|
+
false_logical_expression : BOOLEAN := FALSE;
|
806
|
+
unknown_logical_expression : BOOLEAN := UNKNOWN;
|
807
|
+
real_expression : BOOLEAN := 999.999;
|
808
|
+
simple_string_expression : BOOLEAN := 'xxx';
|
809
|
+
utf8_simple_string_expression : BOOLEAN := 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.';
|
810
|
+
encoded_string_expression : BOOLEAN := "000000780000007800000078";
|
811
|
+
const_e_expression : BOOLEAN := CONST_E;
|
812
|
+
indeterminate_expression : BOOLEAN := ?;
|
813
|
+
pi_expression : BOOLEAN := PI;
|
814
|
+
self_expression : BOOLEAN := SELF;
|
815
|
+
abs_expression : BOOLEAN := ABS(TRUE);
|
816
|
+
acos_expression : BOOLEAN := ACOS(TRUE);
|
817
|
+
asin_expression : BOOLEAN := ASIN(TRUE);
|
818
|
+
atan_expression : BOOLEAN := ATAN(TRUE);
|
819
|
+
blength_expression : BOOLEAN := BLENGTH(TRUE);
|
820
|
+
cos_expression : BOOLEAN := COS(TRUE);
|
821
|
+
exists_expression : BOOLEAN := EXISTS(TRUE);
|
822
|
+
exp_expression : BOOLEAN := EXP(TRUE);
|
823
|
+
format_expression : BOOLEAN := FORMAT(TRUE);
|
824
|
+
hibound_expression : BOOLEAN := HIBOUND(TRUE);
|
825
|
+
hiindex_expression : BOOLEAN := HIINDEX(TRUE);
|
826
|
+
length_expression : BOOLEAN := LENGTH(TRUE);
|
827
|
+
lobound_expression : BOOLEAN := LOBOUND(TRUE);
|
828
|
+
loindex_expression : BOOLEAN := LOINDEX(TRUE);
|
829
|
+
log_expression : BOOLEAN := LOG(TRUE);
|
830
|
+
log2_expression : BOOLEAN := LOG2(TRUE);
|
831
|
+
log10_expression : BOOLEAN := LOG10(TRUE);
|
832
|
+
nvl_expression : BOOLEAN := NVL(TRUE);
|
833
|
+
odd_expression : BOOLEAN := ODD(TRUE);
|
834
|
+
rolesof_expression : BOOLEAN := ROLESOF(TRUE);
|
835
|
+
sin_expression : BOOLEAN := SIN(TRUE);
|
836
|
+
sizeof_expression : BOOLEAN := SIZEOF(TRUE);
|
837
|
+
sqrt_expression : BOOLEAN := SQRT(TRUE);
|
838
|
+
tan_expression : BOOLEAN := TAN(TRUE);
|
839
|
+
typeof_expression : BOOLEAN := TYPEOF(TRUE);
|
840
|
+
usedin_expression : BOOLEAN := USEDIN(TRUE);
|
841
|
+
value_expression : BOOLEAN := VALUE(TRUE);
|
842
|
+
value_in_expression : BOOLEAN := VALUE_IN(TRUE);
|
843
|
+
value_unique_expression : BOOLEAN := VALUE_UNIQUE(TRUE);
|
844
|
+
plus_expression : BOOLEAN := +4;
|
845
|
+
plus_addition_expression : BOOLEAN := +(4 + 2);
|
846
|
+
minus_expression : BOOLEAN := -4;
|
847
|
+
minus_addition_expression : BOOLEAN := -(4 + 2);
|
848
|
+
addition_expression : BOOLEAN := 4 + 2;
|
849
|
+
subtraction_expression : BOOLEAN := 4 - 2;
|
850
|
+
multiplication_expression : BOOLEAN := 4 * 2;
|
851
|
+
real_division_expression : BOOLEAN := 4 / 2;
|
852
|
+
integer_division_expression : BOOLEAN := 4 DIV 2;
|
853
|
+
modulo_expression : BOOLEAN := 4 MOD 2;
|
854
|
+
exponentiation_expression : BOOLEAN := 4 ** 2;
|
855
|
+
addition_addition_expression : BOOLEAN := 4 + 2 + 1;
|
856
|
+
subtraction_subtraction_expression : BOOLEAN := 4 - 2 - 1;
|
857
|
+
addition_subtraction_expression : BOOLEAN := 4 + 2 - 1;
|
858
|
+
subtraction_addition_expression : BOOLEAN := 4 - 2 + 1;
|
859
|
+
addition_multiplication_expression : BOOLEAN := 8 + 4 * 2;
|
860
|
+
multiplication_addition_expression : BOOLEAN := 8 * 4 + 2;
|
861
|
+
parenthesis_addition_multiplication_expression : BOOLEAN := (8 + 4) * 2;
|
862
|
+
multiplication_parenthesis_addition_expression : BOOLEAN := 8 * (4 + 2);
|
863
|
+
equal_expression : BOOLEAN := 4 = 2;
|
864
|
+
not_equal_expression : BOOLEAN := 4 <> 2;
|
865
|
+
instance_equal_expression : BOOLEAN := 4 :=: 2;
|
866
|
+
instance_not_equal_expression : BOOLEAN := 4 :<>: 2;
|
867
|
+
lt_expression : BOOLEAN := 4 < 2;
|
868
|
+
gt_expression : BOOLEAN := 4 > 2;
|
869
|
+
lte_expression : BOOLEAN := 4 <= 2;
|
870
|
+
gte_expression : BOOLEAN := 4 >= 2;
|
871
|
+
not_expression : BOOLEAN := NOT TRUE;
|
872
|
+
not_or_expression : BOOLEAN := NOT (TRUE OR FALSE);
|
873
|
+
or_expression : BOOLEAN := TRUE OR FALSE;
|
874
|
+
and_expression : BOOLEAN := TRUE AND FALSE;
|
875
|
+
or_or_expression : BOOLEAN := TRUE OR FALSE OR TRUE;
|
876
|
+
and_and_expression : BOOLEAN := TRUE AND FALSE AND TRUE;
|
877
|
+
or_and_expression : BOOLEAN := TRUE OR FALSE AND TRUE;
|
878
|
+
and_or_expression : BOOLEAN := TRUE AND FALSE OR TRUE;
|
879
|
+
parenthesis_or_and_expression : BOOLEAN := (TRUE OR FALSE) AND TRUE;
|
880
|
+
and_parenthesis_or_expression : BOOLEAN := TRUE AND (FALSE OR TRUE);
|
881
|
+
combine_expression : BOOLEAN := test || test2;
|
882
|
+
in_expression : BOOLEAN := TRUE IN [TRUE];
|
883
|
+
like_expression : BOOLEAN := 'xxx' LIKE 'xxx';
|
884
|
+
aggregate_initializer_expression : BOOLEAN := [4];
|
885
|
+
repeated_aggregate_initializer_expression : BOOLEAN := [4:2];
|
886
|
+
complex_aggregate_initializer_expression : BOOLEAN := [4 + 2];
|
887
|
+
complex_repeated_aggregate_initializer_expression : BOOLEAN := [4 + 2:4 + 2];
|
888
|
+
call_expression : BOOLEAN := {{{<<express:syntax_schema.parameter_function,parameter_function>>}}}(TRUE);
|
889
|
+
simple_reference_expression : BOOLEAN := test;
|
890
|
+
group_reference_expression : BOOLEAN := test\test2;
|
891
|
+
index_reference_expression : BOOLEAN := test[1];
|
892
|
+
index2_reference_expression : BOOLEAN := test[1:9];
|
893
|
+
attribute_reference_expression : BOOLEAN := test.test2;
|
894
|
+
lt_lt_interval_expression : BOOLEAN := {1 < 5 < 9};
|
895
|
+
lte_lt_interval_expression : BOOLEAN := {1 <= 5 < 9};
|
896
|
+
lt_lte_interval_expression : BOOLEAN := {1 < 5 <= 9};
|
897
|
+
lte_lte_interval_expression : BOOLEAN := {1 <= 5 <= 9};
|
898
|
+
query_expression : BOOLEAN := QUERY(test <* test2 | TRUE);
|
899
|
+
END_LOCAL;
|
900
|
+
END_PROCEDURE;
|
901
|
+
|
902
|
+
END_SCHEMA;
|