expressir 0.2.16-arm64-darwin → 0.2.17-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/exe/format +51 -13
  3. data/lib/expressir/express_exp/2.4/express_parser.bundle +0 -0
  4. data/lib/expressir/express_exp/2.5/express_parser.bundle +0 -0
  5. data/lib/expressir/express_exp/2.6/express_parser.bundle +0 -0
  6. data/lib/expressir/express_exp/2.7/express_parser.bundle +0 -0
  7. data/lib/expressir/express_exp/formatter.rb +185 -135
  8. data/lib/expressir/express_exp/parser.rb +29 -29
  9. data/lib/expressir/express_exp/schema_head_formatter.rb +1 -4
  10. data/lib/expressir/express_exp/visitor.rb +11 -6
  11. data/lib/expressir/model/entity.rb +6 -6
  12. data/lib/expressir/model/expressions/query_expression.rb +3 -3
  13. data/lib/expressir/model/function.rb +15 -11
  14. data/lib/expressir/model/informal_proposition.rb +4 -1
  15. data/lib/expressir/model/interfaced_item.rb +4 -1
  16. data/lib/expressir/model/model_element.rb +20 -7
  17. data/lib/expressir/model/procedure.rb +15 -11
  18. data/lib/expressir/model/repository.rb +3 -3
  19. data/lib/expressir/model/rule.rb +16 -12
  20. data/lib/expressir/model/schema.rb +52 -45
  21. data/lib/expressir/model/statements/alias.rb +3 -3
  22. data/lib/expressir/model/statements/repeat.rb +3 -3
  23. data/lib/expressir/model/subtype_constraint.rb +1 -6
  24. data/lib/expressir/model/type.rb +9 -5
  25. data/lib/expressir/version.rb +1 -1
  26. data/original/examples/syntax/{hyperlink.exp → multiple.exp} +8 -8
  27. data/original/examples/syntax/multiple.yaml +180 -0
  28. data/original/examples/syntax/multiple_formatted.exp +71 -0
  29. data/original/examples/syntax/multiple_hyperlink_formatted.exp +71 -0
  30. data/original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp +13 -0
  31. data/original/examples/syntax/remark.exp +41 -41
  32. data/original/examples/syntax/remark.yaml +445 -0
  33. data/original/examples/syntax/remark_formatted.exp +62 -50
  34. data/original/examples/syntax/{simple.exp → single.exp} +1 -1
  35. data/original/examples/syntax/single.yaml +8 -0
  36. data/original/examples/syntax/single_formatted.exp +6 -0
  37. data/original/examples/syntax/single_formatted.yaml +18 -0
  38. data/original/examples/syntax/syntax.exp +29 -19
  39. data/original/examples/syntax/syntax.yaml +3438 -0
  40. data/original/examples/syntax/syntax_formatted.exp +271 -131
  41. data/original/examples/syntax/syntax_schema_head_formatted.exp +18 -0
  42. data/spec/expressir/express_exp/formatter_spec.rb +110 -0
  43. data/spec/expressir/express_exp/parser_spec.rb +98 -0
  44. data/spec/expressir/model/{model_element/find_spec.rb → model_element_spec.rb} +93 -10
  45. metadata +17 -16
  46. data/original/examples/syntax/hyperlink_formatted.exp +0 -51
  47. data/original/examples/syntax/source.exp +0 -16
  48. data/spec/expressir/express_exp/formatter/remark_spec.rb +0 -28
  49. data/spec/expressir/express_exp/formatter/syntax_spec.rb +0 -28
  50. data/spec/expressir/express_exp/hyperlink_formatter_spec.rb +0 -28
  51. data/spec/expressir/express_exp/parser/multiple_spec.rb +0 -37
  52. data/spec/expressir/express_exp/parser/remark_spec.rb +0 -411
  53. data/spec/expressir/express_exp/parser/source_spec.rb +0 -29
  54. data/spec/expressir/express_exp/parser/syntax_spec.rb +0 -3086
  55. data/spec/expressir/express_exp/schema_head_formatter_spec.rb +0 -40
  56. data/spec/expressir/model/model_element/hash_spec.rb +0 -66
@@ -19,9 +19,9 @@ module Expressir
19
19
  end
20
20
 
21
21
  def children
22
- items = []
23
- items.push(self)
24
- items
22
+ [
23
+ self
24
+ ]
25
25
  end
