expressir 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/demo.rb +3 -1
- data/expressir.gemspec +1 -1
- data/lib/expressir/express.rb +0 -1
- data/lib/expressir/express_exp/generated/ExpressLexer.rb +235 -232
- data/lib/expressir/express_exp/generated/ExpressParser.rb +1461 -1435
- data/lib/expressir/express_exp/parser.rb +8 -3
- data/lib/expressir/express_exp/visitor.rb +167 -136
- data/lib/expressir/model.rb +91 -0
- data/lib/expressir/model/constant.rb +2 -0
- data/lib/expressir/model/derived.rb +4 -0
- data/lib/expressir/model/entity.rb +12 -0
- data/lib/expressir/model/enumeration_item.rb +13 -0
- data/lib/expressir/model/explicit.rb +4 -0
- data/lib/expressir/model/expressions/aggregate_initializer.rb +13 -0
- data/lib/expressir/model/expressions/query.rb +8 -0
- data/lib/expressir/model/function.rb +31 -0
- data/lib/expressir/model/inverse.rb +4 -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 +13 -0
- data/lib/expressir/model/literals/real.rb +13 -0
- data/lib/expressir/model/literals/string.rb +15 -0
- data/lib/expressir/model/local.rb +2 -0
- data/lib/expressir/model/parameter.rb +2 -0
- data/lib/expressir/model/procedure.rb +31 -0
- data/lib/expressir/model/repository.rb +6 -0
- data/lib/expressir/model/rule.rb +31 -0
- data/lib/expressir/model/schema.rb +10 -0
- data/lib/expressir/model/statements/alias.rb +8 -0
- data/lib/expressir/model/statements/case_action.rb +2 -2
- data/lib/expressir/model/statements/if.rb +2 -2
- data/lib/expressir/model/statements/repeat.rb +10 -2
- data/lib/expressir/model/subtype_constraint.rb +2 -0
- data/lib/expressir/model/type.rb +8 -0
- data/lib/expressir/model/types/aggregate.rb +2 -0
- data/lib/expressir/model/types/enumeration.rb +4 -4
- data/lib/expressir/model/types/generic.rb +2 -0
- data/lib/expressir/model/types/generic_entity.rb +2 -0
- data/lib/expressir/model/types/select.rb +4 -4
- data/lib/expressir/model/unique.rb +2 -0
- data/lib/expressir/model/where.rb +2 -0
- data/lib/expressir/version.rb +1 -1
- data/original/examples/syntax/remark.exp +127 -0
- data/original/examples/syntax/syntax.exp +15 -10
- data/spec/expressir/express_exp/remark_spec.rb +301 -0
- data/spec/expressir/express_exp/syntax_spec.rb +659 -307
- metadata +15 -6
- data/lib/expressir/model/expressions/unknown.rb +0 -8
data/lib/expressir/model/rule.rb
CHANGED
@@ -8,6 +8,7 @@ module Expressir
|
|
8
8
|
attr_accessor :locals
|
9
9
|
attr_accessor :where
|
10
10
|
attr_accessor :statements
|
11
|
+
attr_accessor :remarks
|
11
12
|
|
12
13
|
def initialize(options = {})
|
13
14
|
@id = options[:id]
|
@@ -17,6 +18,36 @@ module Expressir
|
|
17
18
|
@locals = options[:locals]
|
18
19
|
@where = options[:where]
|
19
20
|
@statements = options[:statements]
|
21
|
+
@remarks = options[:remarks]
|
22
|
+
end
|
23
|
+
|
24
|
+
def types
|
25
|
+
@declarations.select{|x| x.instance_of? Expressir::Model::Type}
|
26
|
+
end
|
27
|
+
|
28
|
+
def entities
|
29
|
+
@declarations.select{|x| x.instance_of? Expressir::Model::Entity}
|
30
|
+
end
|
31
|
+
|
32
|
+
def subtype_constraints
|
33
|
+
@declarations.select{|x| x.instance_of? Expressir::Model::SubtypeConstraint}
|
34
|
+
end
|
35
|
+
|
36
|
+
def functions
|
37
|
+
@declarations.select{|x| x.instance_of? Expressir::Model::Function}
|
38
|
+
end
|
39
|
+
|
40
|
+
def procedures
|
41
|
+
@declarations.select{|x| x.instance_of? Expressir::Model::Procedure}
|
42
|
+
end
|
43
|
+
|
44
|
+
def scope_items
|
45
|
+
items = []
|
46
|
+
items.push(*@declarations) if @declarations
|
47
|
+
items.push(*@constants) if @constants
|
48
|
+
items.push(*@locals) if @locals
|
49
|
+
items.push(*@where) if @where
|
50
|
+
items
|
20
51
|
end
|
21
52
|
end
|
22
53
|
end
|
@@ -7,6 +7,7 @@ module Expressir
|
|
7
7
|
attr_accessor :constants
|
8
8
|
attr_accessor :declarations
|
9
9
|
attr_accessor :rules
|
10
|
+
attr_accessor :remarks
|
10
11
|
|
11
12
|
def initialize(options = {})
|
12
13
|
@id = options[:id]
|
@@ -15,6 +16,7 @@ module Expressir
|
|
15
16
|
@constants = options[:constants]
|
16
17
|
@declarations = options[:declarations]
|
17
18
|
@rules = options[:rules]
|
19
|
+
@remarks = options[:remarks]
|
18
20
|
end
|
19
21
|
|
20
22
|
def types
|
@@ -36,6 +38,14 @@ module Expressir
|
|
36
38
|
def procedures
|
37
39
|
@declarations.select{|x| x.instance_of? Expressir::Model::Procedure}
|
38
40
|
end
|
41
|
+
|
42
|
+
def scope_items
|
43
|
+
items = []
|
44
|
+
items.push(*@constants) if @constants
|
45
|
+
items.push(*@declarations) if @declarations
|
46
|
+
items.push(*@rules) if @rules
|
47
|
+
items
|
48
|
+
end
|
39
49
|
end
|
40
50
|
end
|
41
51
|
end
|
@@ -5,11 +5,19 @@ module Expressir
|
|
5
5
|
attr_accessor :id
|
6
6
|
attr_accessor :expression
|
7
7
|
attr_accessor :statements
|
8
|
+
attr_accessor :remarks
|
8
9
|
|
9
10
|
def initialize(options = {})
|
10
11
|
@id = options[:id]
|
11
12
|
@expression = options[:expression]
|
12
13
|
@statements = options[:statements]
|
14
|
+
@remarks = options[:remarks]
|
15
|
+
end
|
16
|
+
|
17
|
+
def scope_items
|
18
|
+
items = []
|
19
|
+
items.push(self)
|
20
|
+
items
|
13
21
|
end
|
14
22
|
end
|
15
23
|
end
|
@@ -2,11 +2,11 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class CaseAction
|
5
|
-
attr_accessor :
|
5
|
+
attr_accessor :expression
|
6
6
|
attr_accessor :statement
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
|
-
@
|
9
|
+
@expression = options[:expression]
|
10
10
|
@statement = options[:statement]
|
11
11
|
end
|
12
12
|
end
|
@@ -2,12 +2,12 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class If
|
5
|
-
attr_accessor :
|
5
|
+
attr_accessor :expression
|
6
6
|
attr_accessor :statements
|
7
7
|
attr_accessor :else_statements
|
8
8
|
|
9
9
|
def initialize(options = {})
|
10
|
-
@
|
10
|
+
@expression = options[:expression]
|
11
11
|
@statements = options[:statements]
|
12
12
|
@else_statements = options[:else_statements]
|
13
13
|
end
|
@@ -2,22 +2,30 @@ module Expressir
|
|
2
2
|
module Model
|
3
3
|
module Statements
|
4
4
|
class Repeat
|
5
|
-
attr_accessor :
|
5
|
+
attr_accessor :id
|
6
6
|
attr_accessor :bound1
|
7
7
|
attr_accessor :bound2
|
8
8
|
attr_accessor :increment
|
9
9
|
attr_accessor :while_expression
|
10
10
|
attr_accessor :until_expression
|
11
11
|
attr_accessor :statements
|
12
|
+
attr_accessor :remarks
|
12
13
|
|
13
14
|
def initialize(options = {})
|
14
|
-
@
|
15
|
+
@id = options[:id]
|
15
16
|
@bound1 = options[:bound1]
|
16
17
|
@bound2 = options[:bound2]
|
17
18
|
@increment = options[:increment]
|
18
19
|
@while_expression = options[:while_expression]
|
19
20
|
@until_expression = options[:until_expression]
|
20
21
|
@statements = options[:statements]
|
22
|
+
@remarks = options[:remarks]
|
23
|
+
end
|
24
|
+
|
25
|
+
def scope_items
|
26
|
+
items = []
|
27
|
+
items.push(self)
|
28
|
+
items
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
@@ -6,6 +6,7 @@ module Expressir
|
|
6
6
|
attr_accessor :abstract_supertype
|
7
7
|
attr_accessor :total_over
|
8
8
|
attr_accessor :subtype_expression
|
9
|
+
attr_accessor :remarks
|
9
10
|
|
10
11
|
def initialize(options = {})
|
11
12
|
@id = options[:id]
|
@@ -13,6 +14,7 @@ module Expressir
|
|
13
14
|
@abstract_supertype = options[:abstract_supertype]
|
14
15
|
@total_over = options[:total_over]
|
15
16
|
@subtype_expression = options[:subtype_expression]
|
17
|
+
@remarks = options[:remarks]
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
data/lib/expressir/model/type.rb
CHANGED
@@ -4,11 +4,19 @@ module Expressir
|
|
4
4
|
attr_accessor :id
|
5
5
|
attr_accessor :type
|
6
6
|
attr_accessor :where
|
7
|
+
attr_accessor :remarks
|
7
8
|
|
8
9
|
def initialize(options = {})
|
9
10
|
@id = options[:id]
|
10
11
|
@type = options[:type]
|
11
12
|
@where = options[:where]
|
13
|
+
@remarks = options[:remarks]
|
14
|
+
end
|
15
|
+
|
16
|
+
def scope_items
|
17
|
+
items = []
|
18
|
+
items.push(*@where) if @where
|
19
|
+
items
|
12
20
|
end
|
13
21
|
end
|
14
22
|
end
|
@@ -4,10 +4,12 @@ module Expressir
|
|
4
4
|
class Aggregate
|
5
5
|
attr_accessor :label
|
6
6
|
attr_accessor :base_type
|
7
|
+
attr_accessor :remarks
|
7
8
|
|
8
9
|
def initialize(options = {})
|
9
10
|
@label = options[:label]
|
10
11
|
@base_type = options[:base_type]
|
12
|
+
@remarks = options[:remarks]
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
@@ -3,15 +3,15 @@ module Expressir
|
|
3
3
|
module Types
|
4
4
|
class Enumeration
|
5
5
|
attr_accessor :extensible
|
6
|
-
attr_accessor :
|
6
|
+
attr_accessor :items
|
7
7
|
attr_accessor :extension_type
|
8
|
-
attr_accessor :
|
8
|
+
attr_accessor :extension_items
|
9
9
|
|
10
10
|
def initialize(options = {})
|
11
11
|
@extensible = options[:extensible]
|
12
|
-
@
|
12
|
+
@items = options[:items]
|
13
13
|
@extension_type = options[:extension_type]
|
14
|
-
@
|
14
|
+
@extension_items = options[:extension_items]
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -4,16 +4,16 @@ module Expressir
|
|
4
4
|
class Select
|
5
5
|
attr_accessor :extensible
|
6
6
|
attr_accessor :generic_entity
|
7
|
-
attr_accessor :
|
7
|
+
attr_accessor :items
|
8
8
|
attr_accessor :extension_type
|
9
|
-
attr_accessor :
|
9
|
+
attr_accessor :extension_items
|
10
10
|
|
11
11
|
def initialize(options = {})
|
12
12
|
@extensible = options[:extensible]
|
13
13
|
@generic_entity = options[:generic_entity]
|
14
|
-
@
|
14
|
+
@items = options[:items]
|
15
15
|
@extension_type = options[:extension_type]
|
16
|
-
@
|
16
|
+
@extension_items = options[:extension_items]
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
data/lib/expressir/version.rb
CHANGED
@@ -0,0 +1,127 @@
|
|
1
|
+
--"remarkSchema" universal scope - schema before
|
2
|
+
|
3
|
+
SCHEMA remarkSchema;
|
4
|
+
|
5
|
+
CONSTANT remarkConstant : STRING := 'xxx'; END_CONSTANT;
|
6
|
+
TYPE remarkType = STRING; END_TYPE;
|
7
|
+
ENTITY remarkEntity;
|
8
|
+
remarkExplicit : STRING;
|
9
|
+
DERIVE remarkDerived : STRING := 'xxx';
|
10
|
+
INVERSE remarkInverse : remarkEntity FOR remarkExplicit;
|
11
|
+
UNIQUE remarkUnique : remarkExplicit;
|
12
|
+
WHERE remarkWhere : TRUE;
|
13
|
+
--"remarkExplicit" entity scope - entity explicit
|
14
|
+
--"remarkDerived" entity scope - entity derived
|
15
|
+
--"remarkInverse" entity scope - entity inverse
|
16
|
+
--"remarkUnique" entity scope - entity unique
|
17
|
+
--"remarkWhere" entity scope - entity where
|
18
|
+
END_ENTITY;
|
19
|
+
SUBTYPE_CONSTRAINT remarkSubtypeConstraint FOR remarkEntity; END_SUBTYPE_CONSTRAINT;
|
20
|
+
FUNCTION remarkFunction (remarkParameter : STRING) : BOOLEAN;
|
21
|
+
TYPE remarkType = STRING; END_TYPE;
|
22
|
+
CONSTANT remarkConstant : STRING := 'xxx'; END_CONSTANT;
|
23
|
+
LOCAL remarkLocal : STRING; END_LOCAL;
|
24
|
+
ALIAS remarkAlias FOR remarkLocal; ;
|
25
|
+
--"remarkAlias" function alias scope - function alias
|
26
|
+
END_ALIAS;
|
27
|
+
REPEAT remarkRepeat := 1 TO 9; ;
|
28
|
+
--"remarkRepeat" function repeat scope - function repeat
|
29
|
+
END_REPEAT;
|
30
|
+
remarkLocal := QUERY(remarkQuery <* remarkLocal | TRUE
|
31
|
+
--"remarkQuery" function query scope - function query
|
32
|
+
);
|
33
|
+
--"remarkParameter" function scope - function parameter
|
34
|
+
--"remarkType" function scope - function type
|
35
|
+
--"remarkConstant" function scope - function constant
|
36
|
+
--"remarkLocal" function scope - function local
|
37
|
+
END_FUNCTION;
|
38
|
+
PROCEDURE remarkProcedure (remarkParameter : STRING);
|
39
|
+
TYPE remarkType = STRING; END_TYPE;
|
40
|
+
CONSTANT remarkConstant : STRING := 'xxx'; END_CONSTANT;
|
41
|
+
LOCAL remarkLocal : STRING; END_LOCAL;
|
42
|
+
ALIAS remarkAlias FOR remarkLocal; ;
|
43
|
+
--"remarkAlias" procedure alias scope - procedure alias
|
44
|
+
END_ALIAS;
|
45
|
+
REPEAT remarkRepeat := 1 TO 9; ;
|
46
|
+
--"remarkRepeat" procedure repeat scope - procedure repeat
|
47
|
+
END_REPEAT;
|
48
|
+
remarkLocal := QUERY(remarkQuery <* remarkLocal | TRUE
|
49
|
+
--"remarkQuery" procedure query scope - procedure query
|
50
|
+
);
|
51
|
+
--"remarkParameter" procedure scope - procedure parameter
|
52
|
+
--"remarkType" procedure scope - procedure type
|
53
|
+
--"remarkConstant" procedure scope - procedure constant
|
54
|
+
--"remarkLocal" procedure scope - procedure local
|
55
|
+
END_PROCEDURE;
|
56
|
+
RULE remarkRule FOR (remarkEntity);
|
57
|
+
TYPE remarkType = STRING; END_TYPE;
|
58
|
+
CONSTANT remarkConstant : STRING := 'xxx'; END_CONSTANT;
|
59
|
+
LOCAL remarkLocal : STRING; END_LOCAL;
|
60
|
+
ALIAS remarkAlias FOR remarkLocal; ;
|
61
|
+
--"remarkAlias" rule alias scope - rule alias
|
62
|
+
END_ALIAS;
|
63
|
+
REPEAT remarkRepeat := 1 TO 9; ;
|
64
|
+
--"remarkRepeat" rule repeat scope - rule repeat
|
65
|
+
END_REPEAT;
|
66
|
+
remarkLocal := QUERY(remarkQuery <* remarkLocal | TRUE
|
67
|
+
--"remarkQuery" rule query scope - rule query
|
68
|
+
);
|
69
|
+
WHERE remarkWhere : TRUE;
|
70
|
+
--"remarkType" rule scope - rule type
|
71
|
+
--"remarkConstant" rule scope - rule constant
|
72
|
+
--"remarkLocal" rule scope - rule local
|
73
|
+
--"remarkWhere" rule scope - rule where
|
74
|
+
END_RULE;
|
75
|
+
|
76
|
+
--"remarkConstant" schema scope - constant
|
77
|
+
--"remarkType" schema scope - type
|
78
|
+
--"remarkEntity" schema scope - entity
|
79
|
+
--"remarkEntity.remarkExplicit" schema scope - entity explicit
|
80
|
+
--"remarkEntity.remarkDerived" schema scope - entity derived
|
81
|
+
--"remarkEntity.remarkInverse" schema scope - entity inverse
|
82
|
+
--"remarkEntity.remarkUnique" schema scope - entity unique
|
83
|
+
--"remarkEntity.remarkWhere" schema scope - entity where
|
84
|
+
--"remarkSubtypeConstraint" schema scope - subtype constraint
|
85
|
+
--"remarkFunction" schema scope - function
|
86
|
+
--"remarkFunction.remarkParameter" schema scope - function parameter
|
87
|
+
--"remarkFunction.remarkType" schema scope - function type
|
88
|
+
--"remarkFunction.remarkConstant" schema scope - function constant
|
89
|
+
--"remarkFunction.remarkLocal" schema scope - function local
|
90
|
+
--"remarkProcedure" schema scope - procedure
|
91
|
+
--"remarkProcedure.remarkParameter" schema scope - procedure parameter
|
92
|
+
--"remarkProcedure.remarkType" schema scope - procedure type
|
93
|
+
--"remarkProcedure.remarkConstant" schema scope - procedure constant
|
94
|
+
--"remarkProcedure.remarkLocal" schema scope - procedure local
|
95
|
+
--"remarkRule" schema scope - rule
|
96
|
+
--"remarkRule.remarkType" schema scope - rule type
|
97
|
+
--"remarkRule.remarkConstant" schema scope - rule constant
|
98
|
+
--"remarkRule.remarkLocal" schema scope - rule local
|
99
|
+
--"remarkRule.remarkWhere" schema scope - rule where
|
100
|
+
|
101
|
+
END_SCHEMA;
|
102
|
+
|
103
|
+
--"remarkSchema" universal scope - schema
|
104
|
+
--"remarkSchema.remarkConstant" universal scope - constant
|
105
|
+
--"remarkSchema.remarkType" universal scope - type
|
106
|
+
--"remarkSchema.remarkEntity" universal scope - entity
|
107
|
+
--"remarkSchema.remarkEntity.remarkExplicit" universal scope - entity explicit
|
108
|
+
--"remarkSchema.remarkEntity.remarkDerived" universal scope - entity derived
|
109
|
+
--"remarkSchema.remarkEntity.remarkInverse" universal scope - entity inverse
|
110
|
+
--"remarkSchema.remarkEntity.remarkUnique" universal scope - entity unique
|
111
|
+
--"remarkSchema.remarkEntity.remarkWhere" universal scope - entity where
|
112
|
+
--"remarkSchema.remarkSubtypeConstraint" universal scope - subtype constraint
|
113
|
+
--"remarkSchema.remarkFunction" universal scope - function
|
114
|
+
--"remarkSchema.remarkFunction.remarkParameter" universal scope - function parameter
|
115
|
+
--"remarkSchema.remarkFunction.remarkType" universal scope - function type
|
116
|
+
--"remarkSchema.remarkFunction.remarkConstant" universal scope - function constant
|
117
|
+
--"remarkSchema.remarkFunction.remarkLocal" universal scope - function local
|
118
|
+
--"remarkSchema.remarkProcedure" universal scope - procedure
|
119
|
+
--"remarkSchema.remarkProcedure.remarkParameter" universal scope - procedure parameter
|
120
|
+
--"remarkSchema.remarkProcedure.remarkType" universal scope - procedure type
|
121
|
+
--"remarkSchema.remarkProcedure.remarkConstant" universal scope - procedure constant
|
122
|
+
--"remarkSchema.remarkProcedure.remarkLocal" universal scope - procedure local
|
123
|
+
--"remarkSchema.remarkRule" universal scope - rule
|
124
|
+
--"remarkSchema.remarkRule.remarkType" universal scope - rule type
|
125
|
+
--"remarkSchema.remarkRule.remarkConstant" universal scope - rule constant
|
126
|
+
--"remarkSchema.remarkRule.remarkLocal" universal scope - rule local
|
127
|
+
--"remarkSchema.remarkRule.remarkWhere" universal scope - rule where
|
@@ -12,12 +12,12 @@ CONSTANT
|
|
12
12
|
-- literals
|
13
13
|
binaryExpression : STRING := %011110000111100001111000;
|
14
14
|
integerExpression : STRING := 999;
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
trueLogicalExpression : STRING := TRUE;
|
16
|
+
falseLogicalExpression : STRING := FALSE;
|
17
|
+
unknownLogicalExpression : STRING := UNKNOWN;
|
18
18
|
realExpression : STRING := 999.999;
|
19
|
-
|
20
|
-
|
19
|
+
simpleStringExpression : STRING := 'xxx';
|
20
|
+
encodedStringExpression : STRING := "000000780000007800000078";
|
21
21
|
|
22
22
|
-- constants
|
23
23
|
constEExpression : STRING := CONST_E;
|
@@ -93,10 +93,10 @@ CONSTANT
|
|
93
93
|
likeExpression : STRING := 'xxx' LIKE 'xxx';
|
94
94
|
|
95
95
|
-- aggregate initializers
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
96
|
+
aggregateInitializerExpression : STRING := ['xxx'];
|
97
|
+
repeatedAggregateInitializerExpression : STRING := ['xxx' : 2];
|
98
|
+
complexAggregateInitializerExpression : STRING := [4 + 2];
|
99
|
+
complexRepeatedAggregateInitializerExpression : STRING := [4 + 2 : 4 + 2];
|
100
100
|
|
101
101
|
-- entity constructors
|
102
102
|
entityConstructorExpression : STRING := explicitAttributeEntity(TRUE);
|
@@ -175,14 +175,19 @@ ENTITY explicitAttributeEntity; test : BOOLEAN; END_ENTITY;
|
|
175
175
|
ENTITY explicitAttributeOptionalEntity; test : OPTIONAL BOOLEAN; END_ENTITY;
|
176
176
|
ENTITY explicitAttributeMultipleEntity; test : BOOLEAN; test2 : BOOLEAN; END_ENTITY;
|
177
177
|
ENTITY explicitAttributeMultipleShorthandEntity; test, test2 : BOOLEAN; END_ENTITY;
|
178
|
-
ENTITY
|
178
|
+
ENTITY explicitAttributeRedeclaredEntity; SELF\explicitAttributeEntity.test: BOOLEAN; END_ENTITY;
|
179
|
+
ENTITY explicitAttributeRedeclaredRenamedEntity; SELF\explicitAttributeEntity.test RENAMED test2: BOOLEAN; END_ENTITY;
|
179
180
|
ENTITY derivedAttributeEntity; DERIVE test : BOOLEAN := TRUE; END_ENTITY;
|
181
|
+
ENTITY derivedAttributeRedeclaredEntity; DERIVE SELF\explicitAttributeEntity.test : BOOLEAN := TRUE; END_ENTITY;
|
182
|
+
ENTITY derivedAttributeRedeclaredRenamedEntity; DERIVE SELF\explicitAttributeEntity.test RENAMED test2 : BOOLEAN := TRUE; END_ENTITY;
|
180
183
|
ENTITY inverseAttributeEntity; INVERSE test : explicitAttributeEntity FOR test; END_ENTITY;
|
181
184
|
ENTITY inverseAttributeEntityEntity; INVERSE test : explicitAttributeEntity FOR explicitAttributeEntity.test; END_ENTITY;
|
182
185
|
ENTITY inverseAttributeSetEntity; INVERSE test : SET OF explicitAttributeEntity FOR test; END_ENTITY;
|
183
186
|
ENTITY inverseAttributeSetBoundEntity; INVERSE test : SET [1:9] OF explicitAttributeEntity FOR test; END_ENTITY;
|
184
187
|
ENTITY inverseAttributeBagEntity; INVERSE test : BAG OF explicitAttributeEntity FOR test; END_ENTITY;
|
185
188
|
ENTITY inverseAttributeBagBoundEntity; INVERSE test : BAG [1:9] OF explicitAttributeEntity FOR test; END_ENTITY;
|
189
|
+
ENTITY inverseAttributeRedeclaredEntity; INVERSE SELF\explicitAttributeEntity.test : explicitAttributeEntity FOR test; END_ENTITY;
|
190
|
+
ENTITY inverseAttributeRedeclaredRenamedEntity; INVERSE SELF\explicitAttributeEntity.test RENAMED test2 : explicitAttributeEntity FOR test; END_ENTITY;
|
186
191
|
ENTITY uniqueEntity; UNIQUE test; END_ENTITY;
|
187
192
|
ENTITY uniqueLabelEntity; UNIQUE UR1: test; END_ENTITY;
|
188
193
|
ENTITY uniqueQualifiedEntity; UNIQUE SELF\explicitAttributeEntity.test; END_ENTITY;
|