expressir 0.2.21-x86-linux → 0.2.24-x86-linux
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/release.yml +22 -6
- 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/cache.rb +1 -1
- data/lib/expressir/express_exp/visitor.rb +19 -18
- data/lib/expressir/model.rb +1 -1
- data/lib/expressir/model/attribute.rb +12 -5
- data/lib/expressir/model/cache.rb +2 -2
- data/lib/expressir/model/constant.rb +9 -2
- data/lib/expressir/model/entity.rb +10 -8
- data/lib/expressir/model/enumeration_item.rb +7 -0
- data/lib/expressir/model/expressions/aggregate_initializer.rb +1 -1
- data/lib/expressir/model/expressions/aggregate_item.rb +2 -2
- data/lib/expressir/model/expressions/attribute_reference.rb +2 -2
- data/lib/expressir/model/expressions/binary_expression.rb +3 -3
- data/lib/expressir/model/expressions/call.rb +2 -2
- data/lib/expressir/model/expressions/entity_constructor.rb +2 -2
- data/lib/expressir/model/expressions/group_reference.rb +2 -2
- data/lib/expressir/model/expressions/index_reference.rb +3 -3
- data/lib/expressir/model/expressions/interval.rb +5 -5
- data/lib/expressir/model/expressions/query_expression.rb +5 -3
- data/lib/expressir/model/expressions/simple_reference.rb +1 -1
- data/lib/expressir/model/expressions/unary_expression.rb +2 -2
- data/lib/expressir/model/function.rb +13 -11
- data/lib/expressir/model/identifier.rb +6 -3
- data/lib/expressir/model/interface.rb +3 -3
- data/lib/expressir/model/interface_item.rb +2 -2
- data/lib/expressir/model/interfaced_item.rb +11 -6
- data/lib/expressir/model/literals/binary.rb +1 -1
- data/lib/expressir/model/literals/integer.rb +1 -1
- data/lib/expressir/model/literals/logical.rb +1 -1
- data/lib/expressir/model/literals/real.rb +1 -1
- data/lib/expressir/model/literals/string.rb +2 -2
- data/lib/expressir/model/model_element.rb +29 -24
- data/lib/expressir/model/parameter.rb +9 -2
- data/lib/expressir/model/procedure.rb +12 -10
- data/lib/expressir/model/{informal_proposition.rb → remark_item.rb} +3 -6
- data/lib/expressir/model/repository.rb +1 -1
- data/lib/expressir/model/rule.rb +14 -12
- data/lib/expressir/model/schema.rb +13 -11
- data/lib/expressir/model/statements/alias.rb +5 -3
- data/lib/expressir/model/statements/assignment.rb +2 -2
- data/lib/expressir/model/statements/call.rb +2 -2
- data/lib/expressir/model/statements/case.rb +3 -3
- data/lib/expressir/model/statements/case_action.rb +2 -2
- data/lib/expressir/model/statements/compound.rb +1 -1
- data/lib/expressir/model/statements/if.rb +3 -3
- data/lib/expressir/model/statements/repeat.rb +9 -7
- data/lib/expressir/model/statements/return.rb +1 -1
- data/lib/expressir/model/subtype_constraint.rb +11 -4
- data/lib/expressir/model/type.rb +6 -4
- data/lib/expressir/model/types/aggregate.rb +8 -1
- data/lib/expressir/model/types/array.rb +5 -5
- data/lib/expressir/model/types/bag.rb +3 -3
- data/lib/expressir/model/types/binary.rb +2 -2
- data/lib/expressir/model/types/enumeration.rb +4 -4
- data/lib/expressir/model/types/generic.rb +7 -0
- data/lib/expressir/model/types/generic_entity.rb +7 -0
- data/lib/expressir/model/types/list.rb +4 -4
- data/lib/expressir/model/types/real.rb +1 -1
- data/lib/expressir/model/types/select.rb +5 -5
- data/lib/expressir/model/types/set.rb +3 -3
- data/lib/expressir/model/types/string.rb +2 -2
- data/lib/expressir/model/unique.rb +8 -1
- data/lib/expressir/model/variable.rb +9 -2
- data/lib/expressir/model/where.rb +8 -1
- data/lib/expressir/version.rb +1 -1
- data/original/examples/syntax/remark.exp +12 -10
- data/original/examples/syntax/remark.yaml +9 -3
- data/original/examples/syntax/remark_formatted.exp +3 -1
- data/spec/expressir/model/model_element_spec.rb +20 -20
- metadata +3 -3
@@ -2,9 +2,9 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class Case < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
model_attr_accessor :expression
|
6
|
+
model_attr_accessor :actions
|
7
|
+
model_attr_accessor :otherwise_statement
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@expression = options[:expression]
|
@@ -2,8 +2,8 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class CaseAction < ModelElement
|
5
|
-
|
6
|
-
|
5
|
+
model_attr_accessor :labels
|
6
|
+
model_attr_accessor :statement
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
9
|
@labels = options.fetch(:labels, [])
|
@@ -2,9 +2,9 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class If < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
model_attr_accessor :expression
|
6
|
+
model_attr_accessor :statements
|
7
|
+
model_attr_accessor :else_statements
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@expression = options[:expression]
|
@@ -4,16 +4,17 @@ module Expressir
|
|
4
4
|
class Repeat < ModelElement
|
5
5
|
include Identifier
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
model_attr_accessor :bound1
|
8
|
+
model_attr_accessor :bound2
|
9
|
+
model_attr_accessor :increment
|
10
|
+
model_attr_accessor :while_expression
|
11
|
+
model_attr_accessor :until_expression
|
12
|
+
model_attr_accessor :statements
|
13
13
|
|
14
14
|
def initialize(options = {})
|
15
15
|
@id = options[:id]
|
16
16
|
@remarks = options.fetch(:remarks, [])
|
17
|
+
@remark_items = options.fetch(:remark_items, [])
|
17
18
|
@source = options[:source]
|
18
19
|
|
19
20
|
@bound1 = options[:bound1]
|
@@ -28,7 +29,8 @@ module Expressir
|
|
28
29
|
|
29
30
|
def children
|
30
31
|
[
|
31
|
-
self
|
32
|
+
self,
|
33
|
+
*remark_items
|
32
34
|
]
|
33
35
|
end
|
34
36
|
end
|
@@ -3,14 +3,15 @@ module Expressir
|
|
3
3
|
class SubtypeConstraint < ModelElement
|
4
4
|
include Identifier
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
model_attr_accessor :applies_to
|
7
|
+
model_attr_accessor :abstract
|
8
|
+
model_attr_accessor :total_over
|
9
|
+
model_attr_accessor :supertype_expression
|
10
10
|
|
11
11
|
def initialize(options = {})
|
12
12
|
@id = options[:id]
|
13
13
|
@remarks = options.fetch(:remarks, [])
|
14
|
+
@remark_items = options.fetch(:remark_items, [])
|
14
15
|
@source = options[:source]
|
15
16
|
|
16
17
|
@applies_to = options[:applies_to]
|
@@ -20,6 +21,12 @@ module Expressir
|
|
20
21
|
|
21
22
|
super
|
22
23
|
end
|
24
|
+
|
25
|
+
def children
|
26
|
+
[
|
27
|
+
*remark_items
|
28
|
+
]
|
29
|
+
end
|
23
30
|
end
|
24
31
|
end
|
25
32
|
end
|
data/lib/expressir/model/type.rb
CHANGED
@@ -3,13 +3,14 @@ module Expressir
|
|
3
3
|
class Type < ModelElement
|
4
4
|
include Identifier
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
model_attr_accessor :type
|
7
|
+
model_attr_accessor :where
|
8
|
+
model_attr_accessor :informal_propositions
|
9
9
|
|
10
10
|
def initialize(options = {})
|
11
11
|
@id = options[:id]
|
12
12
|
@remarks = options.fetch(:remarks, [])
|
13
|
+
@remark_items = options.fetch(:remark_items, [])
|
13
14
|
@source = options[:source]
|
14
15
|
|
15
16
|
@type = options[:type]
|
@@ -27,7 +28,8 @@ module Expressir
|
|
27
28
|
[
|
28
29
|
*enumeration_items,
|
29
30
|
*where,
|
30
|
-
*informal_propositions
|
31
|
+
*informal_propositions,
|
32
|
+
*remark_items
|
31
33
|
]
|
32
34
|
end
|
33
35
|
end
|
@@ -4,17 +4,24 @@ module Expressir
|
|
4
4
|
class Aggregate < ModelElement
|
5
5
|
include Identifier
|
6
6
|
|
7
|
-
|
7
|
+
model_attr_accessor :base_type
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@id = options[:id]
|
11
11
|
@remarks = options.fetch(:remarks, [])
|
12
|
+
@remark_items = options.fetch(:remark_items, [])
|
12
13
|
@source = options[:source]
|
13
14
|
|
14
15
|
@base_type = options[:base_type]
|
15
16
|
|
16
17
|
super
|
17
18
|
end
|
19
|
+
|
20
|
+
def children
|
21
|
+
[
|
22
|
+
*remark_items
|
23
|
+
]
|
24
|
+
end
|
18
25
|
end
|
19
26
|
end
|
20
27
|
end
|
@@ -2,11 +2,11 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class Array < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
model_attr_accessor :bound1
|
6
|
+
model_attr_accessor :bound2
|
7
|
+
model_attr_accessor :optional
|
8
|
+
model_attr_accessor :unique
|
9
|
+
model_attr_accessor :base_type
|
10
10
|
|
11
11
|
def initialize(options = {})
|
12
12
|
@bound1 = options[:bound1]
|
@@ -2,9 +2,9 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class Bag < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
model_attr_accessor :bound1
|
6
|
+
model_attr_accessor :bound2
|
7
|
+
model_attr_accessor :base_type
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@bound1 = options[:bound1]
|
@@ -2,10 +2,10 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class Enumeration < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
model_attr_accessor :extensible
|
6
|
+
model_attr_accessor :items
|
7
|
+
model_attr_accessor :extension_type
|
8
|
+
model_attr_accessor :extension_items
|
9
9
|
|
10
10
|
def initialize(options = {})
|
11
11
|
@extensible = options[:extensible]
|
@@ -7,10 +7,17 @@ module Expressir
|
|
7
7
|
def initialize(options = {})
|
8
8
|
@id = options[:id]
|
9
9
|
@remarks = options.fetch(:remarks, [])
|
10
|
+
@remark_items = options.fetch(:remark_items, [])
|
10
11
|
@source = options[:source]
|
11
12
|
|
12
13
|
super
|
13
14
|
end
|
15
|
+
|
16
|
+
def children
|
17
|
+
[
|
18
|
+
*remark_items
|
19
|
+
]
|
20
|
+
end
|
14
21
|
end
|
15
22
|
end
|
16
23
|
end
|
@@ -7,11 +7,18 @@ module Expressir
|
|
7
7
|
def initialize(options = {})
|
8
8
|
@id = options[:id]
|
9
9
|
@remarks = options.fetch(:remarks, [])
|
10
|
+
@remark_items = options.fetch(:remark_items, [])
|
10
11
|
@source = options[:source]
|
11
12
|
|
12
13
|
super
|
13
14
|
end
|
14
15
|
end
|
16
|
+
|
17
|
+
def children
|
18
|
+
[
|
19
|
+
*remark_items
|
20
|
+
]
|
21
|
+
end
|
15
22
|
end
|
16
23
|
end
|
17
24
|
end
|
@@ -2,10 +2,10 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class List < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
model_attr_accessor :bound1
|
6
|
+
model_attr_accessor :bound2
|
7
|
+
model_attr_accessor :unique
|
8
|
+
model_attr_accessor :base_type
|
9
9
|
|
10
10
|
def initialize(options = {})
|
11
11
|
@bound1 = options[:bound1]
|
@@ -2,11 +2,11 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class Select < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
model_attr_accessor :extensible
|
6
|
+
model_attr_accessor :generic_entity
|
7
|
+
model_attr_accessor :items
|
8
|
+
model_attr_accessor :extension_type
|
9
|
+
model_attr_accessor :extension_items
|
10
10
|
|
11
11
|
def initialize(options = {})
|
12
12
|
@extensible = options[:extensible]
|
@@ -2,9 +2,9 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Types
|
4
4
|
class Set < ModelElement
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
model_attr_accessor :bound1
|
6
|
+
model_attr_accessor :bound2
|
7
|
+
model_attr_accessor :base_type
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@bound1 = options[:bound1]
|
@@ -3,17 +3,24 @@ module Expressir
|
|
3
3
|
class Unique < ModelElement
|
4
4
|
include Identifier
|
5
5
|
|
6
|
-
|
6
|
+
model_attr_accessor :attributes
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
9
|
@id = options[:id]
|
10
10
|
@remarks = options.fetch(:remarks, [])
|
11
|
+
@remark_items = options.fetch(:remark_items, [])
|
11
12
|
@source = options[:source]
|
12
13
|
|
13
14
|
@attributes = options.fetch(:attributes, [])
|
14
15
|
|
15
16
|
super
|
16
17
|
end
|
18
|
+
|
19
|
+
def children
|
20
|
+
[
|
21
|
+
*remark_items
|
22
|
+
]
|
23
|
+
end
|
17
24
|
end
|
18
25
|
end
|
19
26
|
end
|
@@ -3,12 +3,13 @@ module Expressir
|
|
3
3
|
class Variable < ModelElement
|
4
4
|
include Identifier
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
model_attr_accessor :type
|
7
|
+
model_attr_accessor :expression
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
10
|
@id = options[:id]
|
11
11
|
@remarks = options.fetch(:remarks, [])
|
12
|
+
@remark_items = options.fetch(:remark_items, [])
|
12
13
|
@source = options[:source]
|
13
14
|
|
14
15
|
@type = options[:type]
|
@@ -16,6 +17,12 @@ module Expressir
|
|
16
17
|
|
17
18
|
super
|
18
19
|
end
|
20
|
+
|
21
|
+
def children
|
22
|
+
[
|
23
|
+
*remark_items
|
24
|
+
]
|
25
|
+
end
|
19
26
|
end
|
20
27
|
end
|
21
28
|
end
|
@@ -3,17 +3,24 @@ module Expressir
|
|
3
3
|
class Where < ModelElement
|
4
4
|
include Identifier
|
5
5
|
|
6
|
-
|
6
|
+
model_attr_accessor :expression
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
9
|
@id = options[:id]
|
10
10
|
@remarks = options.fetch(:remarks, [])
|
11
|
+
@remark_items = options.fetch(:remark_items, [])
|
11
12
|
@source = options[:source]
|
12
13
|
|
13
14
|
@expression = options[:expression]
|
14
15
|
|
15
16
|
super
|
16
17
|
end
|
18
|
+
|
19
|
+
def children
|
20
|
+
[
|
21
|
+
*remark_items
|
22
|
+
]
|
23
|
+
end
|
17
24
|
end
|
18
25
|
end
|
19
26
|
end
|