26
26
  end
27
27
  end
@@ -27,9 +27,9 @@ module Expressir
27
27
  end
28
28
 
29
29
  def children
30
- items = []
31
- items.push(self)
32
- items
30
+ [
31
+ self
32
+ ]
33
33
  end
34
34
  end
35
35
  end
@@ -15,16 +15,11 @@ module Expressir
15
15
 
16
16
  @applies_to = options[:applies_to]
17
17
  @abstract = options[:abstract]
18
- @total_over = options[:total_over]
18
+ @total_over = options.fetch(:total_over, [])
19
19
  @supertype_expression = options[:supertype_expression]
20
20
 
21
21
  super
22
22
  end
23
-
24
- def children
25
- items = []
26
- items
27
- end
28
23
  end
29
24
  end
30
25
  end
@@ -19,12 +19,16 @@ module Expressir
19
19
  super
20
20
  end
21
21
 
22
+ def enumeration_items
23
+ type.is_a?(Types::Enumeration) ? type.items : []
24
+ end
25
+
22
26
  def children
23
- items = []
24
- items.push(*@type.is_a?(Types::Enumeration) ? @type.items : [])
25
- items.push(*@where)
26
- items.push(*@informal_propositions)
27
- items
27
+ [
28
+ *enumeration_items,
29
+ *where,
30
+ *informal_propositions
31
+ ]
28
32
  end
29
33
  end
30
34
  end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.16".freeze
2
+ VERSION = "0.2.17".freeze
3
3
  end
@@ -1,7 +1,7 @@
1
- SCHEMA hyperlink_schema;
2
- REFERENCE FROM hyperlink_schema2;
3
- REFERENCE FROM hyperlink_schema3 (attribute_entity3);
4
- REFERENCE FROM hyperlink_schema4 (attribute_entity AS attribute_entity4);
1
+ SCHEMA multiple_schema1;
2
+ REFERENCE FROM multiple_schema2;
3
+ REFERENCE FROM multiple_schema3 (attribute_entity3);
4
+ REFERENCE FROM multiple_schema4 (attribute_entity AS attribute_entity4);
5
5
  ENTITY test; END_ENTITY;
6
6
  ENTITY empty_entity; END_ENTITY;
7
7
  ENTITY attribute_entity; test : BOOLEAN; END_ENTITY;
@@ -12,12 +12,12 @@ ENTITY subtype_attribute_entity3 SUBTYPE OF (attribute_entity3); SELF\attribute_
12
12
  ENTITY subtype_attribute_entity4 SUBTYPE OF (attribute_entity4); SELF\attribute_entity4.test : BOOLEAN; END_ENTITY;
13
13
  ENTITY subtype_missing_entity SUBTYPE OF (missing_entity); END_ENTITY;
14
14
  END_SCHEMA;
15
- SCHEMA hyperlink_schema2;
15
+ SCHEMA multiple_schema2;
16
16
  ENTITY attribute_entity2; test : BOOLEAN; END_ENTITY;
17
17
  END_SCHEMA;
18
- SCHEMA hyperlink_schema3;
18
+ SCHEMA multiple_schema3;
19
19
  ENTITY attribute_entity3; test : BOOLEAN; END_ENTITY;
20
20
  END_SCHEMA;
21
- SCHEMA hyperlink_schema4;
21
+ SCHEMA multiple_schema4;
22
22
  ENTITY attribute_entity; test : BOOLEAN; END_ENTITY;
