expressir 0.2.7-x64-mingw32 → 0.2.12-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +3 -4
- data/.gitignore +1 -1
- data/exe/format +16 -0
- data/expressir.gemspec +3 -2
- data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
- data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
- data/lib/expressir/express_exp/3.0/express_parser.so +0 -0
- data/lib/expressir/express_exp/formatter.rb +147 -110
- data/lib/expressir/express_exp/hyperlink_formatter.rb +25 -0
- data/lib/expressir/express_exp/parser.rb +14 -1
- data/lib/expressir/express_exp/schema_head_formatter.rb +14 -0
- data/lib/expressir/express_exp/visitor.rb +206 -118
- data/lib/expressir/model.rb +3 -1
- data/lib/expressir/model/attribute.rb +5 -1
- data/lib/expressir/model/constant.rb +5 -1
- data/lib/expressir/model/entity.rb +14 -20
- data/lib/expressir/model/enumeration_item.rb +5 -1
- data/lib/expressir/model/expressions/aggregate_initializer.rb +4 -2
- data/lib/expressir/model/expressions/aggregate_item.rb +3 -1
- data/lib/expressir/model/expressions/attribute_reference.rb +3 -1
- data/lib/expressir/model/expressions/binary_expression.rb +3 -1
- data/lib/expressir/model/expressions/call.rb +4 -2
- data/lib/expressir/model/expressions/entity_constructor.rb +4 -2
- data/lib/expressir/model/expressions/group_reference.rb +3 -1
- data/lib/expressir/model/expressions/index_reference.rb +3 -1
- data/lib/expressir/model/expressions/interval.rb +3 -1
- data/lib/expressir/model/expressions/query_expression.rb +5 -2
- data/lib/expressir/model/expressions/simple_reference.rb +3 -1
- data/lib/expressir/model/expressions/unary_expression.rb +3 -1
- data/lib/expressir/model/function.rb +28 -39
- data/lib/expressir/model/identifier.rb +0 -1
- data/lib/expressir/model/informal_proposition.rb +15 -0
- data/lib/expressir/model/interface.rb +4 -2
- data/lib/expressir/model/literals/binary.rb +3 -1
- data/lib/expressir/model/literals/integer.rb +3 -1
- data/lib/expressir/model/literals/logical.rb +3 -1
- data/lib/expressir/model/literals/real.rb +3 -1
- data/lib/expressir/model/literals/string.rb +3 -1
- data/lib/expressir/model/model_element.rb +140 -0
- data/lib/expressir/model/parameter.rb +5 -1
- data/lib/expressir/model/procedure.rb +29 -40
- data/lib/expressir/model/renamed_ref.rb +3 -1
- data/lib/expressir/model/repository.rb +5 -5
- data/lib/expressir/model/rule.rb +33 -41
- data/lib/expressir/model/schema.rb +32 -46
- data/lib/expressir/model/statements/alias.rb +6 -3
- data/lib/expressir/model/statements/assignment.rb +3 -1
- data/lib/expressir/model/statements/call.rb +4 -2
- data/lib/expressir/model/statements/case.rb +4 -2
- data/lib/expressir/model/statements/case_action.rb +4 -2
- data/lib/expressir/model/statements/compound.rb +4 -2
- data/lib/expressir/model/statements/escape.rb +1 -1
- data/lib/expressir/model/statements/if.rb +5 -3
- data/lib/expressir/model/statements/null.rb +1 -1
- data/lib/expressir/model/statements/repeat.rb +6 -3
- data/lib/expressir/model/statements/return.rb +3 -1
- data/lib/expressir/model/statements/skip.rb +1 -1
- data/lib/expressir/model/subtype_constraint.rb +5 -2
- data/lib/expressir/model/type.rb +11 -4
- data/lib/expressir/model/types/aggregate.rb +5 -1
- data/lib/expressir/model/types/array.rb +3 -1
- data/lib/expressir/model/types/bag.rb +3 -1
- data/lib/expressir/model/types/binary.rb +3 -1
- data/lib/expressir/model/types/boolean.rb +1 -1
- data/lib/expressir/model/types/enumeration.rb +5 -3
- data/lib/expressir/model/types/generic.rb +5 -1
- data/lib/expressir/model/types/generic_entity.rb +5 -1
- data/lib/expressir/model/types/integer.rb +1 -1
- data/lib/expressir/model/types/list.rb +3 -1
- data/lib/expressir/model/types/logical.rb +1 -1
- data/lib/expressir/model/types/number.rb +1 -1
- data/lib/expressir/model/types/real.rb +3 -1
- data/lib/expressir/model/types/select.rb +5 -3
- data/lib/expressir/model/types/set.rb +3 -1
- data/lib/expressir/model/types/string.rb +3 -1
- data/lib/expressir/model/unique.rb +6 -2
- data/lib/expressir/model/variable.rb +5 -1
- data/lib/expressir/model/where.rb +5 -1
- data/lib/expressir/version.rb +1 -1
- data/original/examples/syntax/hyperlink.exp +8 -0
- data/original/examples/syntax/hyperlink_formatted.exp +19 -0
- data/original/examples/syntax/remark.exp +63 -20
- data/original/examples/syntax/remark_formatted.exp +62 -24
- data/original/examples/syntax/simple.exp +3 -0
- data/original/examples/syntax/source.exp +16 -0
- data/original/examples/syntax/syntax.exp +202 -190
- data/original/examples/syntax/syntax_formatted.exp +370 -799
- data/spec/expressir/express_exp/{format_remark_spec.rb → formatter/remark_spec.rb} +2 -2
- data/spec/expressir/express_exp/{format_syntax_spec.rb → formatter/syntax_spec.rb} +2 -2
- data/spec/expressir/express_exp/hyperlink_formatter_spec.rb +24 -0
- data/spec/expressir/express_exp/parser/head_source_spec.rb +38 -0
- data/spec/expressir/express_exp/parser/multiple_spec.rb +32 -0
- data/spec/expressir/express_exp/{parse_remark_spec.rb → parser/remark_spec.rb} +120 -55
- data/spec/expressir/express_exp/parser/source_spec.rb +29 -0
- data/spec/expressir/express_exp/parser/syntax_spec.rb +3080 -0
- data/spec/expressir/express_exp/schema_head_formatter_spec.rb +36 -0
- data/spec/expressir/model/{find_spec.rb → model_element/find_spec.rb} +26 -8
- data/spec/expressir/model/model_element/hash_spec.rb +66 -0
- metadata +38 -11
- data/lib/expressir/model/scope.rb +0 -17
- data/spec/expressir/express_exp/ap233_spec.rb +0 -22
- data/spec/expressir/express_exp/parse_syntax_spec.rb +0 -3003
@@ -3,8 +3,9 @@ CONSTANT
|
|
3
3
|
remark_constant : STRING := 'xxx';
|
4
4
|
END_CONSTANT;
|
5
5
|
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
6
|
+
WHERE
|
7
|
+
WR1 : TRUE;
|
6
8
|
END_TYPE;
|
7
|
-
|
8
9
|
ENTITY remark_entity;
|
9
10
|
remark_attribute : STRING;
|
10
11
|
DERIVE
|
@@ -14,12 +15,10 @@ ENTITY remark_entity;
|
|
14
15
|
UNIQUE
|
15
16
|
remark_unique : remark_attribute;
|
16
17
|
WHERE
|
17
|
-
|
18
|
+
WR1 : TRUE;
|
18
19
|
END_ENTITY;
|
19
|
-
|
20
20
|
SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity;
|
21
21
|
END_SUBTYPE_CONSTRAINT;
|
22
|
-
|
23
22
|
FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
|
24
23
|
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
25
24
|
END_TYPE;
|
@@ -41,7 +40,6 @@ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
|
|
41
40
|
--"remark_query" function query scope - function query
|
42
41
|
);
|
43
42
|
END_FUNCTION;
|
44
|
-
|
45
43
|
PROCEDURE remark_procedure(remark_parameter : STRING);
|
46
44
|
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
47
45
|
END_TYPE;
|
@@ -63,7 +61,6 @@ PROCEDURE remark_procedure(remark_parameter : STRING);
|
|
63
61
|
--"remark_query" procedure query scope - procedure query
|
64
62
|
);
|
65
63
|
END_PROCEDURE;
|
66
|
-
|
67
64
|
RULE remark_rule FOR (remark_entity);
|
68
65
|
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
69
66
|
END_TYPE;
|
@@ -85,7 +82,7 @@ RULE remark_rule FOR (remark_entity);
|
|
85
82
|
--"remark_query" rule query scope - rule query
|
86
83
|
);
|
87
84
|
WHERE
|
88
|
-
|
85
|
+
WR1 : TRUE;
|
89
86
|
END_RULE;
|
90
87
|
END_SCHEMA;
|
91
88
|
(*"remark_schema"
|
@@ -101,8 +98,22 @@ several physical lines.
|
|
101
98
|
--"remark_schema.remark_constant" universal scope - constant
|
102
99
|
--"remark_schema.remark_type" schema scope - type
|
103
100
|
--"remark_schema.remark_type" universal scope - type
|
104
|
-
--"remark_schema.remark_enumeration_item" schema scope - enumeration item
|
105
|
-
--"remark_schema.remark_enumeration_item"
|
101
|
+
--"remark_schema.remark_type.remark_enumeration_item" schema scope - enumeration item
|
102
|
+
--"remark_schema.remark_type.remark_enumeration_item" schema scope - enumeration item, on the same level as the type
|
103
|
+
--"remark_schema.remark_type.remark_enumeration_item" universal scope - enumeration item
|
104
|
+
--"remark_schema.remark_type.remark_enumeration_item" universal scope - enumeration item, on the same level as the type
|
105
|
+
--"remark_schema.remark_type.WR1" type scope - type where
|
106
|
+
--"remark_schema.remark_type.WR1" type scope - type where, with prefix
|
107
|
+
--"remark_schema.remark_type.WR1" schema scope - type where
|
108
|
+
--"remark_schema.remark_type.WR1" schema scope - type where, with prefix
|
109
|
+
--"remark_schema.remark_type.WR1" universal scope - type where
|
110
|
+
--"remark_schema.remark_type.WR1" universal scope - type where, with prefix
|
111
|
+
--"remark_schema.remark_type.IP1" type scope - type informal proposition
|
112
|
+
--"remark_schema.remark_type.IP1" type scope - type informal proposition, with prefix
|
113
|
+
--"remark_schema.remark_type.IP1" schema scope - type informal proposition
|
114
|
+
--"remark_schema.remark_type.IP1" schema scope - type informal proposition, with prefix
|
115
|
+
--"remark_schema.remark_type.IP1" universal scope - type informal proposition
|
116
|
+
--"remark_schema.remark_type.IP1" universal scope - type informal proposition, with prefix
|
106
117
|
--"remark_schema.remark_entity" schema scope - entity
|
107
118
|
--"remark_schema.remark_entity" universal scope - entity
|
108
119
|
--"remark_schema.remark_entity.remark_attribute" entity scope - entity attribute
|
@@ -117,9 +128,18 @@ several physical lines.
|
|
117
128
|
--"remark_schema.remark_entity.remark_unique" entity scope - entity unique
|
118
129
|
--"remark_schema.remark_entity.remark_unique" schema scope - entity unique
|
119
130
|
--"remark_schema.remark_entity.remark_unique" universal scope - entity unique
|
120
|
-
--"remark_schema.remark_entity.
|
121
|
-
--"remark_schema.remark_entity.
|
122
|
-
--"remark_schema.remark_entity.
|
131
|
+
--"remark_schema.remark_entity.WR1" entity scope - entity where
|
132
|
+
--"remark_schema.remark_entity.WR1" entity scope - entity where, with prefix
|
133
|
+
--"remark_schema.remark_entity.WR1" schema scope - entity where
|
134
|
+
--"remark_schema.remark_entity.WR1" schema scope - entity where, with prefix
|
135
|
+
--"remark_schema.remark_entity.WR1" universal scope - entity where
|
136
|
+
--"remark_schema.remark_entity.WR1" universal scope - entity where, with prefix
|
137
|
+
--"remark_schema.remark_entity.IP1" entity scope - entity informal proposition
|
138
|
+
--"remark_schema.remark_entity.IP1" entity scope - entity informal proposition, with prefix
|
139
|
+
--"remark_schema.remark_entity.IP1" schema scope - entity informal proposition
|
140
|
+
--"remark_schema.remark_entity.IP1" schema scope - entity informal proposition, with prefix
|
141
|
+
--"remark_schema.remark_entity.IP1" universal scope - entity informal proposition
|
142
|
+
--"remark_schema.remark_entity.IP1" universal scope - entity informal proposition, with prefix
|
123
143
|
--"remark_schema.remark_subtype_constraint" schema scope - subtype constraint
|
124
144
|
--"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
|
125
145
|
--"remark_schema.remark_function" schema scope - function
|
@@ -130,9 +150,12 @@ several physical lines.
|
|
130
150
|
--"remark_schema.remark_function.remark_type" function scope - function type
|
131
151
|
--"remark_schema.remark_function.remark_type" schema scope - function type
|
132
152
|
--"remark_schema.remark_function.remark_type" universal scope - function type
|
133
|
-
--"remark_schema.remark_function.remark_enumeration_item" function scope - function enumeration item
|
134
|
-
--"remark_schema.remark_function.remark_enumeration_item"
|
135
|
-
--"remark_schema.remark_function.remark_enumeration_item"
|
153
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" function scope - function enumeration item
|
154
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" function scope - function enumeration item, on the same level as the type
|
155
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" schema scope - function enumeration item
|
156
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" schema scope - function enumeration item, on the same level as the type
|
157
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" universal scope - function enumeration item
|
158
|
+
--"remark_schema.remark_function.remark_type.remark_enumeration_item" universal scope - function enumeration item, on the same level as the type
|
136
159
|
--"remark_schema.remark_function.remark_constant" function scope - function constant
|
137
160
|
--"remark_schema.remark_function.remark_constant" schema scope - function constant
|
138
161
|
--"remark_schema.remark_function.remark_constant" universal scope - function constant
|
@@ -147,9 +170,12 @@ several physical lines.
|
|
147
170
|
--"remark_schema.remark_procedure.remark_type" procedure scope - procedure type
|
148
171
|
--"remark_schema.remark_procedure.remark_type" schema scope - procedure type
|
149
172
|
--"remark_schema.remark_procedure.remark_type" universal scope - procedure type
|
150
|
-
--"remark_schema.remark_procedure.remark_enumeration_item" procedure scope - procedure enumeration item
|
151
|
-
--"remark_schema.remark_procedure.remark_enumeration_item"
|
152
|
-
--"remark_schema.remark_procedure.remark_enumeration_item"
|
173
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" procedure scope - procedure enumeration item
|
174
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" procedure scope - procedure enumeration item, on the same level as the type
|
175
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item
|
176
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
|
177
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
|
178
|
+
--"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
|
153
179
|
--"remark_schema.remark_procedure.remark_constant" procedure scope - procedure constant
|
154
180
|
--"remark_schema.remark_procedure.remark_constant" schema scope - procedure constant
|
155
181
|
--"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
|
@@ -161,15 +187,27 @@ several physical lines.
|
|
161
187
|
--"remark_schema.remark_rule.remark_type" rule scope - rule type
|
162
188
|
--"remark_schema.remark_rule.remark_type" schema scope - rule type
|
163
189
|
--"remark_schema.remark_rule.remark_type" universal scope - rule type
|
164
|
-
--"remark_schema.remark_rule.remark_enumeration_item" rule scope - rule enumeration item
|
165
|
-
--"remark_schema.remark_rule.remark_enumeration_item"
|
166
|
-
--"remark_schema.remark_rule.remark_enumeration_item"
|
190
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" rule scope - rule enumeration item
|
191
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" rule scope - rule enumeration item, on the same level as the type
|
192
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" schema scope - rule enumeration item
|
193
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" schema scope - rule enumeration item, on the same level as the type
|
194
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" universal scope - rule enumeration item
|
195
|
+
--"remark_schema.remark_rule.remark_type.remark_enumeration_item" universal scope - rule enumeration item, on the same level as the type
|
167
196
|
--"remark_schema.remark_rule.remark_constant" rule scope - rule constant
|
168
197
|
--"remark_schema.remark_rule.remark_constant" schema scope - rule constant
|
169
198
|
--"remark_schema.remark_rule.remark_constant" universal scope - rule constant
|
170
199
|
--"remark_schema.remark_rule.remark_variable" rule scope - rule variable
|
171
200
|
--"remark_schema.remark_rule.remark_variable" schema scope - rule variable
|
172
201
|
--"remark_schema.remark_rule.remark_variable" universal scope - rule variable
|
173
|
-
--"remark_schema.remark_rule.
|
174
|
-
--"remark_schema.remark_rule.
|
175
|
-
--"remark_schema.remark_rule.
|
202
|
+
--"remark_schema.remark_rule.WR1" rule scope - rule where
|
203
|
+
--"remark_schema.remark_rule.WR1" rule scope - rule where, with prefix
|
204
|
+
--"remark_schema.remark_rule.WR1" schema scope - rule where
|
205
|
+
--"remark_schema.remark_rule.WR1" schema scope - rule where, with prefix
|
206
|
+
--"remark_schema.remark_rule.WR1" universal scope - rule where
|
207
|
+
--"remark_schema.remark_rule.WR1" universal scope - rule where, with prefix
|
208
|
+
--"remark_schema.remark_rule.IP1" rule scope - rule informal proposition
|
209
|
+
--"remark_schema.remark_rule.IP1" rule scope - rule informal proposition, with prefix
|
210
|
+
--"remark_schema.remark_rule.IP1" schema scope - rule informal proposition
|
211
|
+
--"remark_schema.remark_rule.IP1" schema scope - rule informal proposition, with prefix
|
212
|
+
--"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
|
213
|
+
--"remark_schema.remark_rule.IP1" universal scope - rule informal proposition, with prefix
|
@@ -0,0 +1,16 @@
|
|
1
|
+
SCHEMA entity_schema;
|
2
|
+
-- body
|
3
|
+
ENTITY empty_entity; END_ENTITY;
|
4
|
+
END_SCHEMA;
|
5
|
+
|
6
|
+
SCHEMA version_entity_schema 'version';
|
7
|
+
-- body
|
8
|
+
ENTITY empty_entity; END_ENTITY;
|
9
|
+
END_SCHEMA;
|
10
|
+
|
11
|
+
SCHEMA version_interface_entity_schema 'version';
|
12
|
+
USE FROM contract_schema;
|
13
|
+
REFERENCE FROM contract_schema;
|
14
|
+
-- body
|
15
|
+
ENTITY empty_entity; END_ENTITY;
|
16
|
+
END_SCHEMA;
|
@@ -1,11 +1,14 @@
|
|
1
|
+
-- schema
|
1
2
|
SCHEMA syntax_schema 'version';
|
2
3
|
|
3
4
|
-- interfaces
|
4
5
|
USE FROM contract_schema;
|
5
6
|
USE FROM contract_schema (contract);
|
7
|
+
USE FROM contract_schema (contract, contract2);
|
6
8
|
USE FROM contract_schema (contract AS contract2);
|
7
9
|
REFERENCE FROM contract_schema;
|
8
10
|
REFERENCE FROM contract_schema (contract);
|
11
|
+
REFERENCE FROM contract_schema (contract, contract2);
|
9
12
|
REFERENCE FROM contract_schema (contract AS contract2);
|
10
13
|
|
11
14
|
-- constants
|
@@ -14,7 +17,7 @@ CONSTANT empty_constant : BOOLEAN := TRUE; END_CONSTANT;
|
|
14
17
|
-- types
|
15
18
|
TYPE empty_type = BOOLEAN; END_TYPE;
|
16
19
|
TYPE where_type = BOOLEAN; WHERE TRUE; END_TYPE;
|
17
|
-
TYPE where_label_type = BOOLEAN; WHERE WR1 : TRUE; END_TYPE;
|
20
|
+
TYPE where_label_type = BOOLEAN; WHERE WR1 : TRUE; END_TYPE;
|
18
21
|
|
19
22
|
-- entities
|
20
23
|
ENTITY empty_entity; END_ENTITY;
|
@@ -28,23 +31,23 @@ ENTITY attribute_entity; test : BOOLEAN; END_ENTITY;
|
|
28
31
|
ENTITY attribute_optional_entity; test : OPTIONAL BOOLEAN; END_ENTITY;
|
29
32
|
ENTITY attribute_multiple_entity; test : BOOLEAN; test2 : BOOLEAN; END_ENTITY;
|
30
33
|
ENTITY attribute_multiple_shorthand_entity; test, test2 : BOOLEAN; END_ENTITY;
|
31
|
-
ENTITY attribute_redeclared_entity; SELF\attribute_entity.test : BOOLEAN; END_ENTITY;
|
32
|
-
ENTITY attribute_redeclared_renamed_entity; SELF\attribute_entity.test RENAMED test2 : BOOLEAN; END_ENTITY;
|
34
|
+
ENTITY attribute_redeclared_entity SUBTYPE OF (attribute_entity); SELF\attribute_entity.test : BOOLEAN; END_ENTITY;
|
35
|
+
ENTITY attribute_redeclared_renamed_entity SUBTYPE OF (attribute_entity); SELF\attribute_entity.test RENAMED test2 : BOOLEAN; END_ENTITY;
|
33
36
|
ENTITY derived_attribute_entity; DERIVE test : BOOLEAN := TRUE; END_ENTITY;
|
34
|
-
ENTITY derived_attribute_redeclared_entity; DERIVE SELF\attribute_entity.test : BOOLEAN := TRUE; END_ENTITY;
|
35
|
-
ENTITY derived_attribute_redeclared_renamed_entity; DERIVE SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE; END_ENTITY;
|
37
|
+
ENTITY derived_attribute_redeclared_entity SUBTYPE OF (attribute_entity); DERIVE SELF\attribute_entity.test : BOOLEAN := TRUE; END_ENTITY;
|
38
|
+
ENTITY derived_attribute_redeclared_renamed_entity SUBTYPE OF (attribute_entity); DERIVE SELF\attribute_entity.test RENAMED test2 : BOOLEAN := TRUE; END_ENTITY;
|
36
39
|
ENTITY inverse_attribute_entity; INVERSE test : attribute_entity FOR test; END_ENTITY;
|
37
40
|
ENTITY inverse_attribute_entity_entity; INVERSE test : attribute_entity FOR attribute_entity.test; END_ENTITY;
|
38
41
|
ENTITY inverse_attribute_set_entity; INVERSE test : SET OF attribute_entity FOR test; END_ENTITY;
|
39
42
|
ENTITY inverse_attribute_set_bound_entity; INVERSE test : SET [1:9] OF attribute_entity FOR test; END_ENTITY;
|
40
43
|
ENTITY inverse_attribute_bag_entity; INVERSE test : BAG OF attribute_entity FOR test; END_ENTITY;
|
41
44
|
ENTITY inverse_attribute_bag_bound_entity; INVERSE test : BAG [1:9] OF attribute_entity FOR test; END_ENTITY;
|
42
|
-
ENTITY inverse_attribute_redeclared_entity; INVERSE SELF\attribute_entity.test : attribute_entity FOR test; END_ENTITY;
|
43
|
-
ENTITY inverse_attribute_redeclared_renamed_entity; INVERSE SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test; END_ENTITY;
|
45
|
+
ENTITY inverse_attribute_redeclared_entity SUBTYPE OF (attribute_entity); INVERSE SELF\attribute_entity.test : attribute_entity FOR test; END_ENTITY;
|
46
|
+
ENTITY inverse_attribute_redeclared_renamed_entity SUBTYPE OF (attribute_entity); INVERSE SELF\attribute_entity.test RENAMED test2 : attribute_entity FOR test; END_ENTITY;
|
44
47
|
ENTITY unique_entity; test : BOOLEAN; UNIQUE test; END_ENTITY;
|
45
48
|
ENTITY unique_label_entity; test : BOOLEAN; UNIQUE UR1 : test; END_ENTITY;
|
46
|
-
ENTITY
|
47
|
-
ENTITY
|
49
|
+
ENTITY unique_redeclared_entity SUBTYPE OF (attribute_entity); UNIQUE SELF\attribute_entity.test; END_ENTITY;
|
50
|
+
ENTITY unique_label_redeclared_entity SUBTYPE OF (attribute_entity); UNIQUE UR1 : SELF\attribute_entity.test; END_ENTITY;
|
48
51
|
ENTITY where_entity; WHERE TRUE; END_ENTITY;
|
49
52
|
ENTITY where_label_entity; WHERE WR1 : TRUE; END_ENTITY;
|
50
53
|
|
@@ -114,198 +117,207 @@ RULE variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE;
|
|
114
117
|
RULE multiple_variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
|
115
118
|
RULE multiple_shorthand_variable_expression_rule FOR (empty_entity); LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
|
116
119
|
RULE statement_rule FOR (empty_entity); ; WHERE TRUE; END_RULE;
|
120
|
+
RULE where_label_rule FOR (empty_entity); WHERE WR1 : TRUE; END_RULE;
|
117
121
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
122
|
+
PROCEDURE statements;
|
123
|
+
-- statements
|
124
|
+
PROCEDURE alias_simple_reference_statement; ALIAS test FOR test; ; END_ALIAS; END_PROCEDURE;
|
125
|
+
PROCEDURE alias_group_reference_statement; ALIAS test FOR test\test2; ; END_ALIAS; END_PROCEDURE;
|
126
|
+
PROCEDURE alias_index_reference_statement; ALIAS test FOR test[1]; ; END_ALIAS; END_PROCEDURE;
|
127
|
+
PROCEDURE alias_index2_reference_statement; ALIAS test FOR test[1:9]; ; END_ALIAS; END_PROCEDURE;
|
128
|
+
PROCEDURE alias_attribute_reference_statement; ALIAS test FOR test.test2; ; END_ALIAS; END_PROCEDURE;
|
129
|
+
PROCEDURE assignment_simple_reference_statement; test := TRUE; END_PROCEDURE;
|
130
|
+
PROCEDURE assignment_group_reference_statement; test\test2 := TRUE; END_PROCEDURE;
|
131
|
+
PROCEDURE assignment_index_reference_statement; test[1] := TRUE; END_PROCEDURE;
|
132
|
+
PROCEDURE assignment_index2_reference_statement; test[1:9] := TRUE; END_PROCEDURE;
|
133
|
+
PROCEDURE assignment_attribute_reference_statement; test.test2 := TRUE; END_PROCEDURE;
|
134
|
+
PROCEDURE case_statement; CASE test OF TRUE : ; END_CASE; END_PROCEDURE;
|
135
|
+
PROCEDURE case_multiple_statement; CASE test OF TRUE : ; TRUE : ; END_CASE; END_PROCEDURE;
|
136
|
+
PROCEDURE case_multiple_shorthand_statement; CASE test OF TRUE, TRUE : ; END_CASE; END_PROCEDURE;
|
137
|
+
PROCEDURE case_otherwise_statement; CASE test OF TRUE : ; OTHERWISE : ; END_CASE; END_PROCEDURE;
|
138
|
+
PROCEDURE compound_statement; BEGIN ; END; END_PROCEDURE;
|
139
|
+
PROCEDURE escape_statement; ESCAPE; END_PROCEDURE;
|
140
|
+
PROCEDURE if_statement; IF TRUE THEN ; END_IF; END_PROCEDURE;
|
141
|
+
PROCEDURE if2_statement; IF TRUE THEN ; ; END_IF; END_PROCEDURE;
|
142
|
+
PROCEDURE if_else_statement; IF TRUE THEN ; ELSE ; END_IF; END_PROCEDURE;
|
143
|
+
PROCEDURE if2_else_statement; IF TRUE THEN ; ; ELSE ; END_IF; END_PROCEDURE;
|
144
|
+
PROCEDURE if_else2_statement; IF TRUE THEN ; ELSE ; ; END_IF; END_PROCEDURE;
|
145
|
+
PROCEDURE if2_else2_statement; IF TRUE THEN ; ; ELSE ; ; END_IF; END_PROCEDURE;
|
146
|
+
PROCEDURE null_statement; ; END_PROCEDURE;
|
147
|
+
PROCEDURE call_statement; empty_procedure; END_PROCEDURE;
|
148
|
+
PROCEDURE call_parameter_statement; empty_procedure(TRUE); END_PROCEDURE;
|
149
|
+
PROCEDURE call_parameter2_statement; empty_procedure(TRUE, TRUE); END_PROCEDURE;
|
150
|
+
PROCEDURE call_insert_statement; INSERT(TRUE); END_PROCEDURE;
|
151
|
+
PROCEDURE call_remove_statement; REMOVE(TRUE); END_PROCEDURE;
|
152
|
+
PROCEDURE repeat_statement; REPEAT; ; END_REPEAT; END_PROCEDURE;
|
153
|
+
PROCEDURE repeat_variable_statement; REPEAT test := 1 TO 9; ; END_REPEAT; END_PROCEDURE;
|
154
|
+
PROCEDURE repeat_variable_increment_statement; REPEAT test := 1 TO 9 BY 2; ; END_REPEAT; END_PROCEDURE;
|
155
|
+
PROCEDURE repeat_while_statement; REPEAT WHILE TRUE; ; END_REPEAT; END_PROCEDURE;
|
156
|
+
PROCEDURE repeat_until_statement; REPEAT UNTIL TRUE; ; END_REPEAT; END_PROCEDURE;
|
157
|
+
PROCEDURE return_statement; RETURN; END_PROCEDURE;
|
158
|
+
PROCEDURE return_expression_statement; RETURN (TRUE); END_PROCEDURE;
|
159
|
+
PROCEDURE skip_statement; SKIP; END_PROCEDURE;
|
160
|
+
END_PROCEDURE;
|
131
161
|
|
132
|
-
|
133
|
-
|
134
|
-
TYPE
|
135
|
-
TYPE
|
136
|
-
TYPE
|
137
|
-
TYPE
|
138
|
-
TYPE
|
139
|
-
TYPE
|
140
|
-
TYPE
|
141
|
-
TYPE
|
142
|
-
TYPE
|
143
|
-
TYPE
|
144
|
-
TYPE
|
162
|
+
PROCEDURE types;
|
163
|
+
-- simple types
|
164
|
+
TYPE binary_type = BINARY; END_TYPE;
|
165
|
+
TYPE binary_width_type = BINARY (3); END_TYPE;
|
166
|
+
TYPE binary_width_fixed_type = BINARY (3) FIXED; END_TYPE;
|
167
|
+
TYPE boolean_type = BOOLEAN; END_TYPE;
|
168
|
+
TYPE integer_type = INTEGER; END_TYPE;
|
169
|
+
TYPE logical_type = LOGICAL; END_TYPE;
|
170
|
+
TYPE number_type = NUMBER; END_TYPE;
|
171
|
+
TYPE real_type = REAL; END_TYPE;
|
172
|
+
TYPE real_precision_type = REAL (3); END_TYPE;
|
173
|
+
TYPE string_type = STRING; END_TYPE;
|
174
|
+
TYPE string_width_type = STRING (3); END_TYPE;
|
175
|
+
TYPE string_width_fixed_type = STRING (3) FIXED; END_TYPE;
|
145
176
|
|
146
|
-
--
|
147
|
-
TYPE
|
148
|
-
TYPE
|
149
|
-
TYPE
|
150
|
-
TYPE
|
151
|
-
TYPE
|
152
|
-
TYPE
|
153
|
-
TYPE
|
154
|
-
TYPE
|
155
|
-
TYPE
|
156
|
-
TYPE
|
157
|
-
TYPE
|
177
|
+
-- aggregation types
|
178
|
+
TYPE array_type = ARRAY [1:9] OF STRING; END_TYPE;
|
179
|
+
TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING; END_TYPE;
|
180
|
+
TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING; END_TYPE;
|
181
|
+
TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING; END_TYPE;
|
182
|
+
TYPE bag_type = BAG OF STRING; END_TYPE;
|
183
|
+
TYPE bag_bound_type = BAG [1:9] OF STRING; END_TYPE;
|
184
|
+
TYPE list_type = LIST OF STRING; END_TYPE;
|
185
|
+
TYPE list_bound_type = LIST [1:9] OF STRING; END_TYPE;
|
186
|
+
TYPE list_unique_type = LIST OF UNIQUE STRING; END_TYPE;
|
187
|
+
TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING; END_TYPE;
|
188
|
+
TYPE set_type = SET OF STRING; END_TYPE;
|
189
|
+
TYPE set_bound_type = SET [1:9] OF STRING; END_TYPE;
|
158
190
|
|
159
|
-
--
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
FUNCTION case_multiple_shorthand_statement : BOOLEAN; CASE test OF TRUE, TRUE : ; END_CASE; END_FUNCTION;
|
173
|
-
FUNCTION case_otherwise_statement : BOOLEAN; CASE test OF TRUE : ; OTHERWISE : ; END_CASE; END_FUNCTION;
|
174
|
-
FUNCTION compound_statement : BOOLEAN; BEGIN ; END; END_FUNCTION;
|
175
|
-
FUNCTION escape_statement : BOOLEAN; ESCAPE; END_FUNCTION;
|
176
|
-
FUNCTION if_statement : BOOLEAN; IF TRUE THEN ; END_IF; END_FUNCTION;
|
177
|
-
FUNCTION if2_statement : BOOLEAN; IF TRUE THEN ; ; END_IF; END_FUNCTION;
|
178
|
-
FUNCTION if_else_statement : BOOLEAN; IF TRUE THEN ; ELSE ; END_IF; END_FUNCTION;
|
179
|
-
FUNCTION if2_else_statement : BOOLEAN; IF TRUE THEN ; ; ELSE ; END_IF; END_FUNCTION;
|
180
|
-
FUNCTION if_else2_statement : BOOLEAN; IF TRUE THEN ; ELSE ; ; END_IF; END_FUNCTION;
|
181
|
-
FUNCTION if2_else2_statement : BOOLEAN; IF TRUE THEN ; ; ELSE ; ; END_IF; END_FUNCTION;
|
182
|
-
FUNCTION null_statement : BOOLEAN; ; END_FUNCTION;
|
183
|
-
FUNCTION call_statement : BOOLEAN; empty_procedure; END_FUNCTION;
|
184
|
-
FUNCTION call_parameter_statement : BOOLEAN; empty_procedure(TRUE); END_FUNCTION;
|
185
|
-
FUNCTION call_parameter2_statement : BOOLEAN; empty_procedure(TRUE, TRUE); END_FUNCTION;
|
186
|
-
FUNCTION call_insert_statement : BOOLEAN; INSERT(TRUE); END_FUNCTION;
|
187
|
-
FUNCTION call_remove_statement : BOOLEAN; REMOVE(TRUE); END_FUNCTION;
|
188
|
-
FUNCTION repeat_statement : BOOLEAN; REPEAT; ; END_REPEAT; END_FUNCTION;
|
189
|
-
FUNCTION repeat_variable_statement : BOOLEAN; REPEAT test := 1 TO 9; ; END_REPEAT; END_FUNCTION;
|
190
|
-
FUNCTION repeat_variable_increment_statement : BOOLEAN; REPEAT test := 1 TO 9 BY 2; ; END_REPEAT; END_FUNCTION;
|
191
|
-
FUNCTION repeat_while_statement : BOOLEAN; REPEAT WHILE TRUE; ; END_REPEAT; END_FUNCTION;
|
192
|
-
FUNCTION repeat_until_statement : BOOLEAN; REPEAT UNTIL TRUE; ; END_REPEAT; END_FUNCTION;
|
193
|
-
FUNCTION return_statement : BOOLEAN; RETURN; END_FUNCTION;
|
194
|
-
FUNCTION return_expression_statement : BOOLEAN; RETURN (TRUE); END_FUNCTION;
|
195
|
-
FUNCTION skip_statement : BOOLEAN; SKIP; END_FUNCTION;
|
191
|
+
-- constructed types
|
192
|
+
TYPE select_type = SELECT; END_TYPE;
|
193
|
+
TYPE select_extensible_type = EXTENSIBLE SELECT; END_TYPE;
|
194
|
+
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT; END_TYPE;
|
195
|
+
TYPE select_list_type = SELECT (empty_type); END_TYPE;
|
196
|
+
TYPE select_extension_type_ref_type = SELECT BASED_ON select_type; END_TYPE;
|
197
|
+
TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type); END_TYPE;
|
198
|
+
TYPE enumeration_type = ENUMERATION; END_TYPE;
|
199
|
+
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION; END_TYPE;
|
200
|
+
TYPE enumeration_list_type = ENUMERATION OF (test); END_TYPE;
|
201
|
+
TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type; END_TYPE;
|
202
|
+
TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test); END_TYPE;
|
203
|
+
END_PROCEDURE;
|
196
204
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
205
|
+
PROCEDURE expressions;
|
206
|
+
LOCAL
|
207
|
+
-- literal expressions
|
208
|
+
binary_expression : BOOLEAN := %011110000111100001111000;
|
209
|
+
integer_expression : BOOLEAN := 999;
|
210
|
+
true_logical_expression : BOOLEAN := TRUE;
|
211
|
+
false_logical_expression : BOOLEAN := FALSE;
|
212
|
+
unknown_logical_expression : BOOLEAN := UNKNOWN;
|
213
|
+
real_expression : BOOLEAN := 999.999;
|
214
|
+
simple_string_expression : BOOLEAN := 'xxx';
|
215
|
+
utf8_simple_string_expression : BOOLEAN := 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.';
|
216
|
+
encoded_string_expression : BOOLEAN := "000000780000007800000078";
|
207
217
|
|
208
|
-
-- constant expressions
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
218
|
+
-- constant expressions
|
219
|
+
const_e_expression : BOOLEAN := CONST_E;
|
220
|
+
indeterminate_expression : BOOLEAN := ?;
|
221
|
+
pi_expression : BOOLEAN := PI;
|
222
|
+
self_expression : BOOLEAN := SELF;
|
213
223
|
|
214
|
-
-- function expressions
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
224
|
+
-- function expressions
|
225
|
+
abs_expression : BOOLEAN := ABS(TRUE);
|
226
|
+
acos_expression : BOOLEAN := ACOS(TRUE);
|
227
|
+
asin_expression : BOOLEAN := ASIN(TRUE);
|
228
|
+
atan_expression : BOOLEAN := ATAN(TRUE);
|
229
|
+
blength_expression : BOOLEAN := BLENGTH(TRUE);
|
230
|
+
cos_expression : BOOLEAN := COS(TRUE);
|
231
|
+
exists_expression : BOOLEAN := EXISTS(TRUE);
|
232
|
+
exp_expression : BOOLEAN := EXP(TRUE);
|
233
|
+
format_expression : BOOLEAN := FORMAT(TRUE);
|
234
|
+
hibound_expression : BOOLEAN := HIBOUND(TRUE);
|
235
|
+
hiindex_expression : BOOLEAN := HIINDEX(TRUE);
|
236
|
+
length_expression : BOOLEAN := LENGTH(TRUE);
|
237
|
+
lobound_expression : BOOLEAN := LOBOUND(TRUE);
|
238
|
+
loindex_expression : BOOLEAN := LOINDEX(TRUE);
|
239
|
+
log_expression : BOOLEAN := LOG(TRUE);
|
240
|
+
log2_expression : BOOLEAN := LOG2(TRUE);
|
241
|
+
log10_expression : BOOLEAN := LOG10(TRUE);
|
242
|
+
nvl_expression : BOOLEAN := NVL(TRUE);
|
243
|
+
odd_expression : BOOLEAN := ODD(TRUE);
|
244
|
+
rolesof_expression : BOOLEAN := ROLESOF(TRUE);
|
245
|
+
sin_expression : BOOLEAN := SIN(TRUE);
|
246
|
+
sizeof_expression : BOOLEAN := SIZEOF(TRUE);
|
247
|
+
sqrt_expression : BOOLEAN := SQRT(TRUE);
|
248
|
+
tan_expression : BOOLEAN := TAN(TRUE);
|
249
|
+
typeof_expression : BOOLEAN := TYPEOF(TRUE);
|
250
|
+
usedin_expression : BOOLEAN := USEDIN(TRUE);
|
251
|
+
value_expression : BOOLEAN := VALUE(TRUE);
|
252
|
+
value_in_expression : BOOLEAN := VALUE_IN(TRUE);
|
253
|
+
value_unique_expression : BOOLEAN := VALUE_UNIQUE(TRUE);
|
244
254
|
|
245
|
-
-- operator expressions
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
255
|
+
-- operator expressions
|
256
|
+
plus_expression : BOOLEAN := +4;
|
257
|
+
plus_addition_expression : BOOLEAN := +(4 + 2);
|
258
|
+
minus_expression : BOOLEAN := -4;
|
259
|
+
minus_addition_expression : BOOLEAN := -(4 + 2);
|
260
|
+
addition_expression : BOOLEAN := 4 + 2;
|
261
|
+
subtraction_expression : BOOLEAN := 4 - 2;
|
262
|
+
multiplication_expression : BOOLEAN := 4 * 2;
|
263
|
+
real_division_expression : BOOLEAN := 4 / 2;
|
264
|
+
integer_division_expression : BOOLEAN := 4 DIV 2;
|
265
|
+
modulo_expression : BOOLEAN := 4 MOD 2;
|
266
|
+
exponentiation_expression : BOOLEAN := 4 ** 2;
|
267
|
+
addition_addition_expression : BOOLEAN := 4 + 2 + 1;
|
268
|
+
subtraction_subtraction_expression : BOOLEAN := 4 - 2 - 1;
|
269
|
+
addition_subtraction_expression : BOOLEAN := 4 + 2 - 1;
|
270
|
+
subtraction_addition_expression : BOOLEAN := 4 - 2 + 1;
|
271
|
+
addition_multiplication_expression : BOOLEAN := 8 + 4 * 2;
|
272
|
+
multiplication_addition_expression : BOOLEAN := 8 * 4 + 2;
|
273
|
+
parenthesis_addition_multiplication_expression : BOOLEAN := (8 + 4) * 2;
|
274
|
+
multiplication_parenthesis_addition_expression : BOOLEAN := 8 * (4 + 2);
|
275
|
+
equal_expression : BOOLEAN := 4 = 2;
|
276
|
+
not_equal_expression : BOOLEAN := 4 <> 2;
|
277
|
+
instance_equal_expression : BOOLEAN := 4 :=: 2;
|
278
|
+
instance_not_equal_expression : BOOLEAN := 4 :<>: 2;
|
279
|
+
lt_expression : BOOLEAN := 4 < 2;
|
280
|
+
gt_expression : BOOLEAN := 4 > 2;
|
281
|
+
lte_expression : BOOLEAN := 4 <= 2;
|
282
|
+
gte_expression : BOOLEAN := 4 >= 2;
|
283
|
+
not_expression : BOOLEAN := NOT TRUE;
|
284
|
+
not_or_expression : BOOLEAN := NOT (TRUE OR FALSE);
|
285
|
+
or_expression : BOOLEAN := TRUE OR FALSE;
|
286
|
+
and_expression : BOOLEAN := TRUE AND FALSE;
|
287
|
+
or_or_expression : BOOLEAN := TRUE OR FALSE OR TRUE;
|
288
|
+
and_and_expression : BOOLEAN := TRUE AND FALSE AND TRUE;
|
289
|
+
or_and_expression : BOOLEAN := TRUE OR FALSE AND TRUE;
|
290
|
+
and_or_expression : BOOLEAN := TRUE AND FALSE OR TRUE;
|
291
|
+
parenthesis_or_and_expression : BOOLEAN := (TRUE OR FALSE) AND TRUE;
|
292
|
+
and_parenthesis_or_expression : BOOLEAN := TRUE AND (FALSE OR TRUE);
|
293
|
+
combine_expression : BOOLEAN := test || test2;
|
294
|
+
in_expression : BOOLEAN := TRUE IN [TRUE];
|
295
|
+
like_expression : BOOLEAN := 'xxx' LIKE 'xxx';
|
286
296
|
|
287
|
-
-- aggregate initializer expressions
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
297
|
+
-- aggregate initializer expressions
|
298
|
+
aggregate_initializer_expression : BOOLEAN := [4];
|
299
|
+
repeated_aggregate_initializer_expression : BOOLEAN := [4:2];
|
300
|
+
complex_aggregate_initializer_expression : BOOLEAN := [4 + 2];
|
301
|
+
complex_repeated_aggregate_initializer_expression : BOOLEAN := [4 + 2:4 + 2];
|
292
302
|
|
293
|
-
-- function call or entity constructor expressions
|
294
|
-
|
303
|
+
-- function call or entity constructor expressions
|
304
|
+
call_expression : BOOLEAN := parameter_function(TRUE);
|
295
305
|
|
296
|
-
-- reference expressions
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
306
|
+
-- reference expressions
|
307
|
+
simple_reference_expression : BOOLEAN := test;
|
308
|
+
group_reference_expression : BOOLEAN := test\test2;
|
309
|
+
index_reference_expression : BOOLEAN := test[1];
|
310
|
+
index2_reference_expression : BOOLEAN := test[1:9];
|
311
|
+
attribute_reference_expression : BOOLEAN := test.test2;
|
302
312
|
|
303
|
-
-- interval expressions
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
313
|
+
-- interval expressions
|
314
|
+
lt_lt_interval_expression : BOOLEAN := {1 < 5 < 9};
|
315
|
+
lte_lt_interval_expression : BOOLEAN := {1 <= 5 < 9};
|
316
|
+
lt_lte_interval_expression : BOOLEAN := {1 < 5 <= 9};
|
317
|
+
lte_lte_interval_expression : BOOLEAN := {1 <= 5 <= 9};
|
308
318
|
|
309
|
-
-- query expressions
|
310
|
-
|
319
|
+
-- query expressions
|
320
|
+
query_expression : BOOLEAN := QUERY(test <* test2 | TRUE);
|
321
|
+
END_LOCAL;
|
322
|
+
END_PROCEDURE;
|
311
323
|
END_SCHEMA;
|