expressir 1.0.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cross_rubies +6 -18
- data/.github/workflows/rake.yml +50 -5
- data/.github/workflows/release.yml +11 -3
- data/.hound.yml +3 -0
- data/.rubocop.yml +6 -506
- data/.yardopts +11 -0
- data/Rakefile +3 -0
- data/expressir.gemspec +4 -1
- data/ext/express-parser/express_parser.cpp +4358 -2954
- data/ext/express-parser/extconf.rb +5 -3
- data/lib/expressir/express/cache.rb +16 -10
- data/lib/expressir/express/formatter.rb +231 -180
- data/lib/expressir/express/hyperlink_formatter.rb +15 -1
- data/lib/expressir/express/model_visitor.rb +1 -0
- data/lib/expressir/express/parser.rb +16 -10
- data/lib/expressir/express/resolve_references_model_visitor.rb +7 -5
- data/lib/expressir/express/schema_head_formatter.rb +16 -2
- data/lib/expressir/express/visitor.rb +280 -254
- 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 +6 -2
- 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 +8 -3
- 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 +5 -1
- data/lib/expressir/model/statement.rb +9 -0
- data/lib/expressir/model/statements/alias.rb +11 -7
- data/lib/expressir/model/statements/assignment.rb +8 -3
- data/lib/expressir/model/statements/case.rb +10 -4
- data/lib/expressir/model/statements/case_action.rb +7 -2
- data/lib/expressir/model/statements/compound.rb +6 -2
- data/lib/expressir/model/statements/escape.rb +3 -1
- data/lib/expressir/model/statements/if.rb +10 -4
- 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 +19 -11
- 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 -45
- data/lib/expressir/version.rb +1 -1
- data/spec/expressir/model/model_element_spec.rb +131 -131
- data/spec/syntax/multiple.yaml +68 -68
- data/spec/syntax/remark.yaml +64 -64
- data/spec/syntax/single.yaml +5 -5
- data/spec/syntax/single_formatted.yaml +5 -5
- data/spec/syntax/syntax.yaml +1003 -1030
- metadata +101 -48
- 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/schema_version.rb +0 -15
- data/lib/expressir/model/schema_version_item.rb +0 -15
- 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 -19
- 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 -21
- data/lib/expressir/model/types/set.rb +0 -19
- data/lib/expressir/model/types/string.rb +0 -17
- data/lib/expressir/model/unique_rule.rb +0 -26
- data/lib/expressir/model/variable.rb +0 -28
- data/lib/expressir/model/where_rule.rb +0 -26
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expressir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
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-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,14 +30,28 @@ dependencies:
|
|
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
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: asciidoctor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.0.13
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.0.13
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: antlr4-native
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +164,34 @@ dependencies:
|
|
150
164
|
- - "~>"
|
151
165
|
- !ruby/object:Gem::Version
|
152
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
|
153
195
|
description: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
|
154
196
|
email:
|
155
197
|
- open.source@ribose.com'
|
@@ -164,8 +206,10 @@ files:
|
|
164
206
|
- ".github/workflows/release.yml"
|
165
207
|
- ".gitignore"
|
166
208
|
- ".gitmodules"
|
209
|
+
- ".hound.yml"
|
167
210
|
- ".rspec"
|
168
211
|
- ".rubocop.yml"
|
212
|
+
- ".yardopts"
|
169
213
|
- Gemfile
|
170
214
|
- README.adoc
|
171
215
|
- Rakefile
|
@@ -535,75 +579,84 @@ files:
|
|
535
579
|
- lib/expressir/express/schema_head_formatter.rb
|
536
580
|
- lib/expressir/express/visitor.rb
|
537
581
|
- lib/expressir/model.rb
|
538
|
-
- lib/expressir/model/attribute.rb
|
539
582
|
- lib/expressir/model/cache.rb
|
540
|
-
- lib/expressir/model/
|
541
|
-
- lib/expressir/model/
|
542
|
-
- 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
|
543
622
|
- lib/expressir/model/expressions/aggregate_initializer.rb
|
544
|
-
- lib/expressir/model/expressions/
|
545
|
-
- lib/expressir/model/expressions/attribute_reference.rb
|
623
|
+
- lib/expressir/model/expressions/aggregate_initializer_item.rb
|
546
624
|
- lib/expressir/model/expressions/binary_expression.rb
|
547
|
-
- lib/expressir/model/expressions/call.rb
|
548
625
|
- lib/expressir/model/expressions/entity_constructor.rb
|
549
|
-
- lib/expressir/model/expressions/
|
550
|
-
- lib/expressir/model/expressions/index_reference.rb
|
626
|
+
- lib/expressir/model/expressions/function_call.rb
|
551
627
|
- lib/expressir/model/expressions/interval.rb
|
552
628
|
- lib/expressir/model/expressions/query_expression.rb
|
553
|
-
- lib/expressir/model/expressions/simple_reference.rb
|
554
629
|
- lib/expressir/model/expressions/unary_expression.rb
|
555
|
-
- lib/expressir/model/function.rb
|
556
630
|
- lib/expressir/model/identifier.rb
|
557
|
-
- lib/expressir/model/
|
558
|
-
- lib/expressir/model/interface_item.rb
|
559
|
-
- lib/expressir/model/interfaced_item.rb
|
631
|
+
- lib/expressir/model/literal.rb
|
560
632
|
- lib/expressir/model/literals/binary.rb
|
561
633
|
- lib/expressir/model/literals/integer.rb
|
562
634
|
- lib/expressir/model/literals/logical.rb
|
563
635
|
- lib/expressir/model/literals/real.rb
|
564
636
|
- lib/expressir/model/literals/string.rb
|
565
637
|
- lib/expressir/model/model_element.rb
|
566
|
-
- lib/expressir/model/
|
567
|
-
- lib/expressir/model/
|
568
|
-
- 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
|
569
643
|
- lib/expressir/model/repository.rb
|
570
|
-
- lib/expressir/model/
|
571
|
-
- lib/expressir/model/schema.rb
|
572
|
-
- lib/expressir/model/schema_version.rb
|
573
|
-
- lib/expressir/model/schema_version_item.rb
|
644
|
+
- lib/expressir/model/statement.rb
|
574
645
|
- lib/expressir/model/statements/alias.rb
|
575
646
|
- lib/expressir/model/statements/assignment.rb
|
576
|
-
- lib/expressir/model/statements/call.rb
|
577
647
|
- lib/expressir/model/statements/case.rb
|
578
648
|
- lib/expressir/model/statements/case_action.rb
|
579
649
|
- lib/expressir/model/statements/compound.rb
|
580
650
|
- lib/expressir/model/statements/escape.rb
|
581
651
|
- lib/expressir/model/statements/if.rb
|
582
652
|
- lib/expressir/model/statements/null.rb
|
653
|
+
- lib/expressir/model/statements/procedure_call.rb
|
583
654
|
- lib/expressir/model/statements/repeat.rb
|
584
655
|
- lib/expressir/model/statements/return.rb
|
585
656
|
- lib/expressir/model/statements/skip.rb
|
586
|
-
- lib/expressir/model/
|
587
|
-
- lib/expressir/model/
|
588
|
-
- lib/expressir/model/
|
589
|
-
- lib/expressir/model/types/array.rb
|
590
|
-
- lib/expressir/model/types/bag.rb
|
591
|
-
- lib/expressir/model/types/binary.rb
|
592
|
-
- lib/expressir/model/types/boolean.rb
|
593
|
-
- lib/expressir/model/types/enumeration.rb
|
594
|
-
- lib/expressir/model/types/generic.rb
|
595
|
-
- lib/expressir/model/types/generic_entity.rb
|
596
|
-
- lib/expressir/model/types/integer.rb
|
597
|
-
- lib/expressir/model/types/list.rb
|
598
|
-
- lib/expressir/model/types/logical.rb
|
599
|
-
- lib/expressir/model/types/number.rb
|
600
|
-
- lib/expressir/model/types/real.rb
|
601
|
-
- lib/expressir/model/types/select.rb
|
602
|
-
- lib/expressir/model/types/set.rb
|
603
|
-
- lib/expressir/model/types/string.rb
|
604
|
-
- lib/expressir/model/unique_rule.rb
|
605
|
-
- lib/expressir/model/variable.rb
|
606
|
-
- lib/expressir/model/where_rule.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
|
607
660
|
- lib/expressir/version.rb
|
608
661
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
|
609
662
|
- original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
|
@@ -689,7 +742,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
689
742
|
- !ruby/object:Gem::Version
|
690
743
|
version: '0'
|
691
744
|
requirements: []
|
692
|
-
rubygems_version: 3.
|
745
|
+
rubygems_version: 3.2.32
|
693
746
|
signing_key:
|
694
747
|
specification_version: 4
|
695
748
|
summary: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
|
@@ -1,38 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Attribute < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
EXPLICIT = :EXPLICIT
|
7
|
-
DERIVED = :DERIVED
|
8
|
-
INVERSE = :INVERSE
|
9
|
-
|
10
|
-
model_attr_accessor :kind
|
11
|
-
model_attr_accessor :supertype_attribute
|
12
|
-
model_attr_accessor :optional
|
13
|
-
model_attr_accessor :type
|
14
|
-
model_attr_accessor :expression
|
15
|
-
|
16
|
-
def initialize(options = {})
|
17
|
-
@id = options[:id]
|
18
|
-
@remarks = options[:remarks] || []
|
19
|
-
@remark_items = options[:remark_items] || []
|
20
|
-
@source = options[:source]
|
21
|
-
|
22
|
-
@kind = options[:kind]
|
23
|
-
@supertype_attribute = options[:supertype_attribute]
|
24
|
-
@optional = options[:optional]
|
25
|
-
@type = options[:type]
|
26
|
-
@expression = options[:expression]
|
27
|
-
|
28
|
-
super
|
29
|
-
end
|
30
|
-
|
31
|
-
def children
|
32
|
-
[
|
33
|
-
*remark_items
|
34
|
-
]
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Constant < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
model_attr_accessor :type
|
7
|
-
model_attr_accessor :expression
|
8
|
-
|
9
|
-
def initialize(options = {})
|
10
|
-
@id = options[:id]
|
11
|
-
@remarks = options[:remarks] || []
|
12
|
-
@remark_items = options[:remark_items] || []
|
13
|
-
@source = options[:source]
|
14
|
-
|
15
|
-
@type = options[:type]
|
16
|
-
@expression = options[:expression]
|
17
|
-
|
18
|
-
super
|
19
|
-
end
|
20
|
-
|
21
|
-
def children
|
22
|
-
[
|
23
|
-
*remark_items
|
24
|
-
]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Entity < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
model_attr_accessor :abstract
|
7
|
-
model_attr_accessor :supertype_expression
|
8
|
-
model_attr_accessor :subtype_of
|
9
|
-
model_attr_accessor :attributes
|
10
|
-
model_attr_accessor :unique_rules
|
11
|
-
model_attr_accessor :where_rules
|
12
|
-
model_attr_accessor :informal_propositions
|
13
|
-
|
14
|
-
def initialize(options = {})
|
15
|
-
@id = options[:id]
|
16
|
-
@remarks = options[:remarks] || []
|
17
|
-
@remark_items = options[:remark_items] || []
|
18
|
-
@source = options[:source]
|
19
|
-
|
20
|
-
@abstract = options[:abstract]
|
21
|
-
@supertype_expression = options[:supertype_expression]
|
22
|
-
@subtype_of = options[:subtype_of] || []
|
23
|
-
@attributes = options[:attributes] || []
|
24
|
-
@unique_rules = options[:unique_rules] || []
|
25
|
-
@where_rules = options[:where_rules] || []
|
26
|
-
@informal_propositions = options[:informal_propositions] || []
|
27
|
-
|
28
|
-
super
|
29
|
-
end
|
30
|
-
|
31
|
-
def children
|
32
|
-
[
|
33
|
-
*attributes,
|
34
|
-
*unique_rules,
|
35
|
-
*where_rules,
|
36
|
-
*informal_propositions,
|
37
|
-
*remark_items
|
38
|
-
]
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class EnumerationItem < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@id = options[:id]
|
8
|
-
@remarks = options[:remarks] || []
|
9
|
-
@remark_items = options[:remark_items] || []
|
10
|
-
@source = options[:source]
|
11
|
-
|
12
|
-
super
|
13
|
-
end
|
14
|
-
|
15
|
-
def children
|
16
|
-
[
|
17
|
-
*remark_items
|
18
|
-
]
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class AggregateItem < ModelElement
|
5
|
-
model_attr_accessor :expression
|
6
|
-
model_attr_accessor :repetition
|
7
|
-
|
8
|
-
def initialize(options = {})
|
9
|
-
@expression = options[:expression]
|
10
|
-
@repetition = options[:repetition]
|
11
|
-
|
12
|
-
super
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class AttributeReference < ModelElement
|
5
|
-
model_attr_accessor :ref
|
6
|
-
model_attr_accessor :attribute
|
7
|
-
|
8
|
-
def initialize(options = {})
|
9
|
-
@ref = options[:ref]
|
10
|
-
@attribute = options[:attribute]
|
11
|
-
|
12
|
-
super
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class Call < ModelElement
|
5
|
-
model_attr_accessor :ref
|
6
|
-
model_attr_accessor :parameters
|
7
|
-
|
8
|
-
def initialize(options = {})
|
9
|
-
@ref = options[:ref]
|
10
|
-
@parameters = options[:parameters] || []
|
11
|
-
|
12
|
-
super
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class GroupReference < ModelElement
|
5
|
-
model_attr_accessor :ref
|
6
|
-
model_attr_accessor :entity
|
7
|
-
|
8
|
-
def initialize(options = {})
|
9
|
-
@ref = options[:ref]
|
10
|
-
@entity = options[:entity]
|
11
|
-
|
12
|
-
super
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class IndexReference < ModelElement
|
5
|
-
model_attr_accessor :ref
|
6
|
-
model_attr_accessor :index1
|
7
|
-
model_attr_accessor :index2
|
8
|
-
|
9
|
-
def initialize(options = {})
|
10
|
-
@ref = options[:ref]
|
11
|
-
@index1 = options[:index1]
|
12
|
-
@index2 = options[:index2]
|
13
|
-
|
14
|
-
super
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
module Expressions
|
4
|
-
class SimpleReference < ModelElement
|
5
|
-
model_attr_accessor :id
|
6
|
-
|
7
|
-
model_attr_accessor :base_path
|
8
|
-
|
9
|
-
def initialize(options = {})
|
10
|
-
@id = options[:id]
|
11
|
-
|
12
|
-
@base_path = options[:base_path]
|
13
|
-
|
14
|
-
super
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Function < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
model_attr_accessor :parameters
|
7
|
-
model_attr_accessor :return_type
|
8
|
-
model_attr_accessor :types
|
9
|
-
model_attr_accessor :entities
|
10
|
-
model_attr_accessor :subtype_constraints
|
11
|
-
model_attr_accessor :functions
|
12
|
-
model_attr_accessor :procedures
|
13
|
-
model_attr_accessor :constants
|
14
|
-
model_attr_accessor :variables
|
15
|
-
model_attr_accessor :statements
|
16
|
-
|
17
|
-
def initialize(options = {})
|
18
|
-
@id = options[:id]
|
19
|
-
@remarks = options[:remarks] || []
|
20
|
-
@remark_items = options[:remark_items] || []
|
21
|
-
@source = options[:source]
|
22
|
-
|
23
|
-
@parameters = options[:parameters] || []
|
24
|
-
@return_type = options[:return_type]
|
25
|
-
@types = options[:types] || []
|
26
|
-
@entities = options[:entities] || []
|
27
|
-
@subtype_constraints = options[:subtype_constraints] || []
|
28
|
-
@functions = options[:functions] || []
|
29
|
-
@procedures = options[:procedures] || []
|
30
|
-
@constants = options[:constants] || []
|
31
|
-
@variables = options[:variables] || []
|
32
|
-
@statements = options[:statements] || []
|
33
|
-
|
34
|
-
super
|
35
|
-
end
|
36
|
-
|
37
|
-
def enumeration_items
|
38
|
-
types.flat_map{|x| x.enumeration_items}
|
39
|
-
end
|
40
|
-
|
41
|
-
def children
|
42
|
-
[
|
43
|
-
*parameters,
|
44
|
-
*types,
|
45
|
-
*enumeration_items,
|
46
|
-
*entities,
|
47
|
-
*subtype_constraints,
|
48
|
-
*functions,
|
49
|
-
*procedures,
|
50
|
-
*constants,
|
51
|
-
*variables,
|
52
|
-
*remark_items
|
53
|
-
]
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Interface < ModelElement
|
4
|
-
USE = :USE
|
5
|
-
REFERENCE = :REFERENCE
|
6
|
-
|
7
|
-
model_attr_accessor :kind
|
8
|
-
model_attr_accessor :schema
|
9
|
-
model_attr_accessor :items
|
10
|
-
|
11
|
-
def initialize(options = {})
|
12
|
-
@kind = options[:kind]
|
13
|
-
@schema = options[:schema]
|
14
|
-
@items = options[:items] || []
|
15
|
-
|
16
|
-
super
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class InterfacedItem < ModelElement
|
4
|
-
model_attr_accessor :id
|
5
|
-
model_attr_accessor :remarks
|
6
|
-
model_attr_accessor :remark_items
|
7
|
-
|
8
|
-
model_attr_accessor :base_item
|
9
|
-
|
10
|
-
def initialize(options = {})
|
11
|
-
@id = options[:id]
|
12
|
-
@remarks = options[:remarks] || []
|
13
|
-
@remark_items = options[:remark_items] || []
|
14
|
-
|
15
|
-
@base_item = options[:base_item]
|
16
|
-
|
17
|
-
super
|
18
|
-
end
|
19
|
-
|
20
|
-
def children
|
21
|
-
[
|
22
|
-
*remark_items
|
23
|
-
]
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Parameter < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
model_attr_accessor :var
|
7
|
-
model_attr_accessor :type
|
8
|
-
|
9
|
-
def initialize(options = {})
|
10
|
-
@id = options[:id]
|
11
|
-
@remarks = options[:remarks] || []
|
12
|
-
@remark_items = options[:remark_items] || []
|
13
|
-
@source = options[:source]
|
14
|
-
|
15
|
-
@var = options[:var]
|
16
|
-
@type = options[:type]
|
17
|
-
|
18
|
-
super
|
19
|
-
end
|
20
|
-
|
21
|
-
def children
|
22
|
-
[
|
23
|
-
*remark_items
|
24
|
-
]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
module Expressir
|
2
|
-
module Model
|
3
|
-
class Procedure < ModelElement
|
4
|
-
include Identifier
|
5
|
-
|
6
|
-
model_attr_accessor :parameters
|
7
|
-
model_attr_accessor :types
|
8
|
-
model_attr_accessor :entities
|
9
|
-
model_attr_accessor :subtype_constraints
|
10
|
-
model_attr_accessor :functions
|
11
|
-
model_attr_accessor :procedures
|
12
|
-
model_attr_accessor :constants
|
13
|
-
model_attr_accessor :variables
|
14
|
-
model_attr_accessor :statements
|
15
|
-
|
16
|
-
def initialize(options = {})
|
17
|
-
@id = options[:id]
|
18
|
-
@remarks = options[:remarks] || []
|
19
|
-
@remark_items = options[:remark_items] || []
|
20
|
-
@source = options[:source]
|
21
|
-
|
22
|
-
@parameters = options[:parameters] || []
|
23
|
-
@types = options[:types] || []
|
24
|
-
@entities = options[:entities] || []
|
25
|
-
@subtype_constraints = options[:subtype_constraints] || []
|
26
|
-
@functions = options[:functions] || []
|
27
|
-
@procedures = options[:procedures] || []
|
28
|
-
@constants = options[:constants] || []
|
29
|
-
@variables = options[:variables] || []
|
30
|
-
@statements = options[:statements] || []
|
31
|
-
|
32
|
-
super
|
33
|
-
end
|
34
|
-
|
35
|
-
def enumeration_items
|
36
|
-
types.flat_map{|x| x.enumeration_items}
|
37
|
-
end
|
38
|
-
|
39
|
-
def children
|
40
|
-
[
|
41
|
-
*parameters,
|
42
|
-
*types,
|
43
|
-
*enumeration_items,
|
44
|
-
*entities,
|
45
|
-
*subtype_constraints,
|
46
|
-
*functions,
|
47
|
-
*procedures,
|
48
|
-
*constants,
|
49
|
-
*variables,
|
50
|
-
*remark_items
|
51
|
-
]
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|