23
- END_SCHEMA;
23
+ END_SCHEMA;
@@ -0,0 +1,180 @@
1
+ ---
2
+ _class: Expressir::Model::Repository
3
+ schemas:
4
+ - _class: Expressir::Model::Schema
5
+ id: multiple_schema1
6
+ interfaces:
7
+ - _class: Expressir::Model::Interface
8
+ kind: :REFERENCE
9
+ schema:
10
+ _class: Expressir::Model::Expressions::SimpleReference
11
+ id: multiple_schema2
12
+ - _class: Expressir::Model::Interface
13
+ kind: :REFERENCE
14
+ schema:
15
+ _class: Expressir::Model::Expressions::SimpleReference
16
+ id: multiple_schema3
17
+ items:
18
+ - _class: Expressir::Model::InterfaceItem
19
+ ref:
20
+ _class: Expressir::Model::Expressions::SimpleReference
21
+ id: attribute_entity3
22
+ - _class: Expressir::Model::Interface
23
+ kind: :REFERENCE
24
+ schema:
25
+ _class: Expressir::Model::Expressions::SimpleReference
26
+ id: multiple_schema4
27
+ items:
28
+ - _class: Expressir::Model::InterfaceItem
29
+ ref:
30
+ _class: Expressir::Model::Expressions::SimpleReference
31
+ id: attribute_entity
32
+ id: attribute_entity4
33
+ entities:
34
+ - _class: Expressir::Model::Entity
35
+ id: test
36
+ - _class: Expressir::Model::Entity
37
+ id: empty_entity
38
+ - _class: Expressir::Model::Entity
39
+ id: attribute_entity
40
+ attributes:
41
+ - _class: Expressir::Model::Attribute
42
+ id: test
43
+ kind: :EXPLICIT
44
+ type:
45
+ _class: Expressir::Model::Types::Boolean
46
+ - _class: Expressir::Model::Entity
47
+ id: subtype_empty_entity
48
+ subtype_of:
49
+ - _class: Expressir::Model::Expressions::SimpleReference
50
+ id: empty_entity
51
+ - _class: Expressir::Model::Entity
52
+ id: subtype_attribute_entity
53
+ subtype_of:
54
+ - _class: Expressir::Model::Expressions::SimpleReference
55
+ id: attribute_entity
56
+ attributes:
57
+ - _class: Expressir::Model::Attribute
58
+ kind: :EXPLICIT
59
+ supertype_attribute:
60
+ _class: Expressir::Model::Expressions::AttributeReference
61
+ ref:
62
+ _class: Expressir::Model::Expressions::GroupReference
63
+ ref:
64
+ _class: Expressir::Model::Expressions::SimpleReference
65
+ id: SELF
66
+ entity:
67
+ _class: Expressir::Model::Expressions::SimpleReference
68
+ id: attribute_entity
69
+ attribute:
70
+ _class: Expressir::Model::Expressions::SimpleReference
71
+ id: test
72
+ type:
73
+ _class: Expressir::Model::Types::Boolean
74
+ - _class: Expressir::Model::Entity
75
+ id: subtype_attribute_entity2
76
+ subtype_of:
77
+ - _class: Expressir::Model::Expressions::SimpleReference
78
+ id: attribute_entity2
79
+ attributes:
80
+ - _class: Expressir::Model::Attribute
81
+ kind: :EXPLICIT
82
+ supertype_attribute:
83
+ _class: Expressir::Model::Expressions::AttributeReference
84
+ ref:
85
+ _class: Expressir::Model::Expressions::GroupReference
86
+ ref:
87
+ _class: Expressir::Model::Expressions::SimpleReference
88
+ id: SELF
89
+ entity:
90
+ _class: Expressir::Model::Expressions::SimpleReference
91
+ id: attribute_entity2
92
+ attribute:
93
+ _class: Expressir::Model::Expressions::SimpleReference
94
+ id: test
95
+ type:
96
+ _class: Expressir::Model::Types::Boolean
97
+ - _class: Expressir::Model::Entity
98
+ id: subtype_attribute_entity3
99
+ subtype_of:
100
+ - _class: Expressir::Model::Expressions::SimpleReference
101
+ id: attribute_entity3
102
+ attributes:
103
+ - _class: Expressir::Model::Attribute
104
+ kind: :EXPLICIT
105
+ supertype_attribute:
106
+ _class: Expressir::Model::Expressions::AttributeReference
107
+ ref:
108
+ _class: Expressir::Model::Expressions::GroupReference
109
+ ref:
110
+ _class: Expressir::Model::Expressions::SimpleReference
111
+ id: SELF
112
+ entity:
113
+ _class: Expressir::Model::Expressions::SimpleReference
114
+ id: attribute_entity3
115
+ attribute:
116
+ _class: Expressir::Model::Expressions::SimpleReference
117
+ id: test
118
+ type:
119
+ _class: Expressir::Model::Types::Boolean
120
+ - _class: Expressir::Model::Entity
121
+ id: subtype_attribute_entity4
122
+ subtype_of:
123
+ - _class: Expressir::Model::Expressions::SimpleReference
124
+ id: attribute_entity4
125
+ attributes:
126
+ - _class: Expressir::Model::Attribute
127
+ kind: :EXPLICIT
128
+ supertype_attribute:
129
+ _class: Expressir::Model::Expressions::AttributeReference
130
+ ref:
131
+ _class: Expressir::Model::Expressions::GroupReference
132
+ ref:
133
+ _class: Expressir::Model::Expressions::SimpleReference
134
+ id: SELF
135
+ entity:
136
+ _class: Expressir::Model::Expressions::SimpleReference
137
+ id: attribute_entity4
138
+ attribute:
139
+ _class: Expressir::Model::Expressions::SimpleReference
140
+ id: test
141
+ type:
142
+ _class: Expressir::Model::Types::Boolean
143
+ - _class: Expressir::Model::Entity
144
+ id: subtype_missing_entity
145
+ subtype_of:
146
+ - _class: Expressir::Model::Expressions::SimpleReference
147
+ id: missing_entity
148
+ - _class: Expressir::Model::Schema
149
+ id: multiple_schema2
150
+ entities:
151
+ - _class: Expressir::Model::Entity
152
+ id: attribute_entity2
153
+ attributes:
154
+ - _class: Expressir::Model::Attribute
155
+ id: test
156
+ kind: :EXPLICIT
157
+ type:
158
+ _class: Expressir::Model::Types::Boolean
159
+ - _class: Expressir::Model::Schema
160
+ id: multiple_schema3
161
+ entities:
162
+ - _class: Expressir::Model::Entity
163
+ id: attribute_entity3
164
+ attributes:
165
+ - _class: Expressir::Model::Attribute
166
+ id: test
167
+ kind: :EXPLICIT
168
+ type:
169
+ _class: Expressir::Model::Types::Boolean
170
+ - _class: Expressir::Model::Schema
171
+ id: multiple_schema4
172
+ entities:
173
+ - _class: Expressir::Model::Entity
174
+ id: attribute_entity
175
+ attributes:
176
+ - _class: Expressir::Model::Attribute
177
+ id: test
178
+ kind: :EXPLICIT
179
+ type:
180
+ _class: Expressir::Model::Types::Boolean
@@ -0,0 +1,71 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM multiple_schema2;
4
+ REFERENCE FROM multiple_schema3
5
+ (attribute_entity3);
6
+ REFERENCE FROM multiple_schema4
7
+ (attribute_entity AS attribute_entity4);
8
+
9
+ ENTITY test;
10
+ END_ENTITY;
11
+
12
+ ENTITY empty_entity;
13
+ END_ENTITY;
14
+
15
+ ENTITY attribute_entity;
16
+ test : BOOLEAN;
17
+ END_ENTITY;
18
+
19
+ ENTITY subtype_empty_entity
20
+ SUBTYPE OF (empty_entity);
21
+ END_ENTITY;
22
+
23
+ ENTITY subtype_attribute_entity
24
+ SUBTYPE OF (attribute_entity);
25
+ SELF\attribute_entity.test : BOOLEAN;
26
+ END_ENTITY;
27
+
28
+ ENTITY subtype_attribute_entity2
29
+ SUBTYPE OF (attribute_entity2);
30
+ SELF\attribute_entity2.test : BOOLEAN;
31
+ END_ENTITY;
32
+
33
+ ENTITY subtype_attribute_entity3
34
+ SUBTYPE OF (attribute_entity3);
35
+ SELF\attribute_entity3.test : BOOLEAN;
36
+ END_ENTITY;
37
+
38
+ ENTITY subtype_attribute_entity4
39
+ SUBTYPE OF (attribute_entity4);
40
+ SELF\attribute_entity4.test : BOOLEAN;
41
+ END_ENTITY;
42
+
43
+ ENTITY subtype_missing_entity
44
+ SUBTYPE OF (missing_entity);
45
+ END_ENTITY;
46
+
47
+ END_SCHEMA;
48
+
49
+ SCHEMA multiple_schema2;
50
+
51
+ ENTITY attribute_entity2;
52
+ test : BOOLEAN;
53
+ END_ENTITY;
54
+
55
+ END_SCHEMA;
56
+
57
+ SCHEMA multiple_schema3;
58
+
59
+ ENTITY attribute_entity3;
60
+ test : BOOLEAN;
61
+ END_ENTITY;
62
+
63
+ END_SCHEMA;
64
+
65
+ SCHEMA multiple_schema4;
66
+
67
+ ENTITY attribute_entity;
68
+ test : BOOLEAN;
69
+ END_ENTITY;
70
+
71
+ END_SCHEMA;
@@ -0,0 +1,71 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
+ REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
5
+ ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
6
+ REFERENCE FROM {{{<<express:multiple_schema4,multiple_schema4>>}}}
7
+ ({{{<<express:multiple_schema4.attribute_entity,attribute_entity>>}}} AS attribute_entity4);
8
+
9
+ ENTITY test;
10
+ END_ENTITY;
11
+
12
+ ENTITY empty_entity;
13
+ END_ENTITY;
14
+
15
+ ENTITY attribute_entity;
16
+ test : BOOLEAN;
17
+ END_ENTITY;
18
+
19
+ ENTITY subtype_empty_entity
20
+ SUBTYPE OF ({{{<<express:multiple_schema1.empty_entity,empty_entity>>}}});
21
+ END_ENTITY;
22
+
23
+ ENTITY subtype_attribute_entity
24
+ SUBTYPE OF ({{{<<express:multiple_schema1.attribute_entity,attribute_entity>>}}});
25
+ SELF\{{{<<express:multiple_schema1.attribute_entity,attribute_entity>>}}}.test : BOOLEAN;
26
+ END_ENTITY;
27
+
28
+ ENTITY subtype_attribute_entity2
29
+ SUBTYPE OF ({{{<<express:multiple_schema2.attribute_entity2,attribute_entity2>>}}});
30
+ SELF\{{{<<express:multiple_schema2.attribute_entity2,attribute_entity2>>}}}.test : BOOLEAN;
31
+ END_ENTITY;
32
+
33
+ ENTITY subtype_attribute_entity3
34
+ SUBTYPE OF ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
35
+ SELF\{{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}}.test : BOOLEAN;
36
+ END_ENTITY;
37
+
38
+ ENTITY subtype_attribute_entity4
39
+ SUBTYPE OF ({{{<<express:multiple_schema4.attribute_entity,attribute_entity4>>}}});
40
+ SELF\{{{<<express:multiple_schema4.attribute_entity,attribute_entity4>>}}}.test : BOOLEAN;
41
+ END_ENTITY;
42
+
43
+ ENTITY subtype_missing_entity
44
+ SUBTYPE OF (missing_entity);
45
+ END_ENTITY;
46
+
47
+ END_SCHEMA;
48
+
49
+ SCHEMA multiple_schema2;
50
+
51
+ ENTITY attribute_entity2;
52
+ test : BOOLEAN;
53
+ END_ENTITY;
54
+
55
+ END_SCHEMA;
56
+
57
+ SCHEMA multiple_schema3;
58
+
59
+ ENTITY attribute_entity3;
60
+ test : BOOLEAN;
61
+ END_ENTITY;
62
+
63
+ END_SCHEMA;
64
+
65
+ SCHEMA multiple_schema4;
66
+
67
+ ENTITY attribute_entity;
68
+ test : BOOLEAN;
69
+ END_ENTITY;
70
+
71
+ END_SCHEMA;
@@ -0,0 +1,13 @@
1
+ SCHEMA multiple_schema1;
2
+
3
+ REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
+ REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
5
+ ({{{<<express:multiple_schema3.attribute_entity3,attribute_entity3>>}}});
6
+ REFERENCE FROM {{{<<express:multiple_schema4,multiple_schema4>>}}}
7
+ ({{{<<express:multiple_schema4.attribute_entity,attribute_entity>>}}} AS attribute_entity4);
8
+
9
+ SCHEMA multiple_schema2;
10
+
11
+ SCHEMA multiple_schema3;
12
+
13
+ SCHEMA multiple_schema4;
@@ -12,7 +12,7 @@ SCHEMA remark_schema;
12
12
 
