expressir 0.2.7-x86-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.
- checksums.yaml +7 -0
- data/.cross_rubies +30 -0
- data/.github/workflows/rake.yml +45 -0
- data/.github/workflows/release.yml +84 -0
- data/.gitignore +17 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/.rubocop.yml +508 -0
- data/Gemfile +4 -0
- data/README.adoc +147 -0
- data/Rakefile +11 -0
- data/bin/console +12 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/demo.rb +18 -0
- data/docs/development.md +90 -0
- data/exe/expressir +20 -0
- data/exe/generate-parser +48 -0
- data/expressir.gemspec +43 -0
- data/lib/expressir.rb +21 -0
- data/lib/expressir/cli.rb +27 -0
- data/lib/expressir/cli/ui.rb +36 -0
- data/lib/expressir/config.rb +23 -0
- data/lib/expressir/express.rb +11 -0
- data/lib/expressir/express/aggregate_dimension.rb +38 -0
- data/lib/expressir/express/attribute.rb +15 -0
- data/lib/expressir/express/comment.rb +7 -0
- data/lib/expressir/express/defined_type.rb +36 -0
- data/lib/expressir/express/derived.rb +65 -0
- data/lib/expressir/express/derived_aggregate.rb +43 -0
- data/lib/expressir/express/entity.rb +137 -0
- data/lib/expressir/express/explicit.rb +70 -0
- data/lib/expressir/express/explicit_aggregate.rb +46 -0
- data/lib/expressir/express/explicit_or_derived.rb +16 -0
- data/lib/expressir/express/global_rule.rb +44 -0
- data/lib/expressir/express/interface_specification.rb +51 -0
- data/lib/expressir/express/interfaced_item.rb +38 -0
- data/lib/expressir/express/inverse.rb +46 -0
- data/lib/expressir/express/inverse_aggregate.rb +37 -0
- data/lib/expressir/express/model_element.rb +7 -0
- data/lib/expressir/express/named_type.rb +19 -0
- data/lib/expressir/express/remark.rb +8 -0
- data/lib/expressir/express/repository.rb +306 -0
- data/lib/expressir/express/schema_definition.rb +96 -0
- data/lib/expressir/express/subtype_constraint.rb +14 -0
- data/lib/expressir/express/type.rb +26 -0
- data/lib/expressir/express/type_aggregate.rb +42 -0
- data/lib/expressir/express/type_enum.rb +29 -0
- data/lib/expressir/express/type_parser.rb +45 -0
- data/lib/expressir/express/type_select.rb +82 -0
- data/lib/expressir/express/unique_rule.rb +35 -0
- data/lib/expressir/express/where_rule.rb +32 -0
- 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 +1450 -0
- data/lib/expressir/express_exp/parser.rb +41 -0
- data/lib/expressir/express_exp/visitor.rb +2464 -0
- data/lib/expressir/express_parser.rb +30 -0
- data/lib/expressir/model.rb +65 -0
- data/lib/expressir/model/attribute.rb +27 -0
- data/lib/expressir/model/constant.rb +17 -0
- data/lib/expressir/model/entity.rb +46 -0
- data/lib/expressir/model/enumeration_item.rb +11 -0
- data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
- data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
- data/lib/expressir/model/expressions/attribute_reference.rb +15 -0
- data/lib/expressir/model/expressions/binary_expression.rb +40 -0
- data/lib/expressir/model/expressions/call.rb +15 -0
- data/lib/expressir/model/expressions/entity_constructor.rb +15 -0
- data/lib/expressir/model/expressions/group_reference.rb +15 -0
- data/lib/expressir/model/expressions/index_reference.rb +17 -0
- data/lib/expressir/model/expressions/interval.rb +21 -0
- data/lib/expressir/model/expressions/query_expression.rb +26 -0
- data/lib/expressir/model/expressions/simple_reference.rb +13 -0
- data/lib/expressir/model/expressions/unary_expression.rb +19 -0
- data/lib/expressir/model/function.rb +62 -0
- data/lib/expressir/model/identifier.rb +10 -0
- data/lib/expressir/model/interface.rb +18 -0
- data/lib/expressir/model/literals/binary.rb +13 -0
- data/lib/expressir/model/literals/integer.rb +13 -0
- data/lib/expressir/model/literals/logical.rb +17 -0
- data/lib/expressir/model/literals/real.rb +13 -0
- data/lib/expressir/model/literals/string.rb +15 -0
- data/lib/expressir/model/parameter.rb +17 -0
- data/lib/expressir/model/procedure.rb +60 -0
- data/lib/expressir/model/renamed_ref.rb +13 -0
- data/lib/expressir/model/repository.rb +19 -0
- data/lib/expressir/model/rule.rb +62 -0
- data/lib/expressir/model/schema.rb +67 -0
- data/lib/expressir/model/scope.rb +17 -0
- data/lib/expressir/model/statements/alias.rb +26 -0
- data/lib/expressir/model/statements/assignment.rb +15 -0
- data/lib/expressir/model/statements/call.rb +15 -0
- data/lib/expressir/model/statements/case.rb +17 -0
- data/lib/expressir/model/statements/case_action.rb +15 -0
- data/lib/expressir/model/statements/compound.rb +13 -0
- data/lib/expressir/model/statements/escape.rb +8 -0
- data/lib/expressir/model/statements/if.rb +17 -0
- data/lib/expressir/model/statements/null.rb +8 -0
- data/lib/expressir/model/statements/repeat.rb +34 -0
- data/lib/expressir/model/statements/return.rb +13 -0
- data/lib/expressir/model/statements/skip.rb +8 -0
- data/lib/expressir/model/subtype_constraint.rb +27 -0
- data/lib/expressir/model/type.rb +24 -0
- data/lib/expressir/model/types/aggregate.rb +17 -0
- data/lib/expressir/model/types/array.rb +21 -0
- data/lib/expressir/model/types/bag.rb +17 -0
- data/lib/expressir/model/types/binary.rb +15 -0
- data/lib/expressir/model/types/boolean.rb +8 -0
- data/lib/expressir/model/types/enumeration.rb +19 -0
- data/lib/expressir/model/types/generic.rb +13 -0
- data/lib/expressir/model/types/generic_entity.rb +13 -0
- data/lib/expressir/model/types/integer.rb +8 -0
- data/lib/expressir/model/types/list.rb +19 -0
- data/lib/expressir/model/types/logical.rb +8 -0
- data/lib/expressir/model/types/number.rb +8 -0
- data/lib/expressir/model/types/real.rb +13 -0
- data/lib/expressir/model/types/select.rb +21 -0
- data/lib/expressir/model/types/set.rb +17 -0
- data/lib/expressir/model/types/string.rb +15 -0
- data/lib/expressir/model/unique.rb +15 -0
- data/lib/expressir/model/variable.rb +17 -0
- data/lib/expressir/model/where.rb +15 -0
- data/lib/expressir/parser.rb +6 -0
- data/lib/expressir/parser/owl_parser.rb +8 -0
- data/lib/expressir/version.rb +3 -0
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +9589 -0
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +36619 -0
- data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +13294 -0
- data/original/examples/employment/eclipse/.project +17 -0
- data/original/examples/employment/eclipse/Export/Employment.png +0 -0
- data/original/examples/employment/eclipse/Express/employment_schema.exp +33 -0
- data/original/examples/employment/eclipse/Express/employment_schema.xmi +77 -0
- data/original/examples/employment/eclipse/Express/employment_schema.xml +93 -0
- data/original/examples/employment/eclipse/Models/Employment.uml +4 -0
- data/original/examples/employment/eclipse/Models/Employment.umldi +240 -0
- data/original/examples/employment/eclipse/readme.txt +7 -0
- data/original/examples/employment/employment_schema.exp +33 -0
- data/original/examples/employment/employment_schema.rb +232 -0
- data/original/examples/employment/employment_schema.xml +93 -0
- data/original/examples/employment/employment_schema___module.rb +46 -0
- data/original/examples/employment/employment_schema___p28attr.rb +126 -0
- data/original/examples/employment/employment_schema___p28inst.rb +26 -0
- data/original/examples/employment/example_employment_data.xml +1 -0
- data/original/examples/employment/example_employment_data_copy.xml +1 -0
- data/original/examples/employment/example_employment_reader.rb +30 -0
- data/original/examples/employment/example_employment_writer.rb +51 -0
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +3710 -0
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +35880 -0
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +15357 -0
- data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +9468 -0
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +8404 -0
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +43147 -0
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +18341 -0
- data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +11632 -0
- data/original/examples/syntax/remark.exp +146 -0
- data/original/examples/syntax/remark_formatted.exp +175 -0
- data/original/examples/syntax/syntax.exp +311 -0
- data/original/examples/syntax/syntax_formatted.exp +1191 -0
- data/original/exp2ruby.rb +525 -0
- data/original/expsm.rb +34 -0
- data/original/mapping_owl.rb +1018 -0
- data/original/mapping_sysml.rb +2281 -0
- data/original/mapping_uml2.rb +599 -0
- data/original/mapping_uml2_eclipse.rb +433 -0
- data/original/reeper.rb +134 -0
- data/rakelib/cross-ruby.rake +308 -0
- data/spec/acceptance/express_to_owl_spec.rb +18 -0
- data/spec/acceptance/version_spec.rb +12 -0
- data/spec/expressir/express/repository_spec.rb +25 -0
- data/spec/expressir/express_exp/ap233_spec.rb +22 -0
- data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
- data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
- data/spec/expressir/express_exp/parse_remark_spec.rb +346 -0
- data/spec/expressir/express_exp/parse_syntax_spec.rb +3003 -0
- data/spec/expressir/model/find_spec.rb +110 -0
- data/spec/expressr_spec.rb +5 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/support/console_helper.rb +29 -0
- metadata +357 -0
@@ -0,0 +1,146 @@
|
|
1
|
+
(*"remark_schema"
|
2
|
+
Any character within the EXPRESS character set may occur between the start and end of
|
3
|
+
an embedded remark including the newline character; therefore, embedded remarks can span
|
4
|
+
several physical lines.
|
5
|
+
*)
|
6
|
+
--"remark_schema" The tail remark is written at the end of a physical line.
|
7
|
+
--"remark_schema" UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.
|
8
|
+
|
9
|
+
--"remark_schema" universal scope - schema before
|
10
|
+
|
11
|
+
SCHEMA remark_schema;
|
12
|
+
|
13
|
+
CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
|
14
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
|
15
|
+
ENTITY remark_entity;
|
16
|
+
remark_attribute : STRING;
|
17
|
+
DERIVE remark_derived_attribute : STRING := 'xxx';
|
18
|
+
INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
|
19
|
+
UNIQUE remark_unique : remark_attribute;
|
20
|
+
WHERE remark_where : TRUE;
|
21
|
+
--"remark_attribute" entity scope - entity attribute
|
22
|
+
--"remark_derived_attribute" entity scope - entity derived attribute
|
23
|
+
--"remark_inverse_attribute" entity scope - entity inverse attribute
|
24
|
+
--"remark_unique" entity scope - entity unique
|
25
|
+
--"remark_where" entity scope - entity where
|
26
|
+
END_ENTITY;
|
27
|
+
SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity; END_SUBTYPE_CONSTRAINT;
|
28
|
+
FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
|
29
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
|
30
|
+
CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
|
31
|
+
LOCAL remark_variable : STRING; END_LOCAL;
|
32
|
+
ALIAS remark_alias FOR remark_variable; ;
|
33
|
+
--"remark_alias" function alias scope - function alias
|
34
|
+
END_ALIAS;
|
35
|
+
REPEAT remark_repeat := 1 TO 9; ;
|
36
|
+
--"remark_repeat" function repeat scope - function repeat
|
37
|
+
END_REPEAT;
|
38
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
39
|
+
--"remark_query" function query scope - function query
|
40
|
+
);
|
41
|
+
--"remark_parameter" function scope - function parameter
|
42
|
+
--"remark_type" function scope - function type
|
43
|
+
--"remark_enumeration_item" function scope - function enumeration item
|
44
|
+
--"remark_constant" function scope - function constant
|
45
|
+
--"remark_variable" function scope - function variable
|
46
|
+
END_FUNCTION;
|
47
|
+
PROCEDURE remark_procedure(remark_parameter : STRING);
|
48
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
|
49
|
+
CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
|
50
|
+
LOCAL remark_variable : STRING; END_LOCAL;
|
51
|
+
ALIAS remark_alias FOR remark_variable; ;
|
52
|
+
--"remark_alias" procedure alias scope - procedure alias
|
53
|
+
END_ALIAS;
|
54
|
+
REPEAT remark_repeat := 1 TO 9; ;
|
55
|
+
--"remark_repeat" procedure repeat scope - procedure repeat
|
56
|
+
END_REPEAT;
|
57
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
58
|
+
--"remark_query" procedure query scope - procedure query
|
59
|
+
);
|
60
|
+
--"remark_parameter" procedure scope - procedure parameter
|
61
|
+
--"remark_type" procedure scope - procedure type
|
62
|
+
--"remark_enumeration_item" procedure scope - procedure enumeration item
|
63
|
+
--"remark_constant" procedure scope - procedure constant
|
64
|
+
--"remark_variable" procedure scope - procedure variable
|
65
|
+
END_PROCEDURE;
|
66
|
+
RULE remark_rule FOR (remark_entity);
|
67
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
|
68
|
+
CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
|
69
|
+
LOCAL remark_variable : STRING; END_LOCAL;
|
70
|
+
ALIAS remark_alias FOR remark_variable; ;
|
71
|
+
--"remark_alias" rule alias scope - rule alias
|
72
|
+
END_ALIAS;
|
73
|
+
REPEAT remark_repeat := 1 TO 9; ;
|
74
|
+
--"remark_repeat" rule repeat scope - rule repeat
|
75
|
+
END_REPEAT;
|
76
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
77
|
+
--"remark_query" rule query scope - rule query
|
78
|
+
);
|
79
|
+
WHERE remark_where : TRUE;
|
80
|
+
--"remark_type" rule scope - rule type
|
81
|
+
--"remark_enumeration_item" rule scope - rule enumeration item
|
82
|
+
--"remark_constant" rule scope - rule constant
|
83
|
+
--"remark_variable" rule scope - rule variable
|
84
|
+
--"remark_where" rule scope - rule where
|
85
|
+
END_RULE;
|
86
|
+
|
87
|
+
--"remark_constant" schema scope - constant
|
88
|
+
--"remark_type" schema scope - type
|
89
|
+
--"remark_enumeration_item" schema scope - enumeration item
|
90
|
+
--"remark_entity" schema scope - entity
|
91
|
+
--"remark_entity.remark_attribute" schema scope - entity attribute
|
92
|
+
--"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
|
93
|
+
--"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
|
94
|
+
--"remark_entity.remark_unique" schema scope - entity unique
|
95
|
+
--"remark_entity.remark_where" schema scope - entity where
|
96
|
+
--"remark_subtype_constraint" schema scope - subtype constraint
|
97
|
+
--"remark_function" schema scope - function
|
98
|
+
--"remark_function.remark_parameter" schema scope - function parameter
|
99
|
+
--"remark_function.remark_type" schema scope - function type
|
100
|
+
--"remark_function.remark_enumeration_item" schema scope - function enumeration item
|
101
|
+
--"remark_function.remark_constant" schema scope - function constant
|
102
|
+
--"remark_function.remark_variable" schema scope - function variable
|
103
|
+
--"remark_procedure" schema scope - procedure
|
104
|
+
--"remark_procedure.remark_parameter" schema scope - procedure parameter
|
105
|
+
--"remark_procedure.remark_type" schema scope - procedure type
|
106
|
+
--"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item
|
107
|
+
--"remark_procedure.remark_constant" schema scope - procedure constant
|
108
|
+
--"remark_procedure.remark_variable" schema scope - procedure variable
|
109
|
+
--"remark_rule" schema scope - rule
|
110
|
+
--"remark_rule.remark_type" schema scope - rule type
|
111
|
+
--"remark_rule.remark_enumeration_item" schema scope - rule enumeration item
|
112
|
+
--"remark_rule.remark_constant" schema scope - rule constant
|
113
|
+
--"remark_rule.remark_variable" schema scope - rule variable
|
114
|
+
--"remark_rule.remark_where" schema scope - rule where
|
115
|
+
|
116
|
+
END_SCHEMA;
|
117
|
+
|
118
|
+
--"remark_schema" universal scope - schema
|
119
|
+
--"remark_schema.remark_constant" universal scope - constant
|
120
|
+
--"remark_schema.remark_type" universal scope - type
|
121
|
+
--"remark_schema.remark_enumeration_item" universal scope - enumeration item
|
122
|
+
--"remark_schema.remark_entity" universal scope - entity
|
123
|
+
--"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
|
124
|
+
--"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
|
125
|
+
--"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
|
126
|
+
--"remark_schema.remark_entity.remark_unique" universal scope - entity unique
|
127
|
+
--"remark_schema.remark_entity.remark_where" universal scope - entity where
|
128
|
+
--"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
|
129
|
+
--"remark_schema.remark_function" universal scope - function
|
130
|
+
--"remark_schema.remark_function.remark_parameter" universal scope - function parameter
|
131
|
+
--"remark_schema.remark_function.remark_type" universal scope - function type
|
132
|
+
--"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
|
133
|
+
--"remark_schema.remark_function.remark_constant" universal scope - function constant
|
134
|
+
--"remark_schema.remark_function.remark_variable" universal scope - function variable
|
135
|
+
--"remark_schema.remark_procedure" universal scope - procedure
|
136
|
+
--"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
|
137
|
+
--"remark_schema.remark_procedure.remark_type" universal scope - procedure type
|
138
|
+
--"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
|
139
|
+
--"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
|
140
|
+
--"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
|
141
|
+
--"remark_schema.remark_rule" universal scope - rule
|
142
|
+
--"remark_schema.remark_rule.remark_type" universal scope - rule type
|
143
|
+
--"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
|
144
|
+
--"remark_schema.remark_rule.remark_constant" universal scope - rule constant
|
145
|
+
--"remark_schema.remark_rule.remark_variable" universal scope - rule variable
|
146
|
+
--"remark_schema.remark_rule.remark_where" universal scope - rule where
|
@@ -0,0 +1,175 @@
|
|
1
|
+
SCHEMA remark_schema;
|
2
|
+
CONSTANT
|
3
|
+
remark_constant : STRING := 'xxx';
|
4
|
+
END_CONSTANT;
|
5
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
6
|
+
END_TYPE;
|
7
|
+
|
8
|
+
ENTITY remark_entity;
|
9
|
+
remark_attribute : STRING;
|
10
|
+
DERIVE
|
11
|
+
remark_derived_attribute : STRING := 'xxx';
|
12
|
+
INVERSE
|
13
|
+
remark_inverse_attribute : remark_entity FOR remark_attribute;
|
14
|
+
UNIQUE
|
15
|
+
remark_unique : remark_attribute;
|
16
|
+
WHERE
|
17
|
+
remark_where : TRUE;
|
18
|
+
END_ENTITY;
|
19
|
+
|
20
|
+
SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity;
|
21
|
+
END_SUBTYPE_CONSTRAINT;
|
22
|
+
|
23
|
+
FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
|
24
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
25
|
+
END_TYPE;
|
26
|
+
CONSTANT
|
27
|
+
remark_constant : STRING := 'xxx';
|
28
|
+
END_CONSTANT;
|
29
|
+
LOCAL
|
30
|
+
remark_variable : STRING;
|
31
|
+
END_LOCAL;
|
32
|
+
ALIAS remark_alias FOR remark_variable;
|
33
|
+
;
|
34
|
+
--"remark_alias" function alias scope - function alias
|
35
|
+
END_ALIAS;
|
36
|
+
REPEAT remark_repeat := 1 TO 9;
|
37
|
+
;
|
38
|
+
--"remark_repeat" function repeat scope - function repeat
|
39
|
+
END_REPEAT;
|
40
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
41
|
+
--"remark_query" function query scope - function query
|
42
|
+
);
|
43
|
+
END_FUNCTION;
|
44
|
+
|
45
|
+
PROCEDURE remark_procedure(remark_parameter : STRING);
|
46
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
47
|
+
END_TYPE;
|
48
|
+
CONSTANT
|
49
|
+
remark_constant : STRING := 'xxx';
|
50
|
+
END_CONSTANT;
|
51
|
+
LOCAL
|
52
|
+
remark_variable : STRING;
|
53
|
+
END_LOCAL;
|
54
|
+
ALIAS remark_alias FOR remark_variable;
|
55
|
+
;
|
56
|
+
--"remark_alias" procedure alias scope - procedure alias
|
57
|
+
END_ALIAS;
|
58
|
+
REPEAT remark_repeat := 1 TO 9;
|
59
|
+
;
|
60
|
+
--"remark_repeat" procedure repeat scope - procedure repeat
|
61
|
+
END_REPEAT;
|
62
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
63
|
+
--"remark_query" procedure query scope - procedure query
|
64
|
+
);
|
65
|
+
END_PROCEDURE;
|
66
|
+
|
67
|
+
RULE remark_rule FOR (remark_entity);
|
68
|
+
TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
|
69
|
+
END_TYPE;
|
70
|
+
CONSTANT
|
71
|
+
remark_constant : STRING := 'xxx';
|
72
|
+
END_CONSTANT;
|
73
|
+
LOCAL
|
74
|
+
remark_variable : STRING;
|
75
|
+
END_LOCAL;
|
76
|
+
ALIAS remark_alias FOR remark_variable;
|
77
|
+
;
|
78
|
+
--"remark_alias" rule alias scope - rule alias
|
79
|
+
END_ALIAS;
|
80
|
+
REPEAT remark_repeat := 1 TO 9;
|
81
|
+
;
|
82
|
+
--"remark_repeat" rule repeat scope - rule repeat
|
83
|
+
END_REPEAT;
|
84
|
+
remark_variable := QUERY(remark_query <* remark_variable | TRUE
|
85
|
+
--"remark_query" rule query scope - rule query
|
86
|
+
);
|
87
|
+
WHERE
|
88
|
+
remark_where : TRUE;
|
89
|
+
END_RULE;
|
90
|
+
END_SCHEMA;
|
91
|
+
(*"remark_schema"
|
92
|
+
Any character within the EXPRESS character set may occur between the start and end of
|
93
|
+
an embedded remark including the newline character; therefore, embedded remarks can span
|
94
|
+
several physical lines.
|
95
|
+
*)
|
96
|
+
--"remark_schema" The tail remark is written at the end of a physical line.
|
97
|
+
--"remark_schema" UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.
|
98
|
+
--"remark_schema" universal scope - schema before
|
99
|
+
--"remark_schema" universal scope - schema
|
100
|
+
--"remark_schema.remark_constant" schema scope - constant
|
101
|
+
--"remark_schema.remark_constant" universal scope - constant
|
102
|
+
--"remark_schema.remark_type" schema scope - type
|
103
|
+
--"remark_schema.remark_type" universal scope - type
|
104
|
+
--"remark_schema.remark_enumeration_item" schema scope - enumeration item
|
105
|
+
--"remark_schema.remark_enumeration_item" universal scope - enumeration item
|
106
|
+
--"remark_schema.remark_entity" schema scope - entity
|
107
|
+
--"remark_schema.remark_entity" universal scope - entity
|
108
|
+
--"remark_schema.remark_entity.remark_attribute" entity scope - entity attribute
|
109
|
+
--"remark_schema.remark_entity.remark_attribute" schema scope - entity attribute
|
110
|
+
--"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
|
111
|
+
--"remark_schema.remark_entity.remark_derived_attribute" entity scope - entity derived attribute
|
112
|
+
--"remark_schema.remark_entity.remark_derived_attribute" schema scope - entity derived attribute
|
113
|
+
--"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
|
114
|
+
--"remark_schema.remark_entity.remark_inverse_attribute" entity scope - entity inverse attribute
|
115
|
+
--"remark_schema.remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
|
116
|
+
--"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
|
117
|
+
--"remark_schema.remark_entity.remark_unique" entity scope - entity unique
|
118
|
+
--"remark_schema.remark_entity.remark_unique" schema scope - entity unique
|
119
|
+
--"remark_schema.remark_entity.remark_unique" universal scope - entity unique
|
120
|
+
--"remark_schema.remark_entity.remark_where" entity scope - entity where
|
121
|
+
--"remark_schema.remark_entity.remark_where" schema scope - entity where
|
122
|
+
--"remark_schema.remark_entity.remark_where" universal scope - entity where
|
123
|
+
--"remark_schema.remark_subtype_constraint" schema scope - subtype constraint
|
124
|
+
--"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
|
125
|
+
--"remark_schema.remark_function" schema scope - function
|
126
|
+
--"remark_schema.remark_function" universal scope - function
|
127
|
+
--"remark_schema.remark_function.remark_parameter" function scope - function parameter
|
128
|
+
--"remark_schema.remark_function.remark_parameter" schema scope - function parameter
|
129
|
+
--"remark_schema.remark_function.remark_parameter" universal scope - function parameter
|
130
|
+
--"remark_schema.remark_function.remark_type" function scope - function type
|
131
|
+
--"remark_schema.remark_function.remark_type" schema scope - function type
|
132
|
+
--"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" schema scope - function enumeration item
|
135
|
+
--"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item
|
136
|
+
--"remark_schema.remark_function.remark_constant" function scope - function constant
|
137
|
+
--"remark_schema.remark_function.remark_constant" schema scope - function constant
|
138
|
+
--"remark_schema.remark_function.remark_constant" universal scope - function constant
|
139
|
+
--"remark_schema.remark_function.remark_variable" function scope - function variable
|
140
|
+
--"remark_schema.remark_function.remark_variable" schema scope - function variable
|
141
|
+
--"remark_schema.remark_function.remark_variable" universal scope - function variable
|
142
|
+
--"remark_schema.remark_procedure" schema scope - procedure
|
143
|
+
--"remark_schema.remark_procedure" universal scope - procedure
|
144
|
+
--"remark_schema.remark_procedure.remark_parameter" procedure scope - procedure parameter
|
145
|
+
--"remark_schema.remark_procedure.remark_parameter" schema scope - procedure parameter
|
146
|
+
--"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
|
147
|
+
--"remark_schema.remark_procedure.remark_type" procedure scope - procedure type
|
148
|
+
--"remark_schema.remark_procedure.remark_type" schema scope - procedure type
|
149
|
+
--"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" schema scope - procedure enumeration item
|
152
|
+
--"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item
|
153
|
+
--"remark_schema.remark_procedure.remark_constant" procedure scope - procedure constant
|
154
|
+
--"remark_schema.remark_procedure.remark_constant" schema scope - procedure constant
|
155
|
+
--"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
|
156
|
+
--"remark_schema.remark_procedure.remark_variable" procedure scope - procedure variable
|
157
|
+
--"remark_schema.remark_procedure.remark_variable" schema scope - procedure variable
|
158
|
+
--"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
|
159
|
+
--"remark_schema.remark_rule" schema scope - rule
|
160
|
+
--"remark_schema.remark_rule" universal scope - rule
|
161
|
+
--"remark_schema.remark_rule.remark_type" rule scope - rule type
|
162
|
+
--"remark_schema.remark_rule.remark_type" schema scope - rule type
|
163
|
+
--"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" schema scope - rule enumeration item
|
166
|
+
--"remark_schema.remark_rule.remark_enumeration_item" universal scope - rule enumeration item
|
167
|
+
--"remark_schema.remark_rule.remark_constant" rule scope - rule constant
|
168
|
+
--"remark_schema.remark_rule.remark_constant" schema scope - rule constant
|
169
|
+
--"remark_schema.remark_rule.remark_constant" universal scope - rule constant
|
170
|
+
--"remark_schema.remark_rule.remark_variable" rule scope - rule variable
|
171
|
+
--"remark_schema.remark_rule.remark_variable" schema scope - rule variable
|
172
|
+
--"remark_schema.remark_rule.remark_variable" universal scope - rule variable
|
173
|
+
--"remark_schema.remark_rule.remark_where" rule scope - rule where
|
174
|
+
--"remark_schema.remark_rule.remark_where" schema scope - rule where
|
175
|
+
--"remark_schema.remark_rule.remark_where" universal scope - rule where
|
@@ -0,0 +1,311 @@
|
|
1
|
+
SCHEMA syntax_schema 'version';
|
2
|
+
|
3
|
+
-- interfaces
|
4
|
+
USE FROM contract_schema;
|
5
|
+
USE FROM contract_schema (contract);
|
6
|
+
USE FROM contract_schema (contract AS contract2);
|
7
|
+
REFERENCE FROM contract_schema;
|
8
|
+
REFERENCE FROM contract_schema (contract);
|
9
|
+
REFERENCE FROM contract_schema (contract AS contract2);
|
10
|
+
|
11
|
+
-- constants
|
12
|
+
CONSTANT empty_constant : BOOLEAN := TRUE; END_CONSTANT;
|
13
|
+
|
14
|
+
-- types
|
15
|
+
TYPE empty_type = BOOLEAN; END_TYPE;
|
16
|
+
TYPE where_type = BOOLEAN; WHERE TRUE; END_TYPE;
|
17
|
+
TYPE where_label_type = BOOLEAN; WHERE WR1 : TRUE; END_TYPE;
|
18
|
+
|
19
|
+
-- entities
|
20
|
+
ENTITY empty_entity; END_ENTITY;
|
21
|
+
ENTITY abstract_entity ABSTRACT; END_ENTITY;
|
22
|
+
ENTITY abstract_supertype_entity ABSTRACT SUPERTYPE; END_ENTITY;
|
23
|
+
ENTITY abstract_supertype_constraint_entity ABSTRACT SUPERTYPE OF (empty_entity); END_ENTITY;
|
24
|
+
ENTITY supertype_constraint_entity SUPERTYPE OF (empty_entity); END_ENTITY;
|
25
|
+
ENTITY subtype_entity SUBTYPE OF (empty_entity); END_ENTITY;
|
26
|
+
ENTITY supertype_constraint_subtype_entity SUPERTYPE OF (empty_entity) SUBTYPE OF (empty_entity); END_ENTITY;
|
27
|
+
ENTITY attribute_entity; test : BOOLEAN; END_ENTITY;
|
28
|
+
ENTITY attribute_optional_entity; test : OPTIONAL BOOLEAN; END_ENTITY;
|
29
|
+
ENTITY attribute_multiple_entity; test : BOOLEAN; test2 : BOOLEAN; END_ENTITY;
|
30
|
+
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;
|
33
|
+
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;
|
36
|
+
ENTITY inverse_attribute_entity; INVERSE test : attribute_entity FOR test; END_ENTITY;
|
37
|
+
ENTITY inverse_attribute_entity_entity; INVERSE test : attribute_entity FOR attribute_entity.test; END_ENTITY;
|
38
|
+
ENTITY inverse_attribute_set_entity; INVERSE test : SET OF attribute_entity FOR test; END_ENTITY;
|
39
|
+
ENTITY inverse_attribute_set_bound_entity; INVERSE test : SET [1:9] OF attribute_entity FOR test; END_ENTITY;
|
40
|
+
ENTITY inverse_attribute_bag_entity; INVERSE test : BAG OF attribute_entity FOR test; END_ENTITY;
|
41
|
+
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;
|
44
|
+
ENTITY unique_entity; test : BOOLEAN; UNIQUE test; END_ENTITY;
|
45
|
+
ENTITY unique_label_entity; test : BOOLEAN; UNIQUE UR1 : test; END_ENTITY;
|
46
|
+
ENTITY unique_qualified_entity; UNIQUE SELF\attribute_entity.test; END_ENTITY;
|
47
|
+
ENTITY unique_label_qualified_entity; UNIQUE UR1 : SELF\attribute_entity.test; END_ENTITY;
|
48
|
+
ENTITY where_entity; WHERE TRUE; END_ENTITY;
|
49
|
+
ENTITY where_label_entity; WHERE WR1 : TRUE; END_ENTITY;
|
50
|
+
|
51
|
+
-- subtype constraints
|
52
|
+
SUBTYPE_CONSTRAINT empty_subtype_constraint FOR empty_entity; END_SUBTYPE_CONSTRAINT;
|
53
|
+
SUBTYPE_CONSTRAINT abstract_supertype_subtype_constraint FOR empty_entity; ABSTRACT SUPERTYPE; END_SUBTYPE_CONSTRAINT;
|
54
|
+
SUBTYPE_CONSTRAINT total_over_subtype_constraint FOR empty_entity; TOTAL_OVER(a); END_SUBTYPE_CONSTRAINT;
|
55
|
+
SUBTYPE_CONSTRAINT supertype_expression_subtype_constraint FOR empty_entity; a; END_SUBTYPE_CONSTRAINT;
|
56
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_subtype_constraint FOR empty_entity; a ANDOR b; END_SUBTYPE_CONSTRAINT;
|
57
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_subtype_constraint FOR empty_entity; a AND b; END_SUBTYPE_CONSTRAINT;
|
58
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_and_subtype_constraint FOR empty_entity; a ANDOR b AND c; END_SUBTYPE_CONSTRAINT;
|
59
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_andor_subtype_constraint FOR empty_entity; a AND b ANDOR c; END_SUBTYPE_CONSTRAINT;
|
60
|
+
SUBTYPE_CONSTRAINT supertype_expression_parenthesis_andor_and_subtype_constraint FOR empty_entity; (a ANDOR b) AND c; END_SUBTYPE_CONSTRAINT;
|
61
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_parenthesis_andor_subtype_constraint FOR empty_entity; a AND (b ANDOR c); END_SUBTYPE_CONSTRAINT;
|
62
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b); END_SUBTYPE_CONSTRAINT;
|
63
|
+
SUBTYPE_CONSTRAINT supertype_expression_and_oneof_subtype_constraint FOR empty_entity; a AND ONEOF(b, c); END_SUBTYPE_CONSTRAINT;
|
64
|
+
SUBTYPE_CONSTRAINT supertype_expression_andor_oneof_subtype_constraint FOR empty_entity; a ANDOR ONEOF(b, c); END_SUBTYPE_CONSTRAINT;
|
65
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_subtype_constraint FOR empty_entity; ONEOF(a, b) AND c; END_SUBTYPE_CONSTRAINT;
|
66
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_subtype_constraint FOR empty_entity; ONEOF(a, b) ANDOR c; END_SUBTYPE_CONSTRAINT;
|
67
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_and_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b) AND ONEOF(c, d); END_SUBTYPE_CONSTRAINT;
|
68
|
+
SUBTYPE_CONSTRAINT supertype_expression_oneof_andor_oneof_subtype_constraint FOR empty_entity; ONEOF(a, b) ANDOR ONEOF(c, d); END_SUBTYPE_CONSTRAINT;
|
69
|
+
|
70
|
+
-- functions
|
71
|
+
FUNCTION empty_function : BOOLEAN; ; END_FUNCTION;
|
72
|
+
FUNCTION parameter_function(test : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
|
73
|
+
FUNCTION multiple_parameter_function(test : BOOLEAN; test2 : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
|
74
|
+
FUNCTION multiple_shorthand_parameter_function(test, test2 : BOOLEAN) : BOOLEAN; ; END_FUNCTION;
|
75
|
+
FUNCTION type_function : BOOLEAN; TYPE test = BOOLEAN; END_TYPE; ; END_FUNCTION;
|
76
|
+
FUNCTION constant_function : BOOLEAN; CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; ; END_FUNCTION;
|
77
|
+
FUNCTION multiple_constant_function : BOOLEAN; CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; ; END_FUNCTION;
|
78
|
+
FUNCTION variable_function : BOOLEAN; LOCAL test : BOOLEAN; END_LOCAL; ; END_FUNCTION;
|
79
|
+
FUNCTION multiple_variable_function : BOOLEAN; LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; ; END_FUNCTION;
|
80
|
+
FUNCTION multiple_shorthand_variable_function : BOOLEAN; LOCAL test, test2 : BOOLEAN; END_LOCAL; ; END_FUNCTION;
|
81
|
+
FUNCTION variable_expression_function : BOOLEAN; LOCAL test : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
|
82
|
+
FUNCTION multiple_variable_expression_function : BOOLEAN; LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
|
83
|
+
FUNCTION multiple_shorthand_variable_expression_function : BOOLEAN; LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; ; END_FUNCTION;
|
84
|
+
|
85
|
+
-- procedures
|
86
|
+
PROCEDURE empty_procedure; END_PROCEDURE;
|
87
|
+
PROCEDURE parameter_procedure(test : BOOLEAN); END_PROCEDURE;
|
88
|
+
PROCEDURE multiple_parameter_procedure(test : BOOLEAN; test2 : BOOLEAN); END_PROCEDURE;
|
89
|
+
PROCEDURE multiple_shorthand_parameter_procedure(test, test2 : BOOLEAN); END_PROCEDURE;
|
90
|
+
PROCEDURE variable_parameter_procedure(VAR test : BOOLEAN); END_PROCEDURE;
|
91
|
+
PROCEDURE multiple_variable_parameter_procedure(VAR test : BOOLEAN; test2 : BOOLEAN); END_PROCEDURE;
|
92
|
+
PROCEDURE multiple_variable_parameter2_procedure(test : BOOLEAN; VAR test2 : BOOLEAN); END_PROCEDURE;
|
93
|
+
PROCEDURE multiple_shorthand_variable_parameter_procedure(VAR test, test2 : BOOLEAN); END_PROCEDURE;
|
94
|
+
PROCEDURE type_procedure; TYPE test = BOOLEAN; END_TYPE; END_PROCEDURE;
|
95
|
+
PROCEDURE constant_procedure; CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; END_PROCEDURE;
|
96
|
+
PROCEDURE multiple_constant_procedure; CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; END_PROCEDURE;
|
97
|
+
PROCEDURE variable_procedure; LOCAL test : BOOLEAN; END_LOCAL; END_PROCEDURE;
|
98
|
+
PROCEDURE multiple_variable_procedure; LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; END_PROCEDURE;
|
99
|
+
PROCEDURE multiple_shorthand_variable_procedure; LOCAL test, test2 : BOOLEAN; END_LOCAL; END_PROCEDURE;
|
100
|
+
PROCEDURE variable_expression_procedure; LOCAL test : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
|
101
|
+
PROCEDURE multiple_variable_expression_procedure; LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
|
102
|
+
PROCEDURE multiple_shorthand_variable_expression_procedure; LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; END_PROCEDURE;
|
103
|
+
PROCEDURE statement_procedure; ; END_PROCEDURE;
|
104
|
+
|
105
|
+
-- rules
|
106
|
+
RULE empty_rule FOR (empty_entity); WHERE TRUE; END_RULE;
|
107
|
+
RULE type_rule FOR (empty_entity); TYPE test = BOOLEAN; END_TYPE; WHERE TRUE; END_RULE;
|
108
|
+
RULE constant_rule FOR (empty_entity); CONSTANT test : BOOLEAN := TRUE; END_CONSTANT; WHERE TRUE; END_RULE;
|
109
|
+
RULE multiple_constant_rule FOR (empty_entity); CONSTANT test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_CONSTANT; WHERE TRUE; END_RULE;
|
110
|
+
RULE variable_rule FOR (empty_entity); LOCAL test : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
|
111
|
+
RULE multiple_variable_rule FOR (empty_entity); LOCAL test : BOOLEAN; test2 : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
|
112
|
+
RULE multiple_shorthand_variable_rule FOR (empty_entity); LOCAL test, test2 : BOOLEAN; END_LOCAL; WHERE TRUE; END_RULE;
|
113
|
+
RULE variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
|
114
|
+
RULE multiple_variable_expression_rule FOR (empty_entity); LOCAL test : BOOLEAN := TRUE; test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
|
115
|
+
RULE multiple_shorthand_variable_expression_rule FOR (empty_entity); LOCAL test, test2 : BOOLEAN := TRUE; END_LOCAL; WHERE TRUE; END_RULE;
|
116
|
+
RULE statement_rule FOR (empty_entity); ; WHERE TRUE; END_RULE;
|
117
|
+
|
118
|
+
-- simple types
|
119
|
+
TYPE binary_type = BINARY; END_TYPE;
|
120
|
+
TYPE binary_width_type = BINARY (3); END_TYPE;
|
121
|
+
TYPE binary_width_fixed_type = BINARY (3) FIXED; END_TYPE;
|
122
|
+
TYPE boolean_type = BOOLEAN; END_TYPE;
|
123
|
+
TYPE integer_type = INTEGER; END_TYPE;
|
124
|
+
TYPE logical_type = LOGICAL; END_TYPE;
|
125
|
+
TYPE number_type = NUMBER; END_TYPE;
|
126
|
+
TYPE real_type = REAL; END_TYPE;
|
127
|
+
TYPE real_precision_type = REAL (3); END_TYPE;
|
128
|
+
TYPE string_type = STRING; END_TYPE;
|
129
|
+
TYPE string_width_type = STRING (3); END_TYPE;
|
130
|
+
TYPE string_width_fixed_type = STRING (3) FIXED; END_TYPE;
|
131
|
+
|
132
|
+
-- aggregation types
|
133
|
+
TYPE array_type = ARRAY [1:9] OF STRING; END_TYPE;
|
134
|
+
TYPE array_optional_type = ARRAY [1:9] OF OPTIONAL STRING; END_TYPE;
|
135
|
+
TYPE array_unique_type = ARRAY [1:9] OF UNIQUE STRING; END_TYPE;
|
136
|
+
TYPE array_optional_unique_type = ARRAY [1:9] OF OPTIONAL UNIQUE STRING; END_TYPE;
|
137
|
+
TYPE bag_type = BAG OF STRING; END_TYPE;
|
138
|
+
TYPE bag_bound_type = BAG [1:9] OF STRING; END_TYPE;
|
139
|
+
TYPE list_type = LIST OF STRING; END_TYPE;
|
140
|
+
TYPE list_bound_type = LIST [1:9] OF STRING; END_TYPE;
|
141
|
+
TYPE list_unique_type = LIST OF UNIQUE STRING; END_TYPE;
|
142
|
+
TYPE list_bound_unique_type = LIST [1:9] OF UNIQUE STRING; END_TYPE;
|
143
|
+
TYPE set_type = SET OF STRING; END_TYPE;
|
144
|
+
TYPE set_bound_type = SET [1:9] OF STRING; END_TYPE;
|
145
|
+
|
146
|
+
-- constructed types
|
147
|
+
TYPE select_type = SELECT; END_TYPE;
|
148
|
+
TYPE select_extensible_type = EXTENSIBLE SELECT; END_TYPE;
|
149
|
+
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT; END_TYPE;
|
150
|
+
TYPE select_list_type = SELECT (empty_type); END_TYPE;
|
151
|
+
TYPE select_extension_type_ref_type = SELECT BASED_ON select_type; END_TYPE;
|
152
|
+
TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH (empty_type); END_TYPE;
|
153
|
+
TYPE enumeration_type = ENUMERATION; END_TYPE;
|
154
|
+
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION; END_TYPE;
|
155
|
+
TYPE enumeration_list_type = ENUMERATION OF (test); END_TYPE;
|
156
|
+
TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type; END_TYPE;
|
157
|
+
TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH (test); END_TYPE;
|
158
|
+
|
159
|
+
-- statements
|
160
|
+
FUNCTION alias_simple_reference_statement : BOOLEAN; ALIAS test FOR test; ; END_ALIAS; END_FUNCTION;
|
161
|
+
FUNCTION alias_attribute_reference_statement : BOOLEAN; ALIAS test FOR test.test; ; END_ALIAS; END_FUNCTION;
|
162
|
+
FUNCTION alias_group_reference_statement : BOOLEAN; ALIAS test FOR test\test; ; END_ALIAS; END_FUNCTION;
|
163
|
+
FUNCTION alias_index_reference_statement : BOOLEAN; ALIAS test FOR test[1]; ; END_ALIAS; END_FUNCTION;
|
164
|
+
FUNCTION alias_index2_reference_statement : BOOLEAN; ALIAS test FOR test[1:9]; ; END_ALIAS; END_FUNCTION;
|
165
|
+
FUNCTION assignment_simple_reference_statement : BOOLEAN; test := TRUE; END_FUNCTION;
|
166
|
+
FUNCTION assignment_attribute_reference_statement : BOOLEAN; test.test := TRUE; END_FUNCTION;
|
167
|
+
FUNCTION assignment_group_reference_statement : BOOLEAN; test\test := TRUE; END_FUNCTION;
|
168
|
+
FUNCTION assignment_index_reference_statement : BOOLEAN; test[1] := TRUE; END_FUNCTION;
|
169
|
+
FUNCTION assignment_index2_reference_statement : BOOLEAN; test[1:9] := TRUE; END_FUNCTION;
|
170
|
+
FUNCTION case_statement : BOOLEAN; CASE test OF TRUE : ; END_CASE; END_FUNCTION;
|
171
|
+
FUNCTION case_multiple_statement : BOOLEAN; CASE test OF TRUE : ; TRUE : ; END_CASE; END_FUNCTION;
|
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;
|
196
|
+
|
197
|
+
-- literal expressions
|
198
|
+
FUNCTION binary_expression : BOOLEAN; RETURN (%011110000111100001111000); END_FUNCTION;
|
199
|
+
FUNCTION integer_expression : BOOLEAN; RETURN (999); END_FUNCTION;
|
200
|
+
FUNCTION true_logical_expression : BOOLEAN; RETURN (TRUE); END_FUNCTION;
|
201
|
+
FUNCTION false_logical_expression : BOOLEAN; RETURN (FALSE); END_FUNCTION;
|
202
|
+
FUNCTION unknown_logical_expression : BOOLEAN; RETURN (UNKNOWN); END_FUNCTION;
|
203
|
+
FUNCTION real_expression : BOOLEAN; RETURN (999.999); END_FUNCTION;
|
204
|
+
FUNCTION simple_string_expression : BOOLEAN; RETURN ('xxx'); END_FUNCTION;
|
205
|
+
FUNCTION utf8_simple_string_expression : BOOLEAN; RETURN ('UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.'); END_FUNCTION;
|
206
|
+
FUNCTION encoded_string_expression : BOOLEAN; RETURN ("000000780000007800000078"); END_FUNCTION;
|
207
|
+
|
208
|
+
-- constant expressions
|
209
|
+
FUNCTION const_e_expression : BOOLEAN; RETURN (CONST_E); END_FUNCTION;
|
210
|
+
FUNCTION indeterminate_expression : BOOLEAN; RETURN (?); END_FUNCTION;
|
211
|
+
FUNCTION pi_expression : BOOLEAN; RETURN (PI); END_FUNCTION;
|
212
|
+
FUNCTION self_expression : BOOLEAN; RETURN (SELF); END_FUNCTION;
|
213
|
+
|
214
|
+
-- function expressions
|
215
|
+
FUNCTION abs_expression : BOOLEAN; RETURN (ABS(TRUE)); END_FUNCTION;
|
216
|
+
FUNCTION acos_expression : BOOLEAN; RETURN (ACOS(TRUE)); END_FUNCTION;
|
217
|
+
FUNCTION asin_expression : BOOLEAN; RETURN (ASIN(TRUE)); END_FUNCTION;
|
218
|
+
FUNCTION atan_expression : BOOLEAN; RETURN (ATAN(TRUE)); END_FUNCTION;
|
219
|
+
FUNCTION blength_expression : BOOLEAN; RETURN (BLENGTH(TRUE)); END_FUNCTION;
|
220
|
+
FUNCTION cos_expression : BOOLEAN; RETURN (COS(TRUE)); END_FUNCTION;
|
221
|
+
FUNCTION exists_expression : BOOLEAN; RETURN (EXISTS(TRUE)); END_FUNCTION;
|
222
|
+
FUNCTION exp_expression : BOOLEAN; RETURN (EXP(TRUE)); END_FUNCTION;
|
223
|
+
FUNCTION format_expression : BOOLEAN; RETURN (FORMAT(TRUE)); END_FUNCTION;
|
224
|
+
FUNCTION hibound_expression : BOOLEAN; RETURN (HIBOUND(TRUE)); END_FUNCTION;
|
225
|
+
FUNCTION hiindex_expression : BOOLEAN; RETURN (HIINDEX(TRUE)); END_FUNCTION;
|
226
|
+
FUNCTION length_expression : BOOLEAN; RETURN (LENGTH(TRUE)); END_FUNCTION;
|
227
|
+
FUNCTION lobound_expression : BOOLEAN; RETURN (LOBOUND(TRUE)); END_FUNCTION;
|
228
|
+
FUNCTION loindex_expression : BOOLEAN; RETURN (LOINDEX(TRUE)); END_FUNCTION;
|
229
|
+
FUNCTION log_expression : BOOLEAN; RETURN (LOG(TRUE)); END_FUNCTION;
|
230
|
+
FUNCTION log2_expression : BOOLEAN; RETURN (LOG2(TRUE)); END_FUNCTION;
|
231
|
+
FUNCTION log10_expression : BOOLEAN; RETURN (LOG10(TRUE)); END_FUNCTION;
|
232
|
+
FUNCTION nvl_expression : BOOLEAN; RETURN (NVL(TRUE)); END_FUNCTION;
|
233
|
+
FUNCTION odd_expression : BOOLEAN; RETURN (ODD(TRUE)); END_FUNCTION;
|
234
|
+
FUNCTION rolesof_expression : BOOLEAN; RETURN (ROLESOF(TRUE)); END_FUNCTION;
|
235
|
+
FUNCTION sin_expression : BOOLEAN; RETURN (SIN(TRUE)); END_FUNCTION;
|
236
|
+
FUNCTION sizeof_expression : BOOLEAN; RETURN (SIZEOF(TRUE)); END_FUNCTION;
|
237
|
+
FUNCTION sqrt_expression : BOOLEAN; RETURN (SQRT(TRUE)); END_FUNCTION;
|
238
|
+
FUNCTION tan_expression : BOOLEAN; RETURN (TAN(TRUE)); END_FUNCTION;
|
239
|
+
FUNCTION typeof_expression : BOOLEAN; RETURN (TYPEOF(TRUE)); END_FUNCTION;
|
240
|
+
FUNCTION usedin_expression : BOOLEAN; RETURN (USEDIN(TRUE)); END_FUNCTION;
|
241
|
+
FUNCTION value_expression : BOOLEAN; RETURN (VALUE(TRUE)); END_FUNCTION;
|
242
|
+
FUNCTION value_in_expression : BOOLEAN; RETURN (VALUE_IN(TRUE)); END_FUNCTION;
|
243
|
+
FUNCTION value_unique_expression : BOOLEAN; RETURN (VALUE_UNIQUE(TRUE)); END_FUNCTION;
|
244
|
+
|
245
|
+
-- operator expressions
|
246
|
+
FUNCTION plus_expression : BOOLEAN; RETURN (+4); END_FUNCTION;
|
247
|
+
FUNCTION plus_addition_expression : BOOLEAN; RETURN (+(4 + 2)); END_FUNCTION;
|
248
|
+
FUNCTION minus_expression : BOOLEAN; RETURN (-4); END_FUNCTION;
|
249
|
+
FUNCTION minus_addition_expression : BOOLEAN; RETURN (-(4 + 2)); END_FUNCTION;
|
250
|
+
FUNCTION addition_expression : BOOLEAN; RETURN (4 + 2); END_FUNCTION;
|
251
|
+
FUNCTION subtraction_expression : BOOLEAN; RETURN (4 - 2); END_FUNCTION;
|
252
|
+
FUNCTION multiplication_expression : BOOLEAN; RETURN (4 * 2); END_FUNCTION;
|
253
|
+
FUNCTION real_division_expression : BOOLEAN; RETURN (4 / 2); END_FUNCTION;
|
254
|
+
FUNCTION integer_division_expression : BOOLEAN; RETURN (4 DIV 2); END_FUNCTION;
|
255
|
+
FUNCTION modulo_expression : BOOLEAN; RETURN (4 MOD 2); END_FUNCTION;
|
256
|
+
FUNCTION exponentiation_expression : BOOLEAN; RETURN (4 ** 2); END_FUNCTION;
|
257
|
+
FUNCTION addition_addition_expression : BOOLEAN; RETURN (4 + 2 + 1); END_FUNCTION;
|
258
|
+
FUNCTION subtraction_subtraction_expression : BOOLEAN; RETURN (4 - 2 - 1); END_FUNCTION;
|
259
|
+
FUNCTION addition_subtraction_expression : BOOLEAN; RETURN (4 + 2 - 1); END_FUNCTION;
|
260
|
+
FUNCTION subtraction_addition_expression : BOOLEAN; RETURN (4 - 2 + 1); END_FUNCTION;
|
261
|
+
FUNCTION addition_multiplication_expression : BOOLEAN; RETURN (8 + 4 * 2); END_FUNCTION;
|
262
|
+
FUNCTION multiplication_addition_expression : BOOLEAN; RETURN (8 * 4 + 2); END_FUNCTION;
|
263
|
+
FUNCTION parenthesis_addition_multiplication_expression : BOOLEAN; RETURN ((8 + 4) * 2); END_FUNCTION;
|
264
|
+
FUNCTION multiplication_parenthesis_addition_expression : BOOLEAN; RETURN (8 * (4 + 2)); END_FUNCTION;
|
265
|
+
FUNCTION equal_expression : BOOLEAN; RETURN (4 = 2); END_FUNCTION;
|
266
|
+
FUNCTION not_equal_expression : BOOLEAN; RETURN (4 <> 2); END_FUNCTION;
|
267
|
+
FUNCTION instance_equal_expression : BOOLEAN; RETURN (4 :=: 2); END_FUNCTION;
|
268
|
+
FUNCTION instance_not_equal_expression : BOOLEAN; RETURN (4 :<>: 2); END_FUNCTION;
|
269
|
+
FUNCTION lt_expression : BOOLEAN; RETURN (4 < 2); END_FUNCTION;
|
270
|
+
FUNCTION gt_expression : BOOLEAN; RETURN (4 > 2); END_FUNCTION;
|
271
|
+
FUNCTION lte_expression : BOOLEAN; RETURN (4 <= 2); END_FUNCTION;
|
272
|
+
FUNCTION gte_expression : BOOLEAN; RETURN (4 >= 2); END_FUNCTION;
|
273
|
+
FUNCTION not_expression : BOOLEAN; RETURN (NOT TRUE); END_FUNCTION;
|
274
|
+
FUNCTION not_or_expression : BOOLEAN; RETURN (NOT (TRUE OR FALSE)); END_FUNCTION;
|
275
|
+
FUNCTION or_expression : BOOLEAN; RETURN (TRUE OR FALSE); END_FUNCTION;
|
276
|
+
FUNCTION and_expression : BOOLEAN; RETURN (TRUE AND FALSE); END_FUNCTION;
|
277
|
+
FUNCTION or_or_expression : BOOLEAN; RETURN (TRUE OR FALSE OR TRUE); END_FUNCTION;
|
278
|
+
FUNCTION and_and_expression : BOOLEAN; RETURN (TRUE AND FALSE AND TRUE); END_FUNCTION;
|
279
|
+
FUNCTION or_and_expression : BOOLEAN; RETURN (TRUE OR FALSE AND TRUE); END_FUNCTION;
|
280
|
+
FUNCTION and_or_expression : BOOLEAN; RETURN (TRUE AND FALSE OR TRUE); END_FUNCTION;
|
281
|
+
FUNCTION parenthesis_or_and_expression : BOOLEAN; RETURN ((TRUE OR FALSE) AND TRUE); END_FUNCTION;
|
282
|
+
FUNCTION and_parenthesis_or_expression : BOOLEAN; RETURN (TRUE AND (FALSE OR TRUE)); END_FUNCTION;
|
283
|
+
FUNCTION combine_expression : BOOLEAN; RETURN (test || test); END_FUNCTION;
|
284
|
+
FUNCTION in_expression : BOOLEAN; RETURN (TRUE IN [TRUE]); END_FUNCTION;
|
285
|
+
FUNCTION like_expression : BOOLEAN; RETURN ('xxx' LIKE 'xxx'); END_FUNCTION;
|
286
|
+
|
287
|
+
-- aggregate initializer expressions
|
288
|
+
FUNCTION aggregate_initializer_expression : BOOLEAN; RETURN ([4]); END_FUNCTION;
|
289
|
+
FUNCTION repeated_aggregate_initializer_expression : BOOLEAN; RETURN ([4:2]); END_FUNCTION;
|
290
|
+
FUNCTION complex_aggregate_initializer_expression : BOOLEAN; RETURN ([4 + 2]); END_FUNCTION;
|
291
|
+
FUNCTION complex_repeated_aggregate_initializer_expression : BOOLEAN; RETURN ([4 + 2:4 + 2]); END_FUNCTION;
|
292
|
+
|
293
|
+
-- function call or entity constructor expressions
|
294
|
+
FUNCTION call_expression : BOOLEAN; RETURN (parameter_function(TRUE)); END_FUNCTION;
|
295
|
+
|
296
|
+
-- reference expressions
|
297
|
+
FUNCTION simple_reference_expression : BOOLEAN; RETURN (simple_string_expression); END_FUNCTION;
|
298
|
+
FUNCTION attribute_reference_expression : BOOLEAN; RETURN (simple_string_expression.test); END_FUNCTION;
|
299
|
+
FUNCTION group_reference_expression : BOOLEAN; RETURN (simple_string_expression\test); END_FUNCTION;
|
300
|
+
FUNCTION index_reference_expression : BOOLEAN; RETURN (simple_string_expression[1]); END_FUNCTION;
|
301
|
+
FUNCTION index2_reference_expression : BOOLEAN; RETURN (simple_string_expression[1:9]); END_FUNCTION;
|
302
|
+
|
303
|
+
-- interval expressions
|
304
|
+
FUNCTION lt_lt_interval_expression : BOOLEAN; RETURN ({1 < 5 < 9}); END_FUNCTION;
|
305
|
+
FUNCTION lte_lt_interval_expression : BOOLEAN; RETURN ({1 <= 5 < 9}); END_FUNCTION;
|
306
|
+
FUNCTION lt_lte_interval_expression : BOOLEAN; RETURN ({1 < 5 <= 9}); END_FUNCTION;
|
307
|
+
FUNCTION lte_lte_interval_expression : BOOLEAN; RETURN ({1 <= 5 <= 9}); END_FUNCTION;
|
308
|
+
|
309
|
+
-- query expressions
|
310
|
+
FUNCTION query_expression : BOOLEAN; RETURN (QUERY(test <* test2 | TRUE)); END_FUNCTION;
|
311
|
+
END_SCHEMA;
|