expressir 0.2.26 → 1.2.0
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 +4 -4
- data/.github/workflows/rake.yml +50 -5
- data/.github/workflows/release.yml +8 -0
- data/.gitignore +2 -2
- data/.hound.yml +3 -0
- data/.rubocop.yml +6 -506
- data/.yardopts +11 -0
- data/Rakefile +3 -0
- data/demo.rb +5 -5
- data/exe/format +8 -8
- data/exe/format-test +11 -11
- data/expressir.gemspec +4 -2
- data/ext/express-parser/express_parser.cpp +4358 -2954
- data/ext/express-parser/extconf.rb +6 -4
- data/lib/expressir/cli.rb +0 -6
- data/lib/expressir/express/cache.rb +51 -0
- data/lib/expressir/{express_exp → express}/formatter.rb +304 -237
- data/lib/expressir/{express_exp → express}/hyperlink_formatter.rb +16 -2
- data/lib/expressir/{express_exp → express}/model_visitor.rb +2 -1
- data/lib/expressir/{express_exp → express}/parser.rb +19 -13
- data/lib/expressir/{express_exp → express}/resolve_references_model_visitor.rb +9 -7
- data/lib/expressir/express/schema_head_formatter.rb +23 -0
- data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
- data/lib/expressir/model/cache.rb +6 -2
- data/lib/expressir/model/data_type.rb +9 -0
- data/lib/expressir/model/data_types/aggregate.rb +31 -0
- data/lib/expressir/model/data_types/array.rb +31 -0
- data/lib/expressir/model/data_types/bag.rb +25 -0
- data/lib/expressir/model/data_types/binary.rb +22 -0
- data/lib/expressir/model/data_types/boolean.rb +10 -0
- data/lib/expressir/model/data_types/enumeration.rb +25 -0
- data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
- data/lib/expressir/model/data_types/generic.rb +26 -0
- data/lib/expressir/model/data_types/generic_entity.rb +26 -0
- data/lib/expressir/model/data_types/integer.rb +10 -0
- data/lib/expressir/model/data_types/list.rb +28 -0
- data/lib/expressir/model/data_types/logical.rb +10 -0
- data/lib/expressir/model/data_types/number.rb +10 -0
- data/lib/expressir/model/data_types/real.rb +19 -0
- data/lib/expressir/model/data_types/select.rb +28 -0
- data/lib/expressir/model/data_types/set.rb +25 -0
- data/lib/expressir/model/data_types/string.rb +22 -0
- data/lib/expressir/model/declaration.rb +9 -0
- data/lib/expressir/model/declarations/attribute.rb +47 -0
- data/lib/expressir/model/declarations/constant.rb +34 -0
- data/lib/expressir/model/declarations/entity.rb +53 -0
- data/lib/expressir/model/declarations/function.rb +67 -0
- data/lib/expressir/model/declarations/interface.rb +28 -0
- data/lib/expressir/model/declarations/interface_item.rb +23 -0
- data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
- data/lib/expressir/model/declarations/parameter.rb +34 -0
- data/lib/expressir/model/declarations/procedure.rb +64 -0
- data/lib/expressir/model/declarations/remark_item.rb +21 -0
- data/lib/expressir/model/declarations/rule.rb +71 -0
- data/lib/expressir/model/declarations/schema.rb +117 -0
- data/lib/expressir/model/declarations/schema_version.rb +22 -0
- data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
- data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
- data/lib/expressir/model/declarations/type.rb +45 -0
- data/lib/expressir/model/declarations/unique_rule.rb +31 -0
- data/lib/expressir/model/declarations/variable.rb +34 -0
- data/lib/expressir/model/declarations/where_rule.rb +31 -0
- data/lib/expressir/model/expression.rb +9 -0
- data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
- data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
- data/lib/expressir/model/expressions/binary_expression.rb +16 -5
- data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
- data/lib/expressir/model/expressions/function_call.rb +22 -0
- data/lib/expressir/model/expressions/interval.rb +17 -6
- data/lib/expressir/model/expressions/query_expression.rb +11 -7
- data/lib/expressir/model/expressions/unary_expression.rb +9 -3
- data/lib/expressir/model/identifier.rb +26 -4
- data/lib/expressir/model/literal.rb +9 -0
- data/lib/expressir/model/literals/binary.rb +6 -2
- data/lib/expressir/model/literals/integer.rb +6 -2
- data/lib/expressir/model/literals/logical.rb +6 -2
- data/lib/expressir/model/literals/real.rb +6 -2
- data/lib/expressir/model/literals/string.rb +8 -3
- data/lib/expressir/model/model_element.rb +63 -37
- data/lib/expressir/model/reference.rb +9 -0
- data/lib/expressir/model/references/attribute_reference.rb +22 -0
- data/lib/expressir/model/references/group_reference.rb +22 -0
- data/lib/expressir/model/references/index_reference.rb +27 -0
- data/lib/expressir/model/references/simple_reference.rb +24 -0
- data/lib/expressir/model/repository.rb +6 -2
- data/lib/expressir/model/statement.rb +9 -0
- data/lib/expressir/model/statements/alias.rb +12 -8
- data/lib/expressir/model/statements/assignment.rb +8 -3
- data/lib/expressir/model/statements/case.rb +11 -5
- data/lib/expressir/model/statements/case_action.rb +8 -3
- data/lib/expressir/model/statements/compound.rb +7 -3
- data/lib/expressir/model/statements/escape.rb +3 -1
- data/lib/expressir/model/statements/if.rb +12 -6
- data/lib/expressir/model/statements/null.rb +3 -1
- data/lib/expressir/model/statements/procedure_call.rb +22 -0
- data/lib/expressir/model/statements/repeat.rb +20 -12
- data/lib/expressir/model/statements/return.rb +6 -2
- data/lib/expressir/model/statements/skip.rb +3 -1
- data/lib/expressir/model/supertype_expression.rb +9 -0
- data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
- data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
- data/lib/expressir/model.rb +52 -43
- data/lib/expressir/version.rb +1 -1
- data/lib/expressir.rb +0 -1
- data/rakelib/cross-ruby.rake +1 -1
- data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
- data/spec/expressir/express/formatter_spec.rb +127 -0
- data/spec/expressir/{express_exp → express}/parser_spec.rb +23 -23
- data/spec/expressir/model/model_element_spec.rb +153 -153
- data/{original/examples → spec}/syntax/multiple.exp +0 -0
- data/spec/syntax/multiple.yaml +198 -0
- data/{original/examples → spec}/syntax/multiple_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/remark.exp +0 -0
- data/{original/examples → spec}/syntax/remark.yaml +73 -73
- data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
- data/{original/examples → spec}/syntax/single.exp +1 -1
- data/spec/syntax/single.yaml +18 -0
- data/{original/examples → spec}/syntax/single_formatted.exp +1 -1
- data/{original/examples → spec}/syntax/single_formatted.yaml +9 -6
- data/{original/examples → spec}/syntax/syntax.exp +11 -11
- data/{original/examples → spec}/syntax/syntax.yaml +1100 -1111
- data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
- data/{original/examples → spec}/syntax/syntax_hyperlink_formatted.exp +11 -11
- data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
- metadata +123 -116
- data/lib/expressir/express/aggregate_dimension.rb +0 -38
- data/lib/expressir/express/attribute.rb +0 -15
- data/lib/expressir/express/comment.rb +0 -7
- data/lib/expressir/express/defined_type.rb +0 -36
- data/lib/expressir/express/derived.rb +0 -65
- data/lib/expressir/express/derived_aggregate.rb +0 -43
- data/lib/expressir/express/entity.rb +0 -137
- data/lib/expressir/express/explicit.rb +0 -70
- data/lib/expressir/express/explicit_aggregate.rb +0 -46
- data/lib/expressir/express/explicit_or_derived.rb +0 -16
- data/lib/expressir/express/global_rule.rb +0 -44
- data/lib/expressir/express/interface_specification.rb +0 -51
- data/lib/expressir/express/interfaced_item.rb +0 -38
- data/lib/expressir/express/inverse.rb +0 -46
- data/lib/expressir/express/inverse_aggregate.rb +0 -37
- data/lib/expressir/express/model_element.rb +0 -7
- data/lib/expressir/express/named_type.rb +0 -19
- data/lib/expressir/express/remark.rb +0 -8
- data/lib/expressir/express/repository.rb +0 -306
- data/lib/expressir/express/schema_definition.rb +0 -96
- data/lib/expressir/express/subtype_constraint.rb +0 -14
- data/lib/expressir/express/type.rb +0 -26
- data/lib/expressir/express/type_aggregate.rb +0 -42
- data/lib/expressir/express/type_enum.rb +0 -29
- data/lib/expressir/express/type_parser.rb +0 -45
- data/lib/expressir/express/type_select.rb +0 -82
- data/lib/expressir/express/unique_rule.rb +0 -35
- data/lib/expressir/express/where_rule.rb +0 -32
- data/lib/expressir/express.rb +0 -11
- data/lib/expressir/express_exp/cache.rb +0 -48
- data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
- data/lib/expressir/express_parser.rb +0 -30
- data/lib/expressir/model/attribute.rb +0 -38
- data/lib/expressir/model/constant.rb +0 -28
- data/lib/expressir/model/entity.rb +0 -42
- data/lib/expressir/model/enumeration_item.rb +0 -22
- data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
- data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
- data/lib/expressir/model/expressions/call.rb +0 -17
- data/lib/expressir/model/expressions/group_reference.rb +0 -17
- data/lib/expressir/model/expressions/index_reference.rb +0 -19
- data/lib/expressir/model/expressions/simple_reference.rb +0 -19
- data/lib/expressir/model/function.rb +0 -57
- data/lib/expressir/model/interface.rb +0 -20
- data/lib/expressir/model/interface_item.rb +0 -15
- data/lib/expressir/model/interfaced_item.rb +0 -27
- data/lib/expressir/model/parameter.rb +0 -28
- data/lib/expressir/model/procedure.rb +0 -55
- data/lib/expressir/model/remark_item.rb +0 -15
- data/lib/expressir/model/rule.rb +0 -60
- data/lib/expressir/model/schema.rb +0 -100
- data/lib/expressir/model/statements/call.rb +0 -17
- data/lib/expressir/model/subtype_constraint.rb +0 -32
- data/lib/expressir/model/type.rb +0 -37
- data/lib/expressir/model/types/aggregate.rb +0 -28
- data/lib/expressir/model/types/array.rb +0 -23
- data/lib/expressir/model/types/bag.rb +0 -19
- data/lib/expressir/model/types/binary.rb +0 -17
- data/lib/expressir/model/types/boolean.rb +0 -8
- data/lib/expressir/model/types/enumeration.rb +0 -21
- data/lib/expressir/model/types/generic.rb +0 -24
- data/lib/expressir/model/types/generic_entity.rb +0 -24
- data/lib/expressir/model/types/integer.rb +0 -8
- data/lib/expressir/model/types/list.rb +0 -21
- data/lib/expressir/model/types/logical.rb +0 -8
- data/lib/expressir/model/types/number.rb +0 -8
- data/lib/expressir/model/types/real.rb +0 -15
- data/lib/expressir/model/types/select.rb +0 -23
- data/lib/expressir/model/types/set.rb +0 -19
- data/lib/expressir/model/types/string.rb +0 -17
- data/lib/expressir/model/unique.rb +0 -26
- data/lib/expressir/model/variable.rb +0 -28
- data/lib/expressir/model/where.rb +0 -26
- data/lib/expressir/parser/owl_parser.rb +0 -8
- data/lib/expressir/parser.rb +0 -6
- data/original/examples/syntax/multiple.yaml +0 -198
- data/original/examples/syntax/single.yaml +0 -15
- data/spec/acceptance/express_to_owl_spec.rb +0 -18
- data/spec/expressir/express/repository_spec.rb +0 -25
- data/spec/expressir/express_exp/formatter_spec.rb +0 -127
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
SCHEMA syntax_schema 'version';
|
|
1
|
+
SCHEMA syntax_schema '{ISO standard 10303 part(41) object(1) version(8)}';
|
|
2
2
|
|
|
3
3
|
USE FROM contract_schema;
|
|
4
4
|
USE FROM contract_schema
|
|
@@ -747,19 +747,19 @@ PROCEDURE types;
|
|
|
747
747
|
END_TYPE;
|
|
748
748
|
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
|
749
749
|
END_TYPE;
|
|
750
|
-
TYPE
|
|
750
|
+
TYPE select_item_type = SELECT
|
|
751
751
|
(empty_type);
|
|
752
752
|
END_TYPE;
|
|
753
|
-
TYPE
|
|
753
|
+
TYPE select_multiple_item_type = SELECT
|
|
754
754
|
(empty_type,
|
|
755
755
|
empty_type);
|
|
756
756
|
END_TYPE;
|
|
757
|
-
TYPE
|
|
757
|
+
TYPE select_based_on_type = SELECT BASED_ON select_type;
|
|
758
758
|
END_TYPE;
|
|
759
|
-
TYPE
|
|
759
|
+
TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
|
|
760
760
|
(empty_type);
|
|
761
761
|
END_TYPE;
|
|
762
|
-
TYPE
|
|
762
|
+
TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
|
|
763
763
|
(empty_type,
|
|
764
764
|
empty_type);
|
|
765
765
|
END_TYPE;
|
|
@@ -767,19 +767,19 @@ PROCEDURE types;
|
|
|
767
767
|
END_TYPE;
|
|
768
768
|
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
|
769
769
|
END_TYPE;
|
|
770
|
-
TYPE
|
|
770
|
+
TYPE enumeration_item_type = ENUMERATION OF
|
|
771
771
|
(test);
|
|
772
772
|
END_TYPE;
|
|
773
|
-
TYPE
|
|
773
|
+
TYPE enumeration_multiple_item_type = ENUMERATION OF
|
|
774
774
|
(test,
|
|
775
775
|
test2);
|
|
776
776
|
END_TYPE;
|
|
777
|
-
TYPE
|
|
777
|
+
TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
|
|
778
778
|
END_TYPE;
|
|
779
|
-
TYPE
|
|
779
|
+
TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
|
780
780
|
(test);
|
|
781
781
|
END_TYPE;
|
|
782
|
-
TYPE
|
|
782
|
+
TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
|
783
783
|
(test,
|
|
784
784
|
test2);
|
|
785
785
|
END_TYPE;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
SCHEMA syntax_schema 'version';
|
|
1
|
+
SCHEMA syntax_schema '{ISO standard 10303 part(41) object(1) version(8)}';
|
|
2
2
|
|
|
3
3
|
USE FROM contract_schema;
|
|
4
4
|
USE FROM contract_schema
|
|
@@ -747,19 +747,19 @@ PROCEDURE types;
|
|
|
747
747
|
END_TYPE;
|
|
748
748
|
TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
|
|
749
749
|
END_TYPE;
|
|
750
|
-
TYPE
|
|
750
|
+
TYPE select_item_type = SELECT
|
|
751
751
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
|
752
752
|
END_TYPE;
|
|
753
|
-
TYPE
|
|
753
|
+
TYPE select_multiple_item_type = SELECT
|
|
754
754
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
|
755
755
|
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
|
756
756
|
END_TYPE;
|
|
757
|
-
TYPE
|
|
757
|
+
TYPE select_based_on_type = SELECT BASED_ON select_type;
|
|
758
758
|
END_TYPE;
|
|
759
|
-
TYPE
|
|
759
|
+
TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
|
|
760
760
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
|
761
761
|
END_TYPE;
|
|
762
|
-
TYPE
|
|
762
|
+
TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
|
|
763
763
|
({{{<<express:syntax_schema.empty_type,empty_type>>}}},
|
|
764
764
|
{{{<<express:syntax_schema.empty_type,empty_type>>}}});
|
|
765
765
|
END_TYPE;
|
|
@@ -767,19 +767,19 @@ PROCEDURE types;
|
|
|
767
767
|
END_TYPE;
|
|
768
768
|
TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
|
|
769
769
|
END_TYPE;
|
|
770
|
-
TYPE
|
|
770
|
+
TYPE enumeration_item_type = ENUMERATION OF
|
|
771
771
|
(test);
|
|
772
772
|
END_TYPE;
|
|
773
|
-
TYPE
|
|
773
|
+
TYPE enumeration_multiple_item_type = ENUMERATION OF
|
|
774
774
|
(test,
|
|
775
775
|
test2);
|
|
776
776
|
END_TYPE;
|
|
777
|
-
TYPE
|
|
777
|
+
TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
|
|
778
778
|
END_TYPE;
|
|
779
|
-
TYPE
|
|
779
|
+
TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
|
780
780
|
(test);
|
|
781
781
|
END_TYPE;
|
|
782
|
-
TYPE
|
|
782
|
+
TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
|
|
783
783
|
(test,
|
|
784
784
|
test2);
|
|
785
785
|
END_TYPE;
|
metadata
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: expressir
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: thor
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.
|
|
26
|
+
version: '1.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: rice
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 4.0.3
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 4.0.3
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: asciidoctor
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
48
|
-
type: :
|
|
47
|
+
version: 2.0.13
|
|
48
|
+
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 2.0.13
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: antlr4-native
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -164,6 +164,34 @@ dependencies:
|
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
166
|
version: '3.0'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: yard
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: 0.9.26
|
|
174
|
+
type: :development
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: 0.9.26
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: webrick
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - "~>"
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: 1.7.0
|
|
188
|
+
type: :development
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - "~>"
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: 1.7.0
|
|
167
195
|
description: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
|
|
168
196
|
email:
|
|
169
197
|
- open.source@ribose.com'
|
|
@@ -178,8 +206,10 @@ files:
|
|
|
178
206
|
- ".github/workflows/release.yml"
|
|
179
207
|
- ".gitignore"
|
|
180
208
|
- ".gitmodules"
|
|
209
|
+
- ".hound.yml"
|
|
181
210
|
- ".rspec"
|
|
182
211
|
- ".rubocop.yml"
|
|
212
|
+
- ".yardopts"
|
|
183
213
|
- Gemfile
|
|
184
214
|
- README.adoc
|
|
185
215
|
- Rakefile
|
|
@@ -540,114 +570,93 @@ files:
|
|
|
540
570
|
- lib/expressir/cli.rb
|
|
541
571
|
- lib/expressir/cli/ui.rb
|
|
542
572
|
- lib/expressir/config.rb
|
|
543
|
-
- lib/expressir/express.rb
|
|
544
|
-
- lib/expressir/express/
|
|
545
|
-
- lib/expressir/express/
|
|
546
|
-
- lib/expressir/express/
|
|
547
|
-
- lib/expressir/express/
|
|
548
|
-
- lib/expressir/express/
|
|
549
|
-
- lib/expressir/express/
|
|
550
|
-
- lib/expressir/express/
|
|
551
|
-
- lib/expressir/express/explicit.rb
|
|
552
|
-
- lib/expressir/express/explicit_aggregate.rb
|
|
553
|
-
- lib/expressir/express/explicit_or_derived.rb
|
|
554
|
-
- lib/expressir/express/global_rule.rb
|
|
555
|
-
- lib/expressir/express/interface_specification.rb
|
|
556
|
-
- lib/expressir/express/interfaced_item.rb
|
|
557
|
-
- lib/expressir/express/inverse.rb
|
|
558
|
-
- lib/expressir/express/inverse_aggregate.rb
|
|
559
|
-
- lib/expressir/express/model_element.rb
|
|
560
|
-
- lib/expressir/express/named_type.rb
|
|
561
|
-
- lib/expressir/express/remark.rb
|
|
562
|
-
- lib/expressir/express/repository.rb
|
|
563
|
-
- lib/expressir/express/schema_definition.rb
|
|
564
|
-
- lib/expressir/express/subtype_constraint.rb
|
|
565
|
-
- lib/expressir/express/type.rb
|
|
566
|
-
- lib/expressir/express/type_aggregate.rb
|
|
567
|
-
- lib/expressir/express/type_enum.rb
|
|
568
|
-
- lib/expressir/express/type_parser.rb
|
|
569
|
-
- lib/expressir/express/type_select.rb
|
|
570
|
-
- lib/expressir/express/unique_rule.rb
|
|
571
|
-
- lib/expressir/express/where_rule.rb
|
|
572
|
-
- lib/expressir/express_exp/cache.rb
|
|
573
|
-
- lib/expressir/express_exp/formatter.rb
|
|
574
|
-
- lib/expressir/express_exp/hyperlink_formatter.rb
|
|
575
|
-
- lib/expressir/express_exp/model_visitor.rb
|
|
576
|
-
- lib/expressir/express_exp/parser.rb
|
|
577
|
-
- lib/expressir/express_exp/resolve_references_model_visitor.rb
|
|
578
|
-
- lib/expressir/express_exp/schema_head_formatter.rb
|
|
579
|
-
- lib/expressir/express_exp/visitor.rb
|
|
580
|
-
- lib/expressir/express_parser.rb
|
|
573
|
+
- lib/expressir/express/cache.rb
|
|
574
|
+
- lib/expressir/express/formatter.rb
|
|
575
|
+
- lib/expressir/express/hyperlink_formatter.rb
|
|
576
|
+
- lib/expressir/express/model_visitor.rb
|
|
577
|
+
- lib/expressir/express/parser.rb
|
|
578
|
+
- lib/expressir/express/resolve_references_model_visitor.rb
|
|
579
|
+
- lib/expressir/express/schema_head_formatter.rb
|
|
580
|
+
- lib/expressir/express/visitor.rb
|
|
581
581
|
- lib/expressir/model.rb
|
|
582
|
-
- lib/expressir/model/attribute.rb
|
|
583
582
|
- lib/expressir/model/cache.rb
|
|
584
|
-
- lib/expressir/model/
|
|
585
|
-
- lib/expressir/model/
|
|
586
|
-
- lib/expressir/model/
|
|
583
|
+
- lib/expressir/model/data_type.rb
|
|
584
|
+
- lib/expressir/model/data_types/aggregate.rb
|
|
585
|
+
- lib/expressir/model/data_types/array.rb
|
|
586
|
+
- lib/expressir/model/data_types/bag.rb
|
|
587
|
+
- lib/expressir/model/data_types/binary.rb
|
|
588
|
+
- lib/expressir/model/data_types/boolean.rb
|
|
589
|
+
- lib/expressir/model/data_types/enumeration.rb
|
|
590
|
+
- lib/expressir/model/data_types/enumeration_item.rb
|
|
591
|
+
- lib/expressir/model/data_types/generic.rb
|
|
592
|
+
- lib/expressir/model/data_types/generic_entity.rb
|
|
593
|
+
- lib/expressir/model/data_types/integer.rb
|
|
594
|
+
- lib/expressir/model/data_types/list.rb
|
|
595
|
+
- lib/expressir/model/data_types/logical.rb
|
|
596
|
+
- lib/expressir/model/data_types/number.rb
|
|
597
|
+
- lib/expressir/model/data_types/real.rb
|
|
598
|
+
- lib/expressir/model/data_types/select.rb
|
|
599
|
+
- lib/expressir/model/data_types/set.rb
|
|
600
|
+
- lib/expressir/model/data_types/string.rb
|
|
601
|
+
- lib/expressir/model/declaration.rb
|
|
602
|
+
- lib/expressir/model/declarations/attribute.rb
|
|
603
|
+
- lib/expressir/model/declarations/constant.rb
|
|
604
|
+
- lib/expressir/model/declarations/entity.rb
|
|
605
|
+
- lib/expressir/model/declarations/function.rb
|
|
606
|
+
- lib/expressir/model/declarations/interface.rb
|
|
607
|
+
- lib/expressir/model/declarations/interface_item.rb
|
|
608
|
+
- lib/expressir/model/declarations/interfaced_item.rb
|
|
609
|
+
- lib/expressir/model/declarations/parameter.rb
|
|
610
|
+
- lib/expressir/model/declarations/procedure.rb
|
|
611
|
+
- lib/expressir/model/declarations/remark_item.rb
|
|
612
|
+
- lib/expressir/model/declarations/rule.rb
|
|
613
|
+
- lib/expressir/model/declarations/schema.rb
|
|
614
|
+
- lib/expressir/model/declarations/schema_version.rb
|
|
615
|
+
- lib/expressir/model/declarations/schema_version_item.rb
|
|
616
|
+
- lib/expressir/model/declarations/subtype_constraint.rb
|
|
617
|
+
- lib/expressir/model/declarations/type.rb
|
|
618
|
+
- lib/expressir/model/declarations/unique_rule.rb
|
|
619
|
+
- lib/expressir/model/declarations/variable.rb
|
|
620
|
+
- lib/expressir/model/declarations/where_rule.rb
|
|
621
|
+
- lib/expressir/model/expression.rb
|
|
587
622
|
- lib/expressir/model/expressions/aggregate_initializer.rb
|
|
588
|
-
- lib/expressir/model/expressions/
|
|
589
|
-
- lib/expressir/model/expressions/attribute_reference.rb
|
|
623
|
+
- lib/expressir/model/expressions/aggregate_initializer_item.rb
|
|
590
624
|
- lib/expressir/model/expressions/binary_expression.rb
|
|
591
|
-
- lib/expressir/model/expressions/call.rb
|
|
592
625
|
- lib/expressir/model/expressions/entity_constructor.rb
|
|
593
|
-
- lib/expressir/model/expressions/
|
|
594
|
-
- lib/expressir/model/expressions/index_reference.rb
|
|
626
|
+
- lib/expressir/model/expressions/function_call.rb
|
|
595
627
|
- lib/expressir/model/expressions/interval.rb
|
|
596
628
|
- lib/expressir/model/expressions/query_expression.rb
|
|
597
|
-
- lib/expressir/model/expressions/simple_reference.rb
|
|
598
629
|
- lib/expressir/model/expressions/unary_expression.rb
|
|
599
|
-
- lib/expressir/model/function.rb
|
|
600
630
|
- lib/expressir/model/identifier.rb
|
|
601
|
-
- lib/expressir/model/
|
|
602
|
-
- lib/expressir/model/interface_item.rb
|
|
603
|
-
- lib/expressir/model/interfaced_item.rb
|
|
631
|
+
- lib/expressir/model/literal.rb
|
|
604
632
|
- lib/expressir/model/literals/binary.rb
|
|
605
633
|
- lib/expressir/model/literals/integer.rb
|
|
606
634
|
- lib/expressir/model/literals/logical.rb
|
|
607
635
|
- lib/expressir/model/literals/real.rb
|
|
608
636
|
- lib/expressir/model/literals/string.rb
|
|
609
637
|
- lib/expressir/model/model_element.rb
|
|
610
|
-
- lib/expressir/model/
|
|
611
|
-
- lib/expressir/model/
|
|
612
|
-
- lib/expressir/model/
|
|
638
|
+
- lib/expressir/model/reference.rb
|
|
639
|
+
- lib/expressir/model/references/attribute_reference.rb
|
|
640
|
+
- lib/expressir/model/references/group_reference.rb
|
|
641
|
+
- lib/expressir/model/references/index_reference.rb
|
|
642
|
+
- lib/expressir/model/references/simple_reference.rb
|
|
613
643
|
- lib/expressir/model/repository.rb
|
|
614
|
-
- lib/expressir/model/
|
|
615
|
-
- lib/expressir/model/schema.rb
|
|
644
|
+
- lib/expressir/model/statement.rb
|
|
616
645
|
- lib/expressir/model/statements/alias.rb
|
|
617
646
|
- lib/expressir/model/statements/assignment.rb
|
|
618
|
-
- lib/expressir/model/statements/call.rb
|
|
619
647
|
- lib/expressir/model/statements/case.rb
|
|
620
648
|
- lib/expressir/model/statements/case_action.rb
|
|
621
649
|
- lib/expressir/model/statements/compound.rb
|
|
622
650
|
- lib/expressir/model/statements/escape.rb
|
|
623
651
|
- lib/expressir/model/statements/if.rb
|
|
624
652
|
- lib/expressir/model/statements/null.rb
|
|
653
|
+
- lib/expressir/model/statements/procedure_call.rb
|
|
625
654
|
- lib/expressir/model/statements/repeat.rb
|
|
626
655
|
- lib/expressir/model/statements/return.rb
|
|
627
656
|
- lib/expressir/model/statements/skip.rb
|
|
628
|
-
- lib/expressir/model/
|
|
629
|
-
- lib/expressir/model/
|
|
630
|
-
- lib/expressir/model/
|
|
631
|
-
- lib/expressir/model/types/array.rb
|
|
632
|
-
- lib/expressir/model/types/bag.rb
|
|
633
|
-
- lib/expressir/model/types/binary.rb
|
|
634
|
-
- lib/expressir/model/types/boolean.rb
|
|
635
|
-
- lib/expressir/model/types/enumeration.rb
|
|
636
|
-
- lib/expressir/model/types/generic.rb
|
|
637
|
-
- lib/expressir/model/types/generic_entity.rb
|
|
638
|
-
- lib/expressir/model/types/integer.rb
|
|
639
|
-
- lib/expressir/model/types/list.rb
|
|
640
|
-
- lib/expressir/model/types/logical.rb
|
|
641
|
-
- lib/expressir/model/types/number.rb
|
|
642
|
-
- lib/expressir/model/types/real.rb
|
|
643
|
-
- lib/expressir/model/types/select.rb
|
|
644
|
-
- lib/expressir/model/types/set.rb
|
|
645
|
-
- lib/expressir/model/types/string.rb
|
|
646
|
-
- lib/expressir/model/unique.rb
|
|
647
|
-
- lib/expressir/model/variable.rb
|
|
648
|
-
- lib/expressir/model/where.rb
|
|
649
|
-
- lib/expressir/parser.rb
|
|
650
|
-
- lib/expressir/parser/owl_parser.rb
|
|
657
|
+
- lib/expressir/model/supertype_expression.rb
|
|
658
|
+
- lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
|
|
659
|
+
- lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
|
|
651
660
|
- lib/expressir/version.rb
|
|
652
661
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
|
|
653
662
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
|
|
@@ -678,23 +687,6 @@ files:
|
|
|
678
687
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl
|
|
679
688
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi
|
|
680
689
|
- original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml
|
|
681
|
-
- original/examples/syntax/multiple.exp
|
|
682
|
-
- original/examples/syntax/multiple.yaml
|
|
683
|
-
- original/examples/syntax/multiple_formatted.exp
|
|
684
|
-
- original/examples/syntax/multiple_hyperlink_formatted.exp
|
|
685
|
-
- original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp
|
|
686
|
-
- original/examples/syntax/remark.exp
|
|
687
|
-
- original/examples/syntax/remark.yaml
|
|
688
|
-
- original/examples/syntax/remark_formatted.exp
|
|
689
|
-
- original/examples/syntax/single.exp
|
|
690
|
-
- original/examples/syntax/single.yaml
|
|
691
|
-
- original/examples/syntax/single_formatted.exp
|
|
692
|
-
- original/examples/syntax/single_formatted.yaml
|
|
693
|
-
- original/examples/syntax/syntax.exp
|
|
694
|
-
- original/examples/syntax/syntax.yaml
|
|
695
|
-
- original/examples/syntax/syntax_formatted.exp
|
|
696
|
-
- original/examples/syntax/syntax_hyperlink_formatted.exp
|
|
697
|
-
- original/examples/syntax/syntax_schema_head_formatted.exp
|
|
698
690
|
- original/exp2ruby.rb
|
|
699
691
|
- original/expsm.rb
|
|
700
692
|
- original/mapping_owl.rb
|
|
@@ -703,16 +695,31 @@ files:
|
|
|
703
695
|
- original/mapping_uml2_eclipse.rb
|
|
704
696
|
- original/reeper.rb
|
|
705
697
|
- rakelib/cross-ruby.rake
|
|
706
|
-
- spec/acceptance/express_to_owl_spec.rb
|
|
707
698
|
- spec/acceptance/version_spec.rb
|
|
708
|
-
- spec/expressir/express/
|
|
709
|
-
- spec/expressir/
|
|
710
|
-
- spec/expressir/
|
|
711
|
-
- spec/expressir/express_exp/parser_spec.rb
|
|
699
|
+
- spec/expressir/express/cache_spec.rb
|
|
700
|
+
- spec/expressir/express/formatter_spec.rb
|
|
701
|
+
- spec/expressir/express/parser_spec.rb
|
|
712
702
|
- spec/expressir/model/model_element_spec.rb
|
|
713
703
|
- spec/expressr_spec.rb
|
|
714
704
|
- spec/spec_helper.rb
|
|
715
705
|
- spec/support/console_helper.rb
|
|
706
|
+
- spec/syntax/multiple.exp
|
|
707
|
+
- spec/syntax/multiple.yaml
|
|
708
|
+
- spec/syntax/multiple_formatted.exp
|
|
709
|
+
- spec/syntax/multiple_hyperlink_formatted.exp
|
|
710
|
+
- spec/syntax/multiple_schema_head_hyperlink_formatted.exp
|
|
711
|
+
- spec/syntax/remark.exp
|
|
712
|
+
- spec/syntax/remark.yaml
|
|
713
|
+
- spec/syntax/remark_formatted.exp
|
|
714
|
+
- spec/syntax/single.exp
|
|
715
|
+
- spec/syntax/single.yaml
|
|
716
|
+
- spec/syntax/single_formatted.exp
|
|
717
|
+
- spec/syntax/single_formatted.yaml
|
|
718
|
+
- spec/syntax/syntax.exp
|
|
719
|
+
- spec/syntax/syntax.yaml
|
|
720
|
+
- spec/syntax/syntax_formatted.exp
|
|
721
|
+
- spec/syntax/syntax_hyperlink_formatted.exp
|
|
722
|
+
- spec/syntax/syntax_schema_head_formatted.exp
|
|
716
723
|
homepage: https://github.com/lutaml/expressir
|
|
717
724
|
licenses:
|
|
718
725
|
- MIT
|
|
@@ -735,7 +742,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
735
742
|
- !ruby/object:Gem::Version
|
|
736
743
|
version: '0'
|
|
737
744
|
requirements: []
|
|
738
|
-
rubygems_version: 3.0.3
|
|
745
|
+
rubygems_version: 3.0.3.1
|
|
739
746
|
signing_key:
|
|
740
747
|
specification_version: 4
|
|
741
748
|
summary: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module Expressir
|
|
2
|
-
module Express
|
|
3
|
-
class AggregateDimension
|
|
4
|
-
attr_accessor :aggrtype, :lower, :upper, :isUnique, :isOptionalArray
|
|
5
|
-
|
|
6
|
-
def initialize(options = {})
|
|
7
|
-
@aggrtype = "SET"
|
|
8
|
-
@lower = "0"
|
|
9
|
-
@upper = "?"
|
|
10
|
-
@isUnique = false
|
|
11
|
-
@isOptionalArray = false
|
|
12
|
-
|
|
13
|
-
@options = options
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def parse
|
|
17
|
-
document = @options.fetch(:document, nil)
|
|
18
|
-
extract_attributes(document) if document
|
|
19
|
-
|
|
20
|
-
self
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.parse(document)
|
|
24
|
-
new(document: document).parse
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
private
|
|
28
|
-
|
|
29
|
-
def extract_attributes(document)
|
|
30
|
-
@aggrtype = document.attributes["type"]
|
|
31
|
-
@lower = document.attributes["lower"]
|
|
32
|
-
@upper = document.attributes["upper"]
|
|
33
|
-
@isUnique = document.attributes["unique"] == "YES"
|
|
34
|
-
@isOptionalArray = document.attributes["optional"] == "YES"
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require "expressir/express/model_element"
|
|
2
|
-
|
|
3
|
-
module Expressir
|
|
4
|
-
module Express
|
|
5
|
-
class Attribute < ModelElement
|
|
6
|
-
attr_accessor :name, :entity, :domain, :redeclare_entity,
|
|
7
|
-
:redeclare_oldname
|
|
8
|
-
|
|
9
|
-
def initialize
|
|
10
|
-
@redeclare_entity = nil
|
|
11
|
-
@redeclare_oldname = nil
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require "expressir/express/named_type"
|
|
2
|
-
|
|
3
|
-
module Expressir
|
|
4
|
-
module Express
|
|
5
|
-
class DefinedType < NamedType
|
|
6
|
-
def initialize(options = {})
|
|
7
|
-
@options = options
|
|
8
|
-
@schema = options.fetch(:schema)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def parse
|
|
12
|
-
document = @options.fetch(:document)
|
|
13
|
-
extract_type_attributes(document)
|
|
14
|
-
|
|
15
|
-
self
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.parse(document, schema)
|
|
19
|
-
new(document: document, schema: schema).parse
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
def extract_type_attributes(document)
|
|
25
|
-
@name = document.attributes["name"].to_s
|
|
26
|
-
@wheres = extract_where_rules(document)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def extract_where_rules(document)
|
|
30
|
-
document.xpath("where").map do |where|
|
|
31
|
-
Express::WhereRule.parse(where)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
module Expressir
|
|
2
|
-
module Express
|
|
3
|
-
class Derived < ExplicitOrDerived
|
|
4
|
-
attr_accessor :expression
|
|
5
|
-
|
|
6
|
-
def initialize(options = {})
|
|
7
|
-
@options = options
|
|
8
|
-
@entity = options.fetch(:entity, nil)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def parse
|
|
12
|
-
document = @options.fetch(:document, nil)
|
|
13
|
-
extract_common_attributes(document)
|
|
14
|
-
extract_type_specific_attributes(document)
|
|
15
|
-
|
|
16
|
-
self
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def self.parse(document, entity)
|
|
20
|
-
new(document: document, entity: entity).parse
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
private
|
|
24
|
-
|
|
25
|
-
def extract_type_specific_attributes(document); end
|
|
26
|
-
|
|
27
|
-
def extract_common_attributes(document)
|
|
28
|
-
@name = document.attributes["name"].to_s
|
|
29
|
-
@expression = document.attributes["expression"].to_s
|
|
30
|
-
@domain = extract_domain_name(document.xpath("typename"))
|
|
31
|
-
|
|
32
|
-
extract_builtintype_attributes(document)
|
|
33
|
-
extract_redeclaration_attributes(document)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def extract_domain_name(typename)
|
|
37
|
-
unless typename.empty?
|
|
38
|
-
typename.first.attributes["name"].to_s
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def extract_redeclaration_attributes(document)
|
|
43
|
-
redeclaration = document.xpath("redeclaration").first
|
|
44
|
-
|
|
45
|
-
if redeclaration
|
|
46
|
-
@redeclare_entity = redeclaration.attributes["entity-ref"].to_s
|
|
47
|
-
old_name = redeclaration.attributes["old_name"]
|
|
48
|
-
@redeclare_oldname = old_name.to_s if old_name
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def extract_builtintype_attributes(document)
|
|
53
|
-
builtin_type = document.xpath("builtintype").first
|
|
54
|
-
|
|
55
|
-
if builtin_type
|
|
56
|
-
@isBuiltin = true
|
|
57
|
-
@domain = builtin_type.attributes["type"].to_s
|
|
58
|
-
@width = builtin_type.attributes["width"].to_s
|
|
59
|
-
@fixed = builtin_type.attributes["fixed"] == "YES"
|
|
60
|
-
@precision = builtin_type.attributes["precision"].to_s
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|