13
13
  CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
14
14
  TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
15
- WHERE WR1 : TRUE;
15
+ WHERE WR1: TRUE;
16
16
  --"WR1" type scope - type where
17
17
  --"IP1" type scope - type informal proposition
18
18
  --"wr:WR1" type scope - type where, with prefix
@@ -22,12 +22,12 @@ ENTITY remark_entity;
22
22
  remark_attribute : STRING;
23
23
  DERIVE remark_derived_attribute : STRING := 'xxx';
24
24
  INVERSE remark_inverse_attribute : remark_entity FOR remark_attribute;
25
- UNIQUE remark_unique : remark_attribute;
26
- WHERE WR1 : TRUE;
25
+ UNIQUE UR1: remark_attribute;
26
+ WHERE WR1: TRUE;
27
27
  --"remark_attribute" entity scope - entity attribute
28
28
  --"remark_derived_attribute" entity scope - entity derived attribute
29
29
  --"remark_inverse_attribute" entity scope - entity inverse attribute
30
- --"remark_unique" entity scope - entity unique
30
+ --"UR1" entity scope - entity unique
31
31
  --"WR1" entity scope - entity where
32
32
  --"IP1" entity scope - entity informal proposition
33
33
  --"wr:WR1" entity scope - entity where, with prefix
@@ -54,26 +54,6 @@ FUNCTION remark_function(remark_parameter : STRING) : BOOLEAN;
54
54
  --"remark_constant" function scope - function constant
55
55
  --"remark_variable" function scope - function variable
56
56
  END_FUNCTION;
57
- PROCEDURE remark_procedure(remark_parameter : STRING);
58
- TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
59
- CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
60
- LOCAL remark_variable : STRING; END_LOCAL;
61
- ALIAS remark_alias FOR remark_variable; ;
62
- --"remark_alias" procedure alias scope - procedure alias
63
- END_ALIAS;
64
- REPEAT remark_repeat := 1 TO 9; ;
65
- --"remark_repeat" procedure repeat scope - procedure repeat
66
- END_REPEAT;
67
- remark_variable := QUERY(remark_query <* remark_variable | TRUE
68
- --"remark_query" procedure query scope - procedure query
69
- );
70
- --"remark_parameter" procedure scope - procedure parameter
71
- --"remark_type" procedure scope - procedure type
72
- --"remark_type.remark_enumeration_item" procedure scope - procedure enumeration item
73
- --"remark_enumeration_item" procedure scope - procedure enumeration item, on the same level as the type
74
- --"remark_constant" procedure scope - procedure constant
75
- --"remark_variable" procedure scope - procedure variable
76
- END_PROCEDURE;
77
57
  RULE remark_rule FOR (remark_entity);
78
58
  TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
79
59
  CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
@@ -87,7 +67,7 @@ RULE remark_rule FOR (remark_entity);
87
67
  remark_variable := QUERY(remark_query <* remark_variable | TRUE
88
68
  --"remark_query" rule query scope - rule query
89
69
  );
90
- WHERE WR1 : TRUE;
70
+ WHERE WR1: TRUE;
91
71
  --"remark_type" rule scope - rule type
92
72
  --"remark_type.remark_enumeration_item" rule scope - rule enumeration item
93
73
  --"remark_enumeration_item" rule scope - rule enumeration item, on the same level as the type
@@ -98,6 +78,26 @@ RULE remark_rule FOR (remark_entity);
98
78
  --"wr:WR1" rule scope - rule where, with prefix
99
79
  --"ip:IP1" rule scope - rule informal proposition, with prefix
100
80
  END_RULE;
81
+ PROCEDURE remark_procedure(remark_parameter : STRING);
82
+ TYPE remark_type = ENUMERATION OF (remark_enumeration_item); END_TYPE;
83
+ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
84
+ LOCAL remark_variable : STRING; END_LOCAL;
85
+ ALIAS remark_alias FOR remark_variable; ;
86
+ --"remark_alias" procedure alias scope - procedure alias
87
+ END_ALIAS;
88
+ REPEAT remark_repeat := 1 TO 9; ;
89
+ --"remark_repeat" procedure repeat scope - procedure repeat
90
+ END_REPEAT;
91
+ remark_variable := QUERY(remark_query <* remark_variable | TRUE
92
+ --"remark_query" procedure query scope - procedure query
93
+ );
94
+ --"remark_parameter" procedure scope - procedure parameter
95
+ --"remark_type" procedure scope - procedure type
96
+ --"remark_type.remark_enumeration_item" procedure scope - procedure enumeration item
97
+ --"remark_enumeration_item" procedure scope - procedure enumeration item, on the same level as the type
98
+ --"remark_constant" procedure scope - procedure constant
99
+ --"remark_variable" procedure scope - procedure variable
100
+ END_PROCEDURE;
101
101
 
102
102
  --"remark_constant" schema scope - constant
103
103
  --"remark_type" schema scope - type
@@ -111,7 +111,7 @@ END_RULE;
111
111
  --"remark_entity.remark_attribute" schema scope - entity attribute
112
112
  --"remark_entity.remark_derived_attribute" schema scope - entity derived attribute
113
113
  --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
114
- --"remark_entity.remark_unique" schema scope - entity unique
114
+ --"remark_entity.UR1" schema scope - entity unique
115
115
  --"remark_entity.WR1" schema scope - entity where
116
116
  --"remark_entity.IP1" schema scope - entity informal proposition
117
117
  --"remark_entity.wr:WR1" schema scope - entity where, with prefix
@@ -124,13 +124,6 @@ END_RULE;
124
124
  --"remark_function.remark_enumeration_item" schema scope - function enumeration item, on the same level as the type
125
125
  --"remark_function.remark_constant" schema scope - function constant
126
126
  --"remark_function.remark_variable" schema scope - function variable
127
- --"remark_procedure" schema scope - procedure
128
- --"remark_procedure.remark_parameter" schema scope - procedure parameter
129
- --"remark_procedure.remark_type" schema scope - procedure type
130
- --"remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item
131
- --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
132
- --"remark_procedure.remark_constant" schema scope - procedure constant
133
- --"remark_procedure.remark_variable" schema scope - procedure variable
134
127
  --"remark_rule" schema scope - rule
135
128
  --"remark_rule.remark_type" schema scope - rule type
136
129
  --"remark_rule.remark_type.remark_enumeration_item" schema scope - rule enumeration item
@@ -141,6 +134,13 @@ END_RULE;
141
134
  --"remark_rule.IP1" schema scope - rule informal proposition
142
135
  --"remark_rule.wr:WR1" schema scope - rule where, with prefix
143
136
  --"remark_rule.ip:IP1" schema scope - rule informal proposition, with prefix
137
+ --"remark_procedure" schema scope - procedure
138
+ --"remark_procedure.remark_parameter" schema scope - procedure parameter
139
+ --"remark_procedure.remark_type" schema scope - procedure type
140
+ --"remark_procedure.remark_type.remark_enumeration_item" schema scope - procedure enumeration item
141
+ --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
142
+ --"remark_procedure.remark_constant" schema scope - procedure constant
143
+ --"remark_procedure.remark_variable" schema scope - procedure variable
144
144
 
145
145
  END_SCHEMA;
146
146
 
@@ -157,7 +157,7 @@ END_SCHEMA;
157
157
  --"remark_schema.remark_entity.remark_attribute" universal scope - entity attribute
158
158
  --"remark_schema.remark_entity.remark_derived_attribute" universal scope - entity derived attribute
159
159
  --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
160
- --"remark_schema.remark_entity.remark_unique" universal scope - entity unique
160
+ --"remark_schema.remark_entity.UR1" universal scope - entity unique
161
161
  --"remark_schema.remark_entity.WR1" universal scope - entity where
162
162
  --"remark_schema.remark_entity.IP1" universal scope - entity informal proposition
163
163
  --"remark_schema.remark_entity.wr:WR1" universal scope - entity where, with prefix
@@ -170,13 +170,6 @@ END_SCHEMA;
170
170
  --"remark_schema.remark_function.remark_enumeration_item" universal scope - function enumeration item, on the same level as the type
171
171
  --"remark_schema.remark_function.remark_constant" universal scope - function constant
172
172
  --"remark_schema.remark_function.remark_variable" universal scope - function variable
173
- --"remark_schema.remark_procedure" universal scope - procedure
174
- --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
175
- --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
176
- --"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
177
- --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
178
- --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
179
- --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
180
173
  --"remark_schema.remark_rule" universal scope - rule
181
174
  --"remark_schema.remark_rule.remark_type" universal scope - rule type
182
175
  --"remark_schema.remark_rule.remark_type.remark_enumeration_item" universal scope - rule enumeration item
@@ -187,3 +180,10 @@ END_SCHEMA;
187
180
  --"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
188
181
  --"remark_schema.remark_rule.wr:WR1" universal scope - rule where, with prefix
189
182
  --"remark_schema.remark_rule.ip:IP1" universal scope - rule informal proposition, with prefix
183
+ --"remark_schema.remark_procedure" universal scope - procedure
184
+ --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
185
+ --"remark_schema.remark_procedure.remark_type" universal scope - procedure type
186
+ --"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
187
+ --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
188
+ --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
189
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable