expressir 0.2.21 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.github/workflows/release.yml +22 -6
  4. data/.gitignore +2 -2
  5. data/demo.rb +5 -5
  6. data/exe/format +10 -73
  7. data/exe/format-test +81 -0
  8. data/expressir.gemspec +0 -1
  9. data/ext/express-parser/extconf.rb +1 -1
  10. data/lib/expressir.rb +0 -1
  11. data/lib/expressir/cli.rb +0 -6
  12. data/lib/expressir/{express_exp → express}/cache.rb +3 -6
  13. data/lib/expressir/{express_exp → express}/formatter.rb +84 -68
  14. data/lib/expressir/express/hyperlink_formatter.rb +22 -0
  15. data/lib/expressir/express/model_visitor.rb +23 -0
  16. data/lib/expressir/{express_exp → express}/parser.rb +16 -5
  17. data/lib/expressir/express/resolve_references_model_visitor.rb +29 -0
  18. data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
  19. data/lib/expressir/{express_exp → express}/visitor.rb +67 -44
  20. data/lib/expressir/model.rb +5 -3
  21. data/lib/expressir/model/attribute.rb +13 -6
  22. data/lib/expressir/model/cache.rb +2 -2
  23. data/lib/expressir/model/constant.rb +10 -3
  24. data/lib/expressir/model/entity.rb +18 -16
  25. data/lib/expressir/model/enumeration_item.rb +8 -1
  26. data/lib/expressir/model/expressions/aggregate_initializer.rb +2 -2
  27. data/lib/expressir/model/expressions/aggregate_item.rb +2 -2
  28. data/lib/expressir/model/expressions/attribute_reference.rb +2 -2
  29. data/lib/expressir/model/expressions/binary_expression.rb +3 -3
  30. data/lib/expressir/model/expressions/call.rb +3 -3
  31. data/lib/expressir/model/expressions/entity_constructor.rb +3 -3
  32. data/lib/expressir/model/expressions/group_reference.rb +2 -2
  33. data/lib/expressir/model/expressions/index_reference.rb +3 -3
  34. data/lib/expressir/model/expressions/interval.rb +5 -5
  35. data/lib/expressir/model/expressions/query_expression.rb +6 -4
  36. data/lib/expressir/model/expressions/simple_reference.rb +5 -1
  37. data/lib/expressir/model/expressions/unary_expression.rb +2 -2
  38. data/lib/expressir/model/function.rb +23 -21
  39. data/lib/expressir/model/identifier.rb +6 -3
  40. data/lib/expressir/model/interface.rb +4 -4
  41. data/lib/expressir/model/interface_item.rb +2 -2
  42. data/lib/expressir/model/interfaced_item.rb +10 -9
  43. data/lib/expressir/model/literals/binary.rb +1 -1
  44. data/lib/expressir/model/literals/integer.rb +1 -1
  45. data/lib/expressir/model/literals/logical.rb +1 -1
  46. data/lib/expressir/model/literals/real.rb +1 -1
  47. data/lib/expressir/model/literals/string.rb +2 -2
  48. data/lib/expressir/model/model_element.rb +39 -27
  49. data/lib/expressir/model/parameter.rb +10 -3
  50. data/lib/expressir/model/procedure.rb +22 -20
  51. data/lib/expressir/model/remark_item.rb +15 -0
  52. data/lib/expressir/model/repository.rb +2 -2
  53. data/lib/expressir/model/rule.rb +27 -25
  54. data/lib/expressir/model/schema.rb +24 -20
  55. data/lib/expressir/model/schema_version.rb +15 -0
  56. data/lib/expressir/model/schema_version_item.rb +15 -0
  57. data/lib/expressir/model/statements/alias.rb +7 -5
  58. data/lib/expressir/model/statements/assignment.rb +2 -2
  59. data/lib/expressir/model/statements/call.rb +3 -3
  60. data/lib/expressir/model/statements/case.rb +4 -4
  61. data/lib/expressir/model/statements/case_action.rb +3 -3
  62. data/lib/expressir/model/statements/compound.rb +2 -2
  63. data/lib/expressir/model/statements/if.rb +5 -5
  64. data/lib/expressir/model/statements/repeat.rb +11 -9
  65. data/lib/expressir/model/statements/return.rb +1 -1
  66. data/lib/expressir/model/subtype_constraint.rb +13 -6
  67. data/lib/expressir/model/type.rb +12 -10
  68. data/lib/expressir/model/types/aggregate.rb +9 -2
  69. data/lib/expressir/model/types/array.rb +5 -5
  70. data/lib/expressir/model/types/bag.rb +3 -3
  71. data/lib/expressir/model/types/binary.rb +2 -2
  72. data/lib/expressir/model/types/enumeration.rb +5 -7
  73. data/lib/expressir/model/types/generic.rb +8 -1
  74. data/lib/expressir/model/types/generic_entity.rb +8 -1
  75. data/lib/expressir/model/types/list.rb +4 -4
  76. data/lib/expressir/model/types/real.rb +1 -1
  77. data/lib/expressir/model/types/select.rb +6 -8
  78. data/lib/expressir/model/types/set.rb +3 -3
  79. data/lib/expressir/model/types/string.rb +2 -2
  80. data/lib/expressir/model/unique_rule.rb +26 -0
  81. data/lib/expressir/model/variable.rb +10 -3
  82. data/lib/expressir/model/where_rule.rb +26 -0
  83. data/lib/expressir/version.rb +1 -1
  84. data/rakelib/cross-ruby.rake +1 -1
  85. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  86. data/spec/expressir/express/formatter_spec.rb +127 -0
  87. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  88. data/spec/expressir/model/model_element_spec.rb +112 -60
  89. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  90. data/{original/examples → spec}/syntax/multiple.yaml +19 -5
  91. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  92. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  93. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  94. data/{original/examples → spec}/syntax/remark.exp +12 -10
  95. data/{original/examples → spec}/syntax/remark.yaml +36 -16
  96. data/{original/examples → spec}/syntax/remark_formatted.exp +3 -1
  97. data/spec/syntax/single.exp +4 -0
  98. data/spec/syntax/single.yaml +18 -0
  99. data/spec/syntax/single_formatted.exp +10 -0
  100. data/spec/syntax/single_formatted.yaml +36 -0
  101. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  102. data/{original/examples → spec}/syntax/syntax.yaml +205 -108
  103. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  104. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  105. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  106. metadata +40 -82
  107. data/lib/expressir/express.rb +0 -11
  108. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  109. data/lib/expressir/express/attribute.rb +0 -15
  110. data/lib/expressir/express/comment.rb +0 -7
  111. data/lib/expressir/express/defined_type.rb +0 -36
  112. data/lib/expressir/express/derived.rb +0 -65
  113. data/lib/expressir/express/derived_aggregate.rb +0 -43
  114. data/lib/expressir/express/entity.rb +0 -137
  115. data/lib/expressir/express/explicit.rb +0 -70
  116. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  117. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  118. data/lib/expressir/express/global_rule.rb +0 -44
  119. data/lib/expressir/express/interface_specification.rb +0 -51
  120. data/lib/expressir/express/interfaced_item.rb +0 -38
  121. data/lib/expressir/express/inverse.rb +0 -46
  122. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  123. data/lib/expressir/express/model_element.rb +0 -7
  124. data/lib/expressir/express/named_type.rb +0 -19
  125. data/lib/expressir/express/remark.rb +0 -8
  126. data/lib/expressir/express/repository.rb +0 -306
  127. data/lib/expressir/express/schema_definition.rb +0 -96
  128. data/lib/expressir/express/subtype_constraint.rb +0 -14
  129. data/lib/expressir/express/type.rb +0 -26
  130. data/lib/expressir/express/type_aggregate.rb +0 -42
  131. data/lib/expressir/express/type_enum.rb +0 -29
  132. data/lib/expressir/express/type_parser.rb +0 -45
  133. data/lib/expressir/express/type_select.rb +0 -82
  134. data/lib/expressir/express/unique_rule.rb +0 -35
  135. data/lib/expressir/express/where_rule.rb +0 -32
  136. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  137. data/lib/expressir/express_parser.rb +0 -30
  138. data/lib/expressir/model/informal_proposition.rb +0 -18
  139. data/lib/expressir/model/unique.rb +0 -19
  140. data/lib/expressir/model/where.rb +0 -19
  141. data/lib/expressir/parser.rb +0 -6
  142. data/lib/expressir/parser/owl_parser.rb +0 -8
  143. data/original/examples/syntax/single.exp +0 -3
  144. data/original/examples/syntax/single.yaml +0 -9
  145. data/original/examples/syntax/single_formatted.exp +0 -6
  146. data/original/examples/syntax/single_formatted.yaml +0 -19
  147. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  148. data/spec/expressir/express/repository_spec.rb +0 -25
  149. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -1,4 +1,4 @@
1
- SCHEMA multiple_schema1;
1
+ SCHEMA multiple_schema;
2
2
  REFERENCE FROM multiple_schema2;
3
3
  REFERENCE FROM multiple_schema3 (attribute_entity3);
4
4
  REFERENCE FROM multiple_schema4 (attribute_entity AS attribute_entity4);
@@ -2,34 +2,39 @@
2
2
  _class: Expressir::Model::Repository
3
3
  schemas:
4
4
  - _class: Expressir::Model::Schema
5
- file: original/examples/syntax/multiple.exp
6
- id: multiple_schema1
5
+ file: spec/syntax/multiple.exp
6
+ id: multiple_schema
7
7
  interfaces:
8
8
  - _class: Expressir::Model::Interface
9
9
  kind: :REFERENCE
10
10
  schema:
11
11
  _class: Expressir::Model::Expressions::SimpleReference
12
12
  id: multiple_schema2
13
+ base_path: multiple_schema2
13
14
  - _class: Expressir::Model::Interface
14
15
  kind: :REFERENCE
15
16
  schema:
16
17
  _class: Expressir::Model::Expressions::SimpleReference
17
18
  id: multiple_schema3
19
+ base_path: multiple_schema3
18
20
  items:
19
21
  - _class: Expressir::Model::InterfaceItem
20
22
  ref:
21
23
  _class: Expressir::Model::Expressions::SimpleReference
22
24
  id: attribute_entity3
25
+ base_path: multiple_schema3.attribute_entity3
23
26
  - _class: Expressir::Model::Interface
24
27
  kind: :REFERENCE
25
28
  schema:
26
29
  _class: Expressir::Model::Expressions::SimpleReference
27
30
  id: multiple_schema4
31
+ base_path: multiple_schema4
28
32
  items:
29
33
  - _class: Expressir::Model::InterfaceItem
30
34
  ref:
31
35
  _class: Expressir::Model::Expressions::SimpleReference
32
36
  id: attribute_entity
37
+ base_path: multiple_schema4.attribute_entity
33
38
  id: attribute_entity4
34
39
  entities:
35
40
  - _class: Expressir::Model::Entity
@@ -49,11 +54,13 @@ schemas:
49
54
  subtype_of:
50
55
  - _class: Expressir::Model::Expressions::SimpleReference
51
56
  id: empty_entity
57
+ base_path: multiple_schema.empty_entity
52
58
  - _class: Expressir::Model::Entity
53
59
  id: subtype_attribute_entity
54
60
  subtype_of:
55
61
  - _class: Expressir::Model::Expressions::SimpleReference
56
62
  id: attribute_entity
63
+ base_path: multiple_schema.attribute_entity
57
64
  attributes:
58
65
  - _class: Expressir::Model::Attribute
59
66
  kind: :EXPLICIT
@@ -67,6 +74,7 @@ schemas:
67
74
  entity:
68
75
  _class: Expressir::Model::Expressions::SimpleReference
69
76
  id: attribute_entity
77
+ base_path: multiple_schema.attribute_entity
70
78
  attribute:
71
79
  _class: Expressir::Model::Expressions::SimpleReference
72
80
  id: test
@@ -77,6 +85,7 @@ schemas:
77
85
  subtype_of:
78
86
  - _class: Expressir::Model::Expressions::SimpleReference
79
87
  id: attribute_entity2
88
+ base_path: multiple_schema2.attribute_entity2
80
89
  attributes:
81
90
  - _class: Expressir::Model::Attribute
82
91
  kind: :EXPLICIT
@@ -90,6 +99,7 @@ schemas:
90
99
  entity:
91
100
  _class: Expressir::Model::Expressions::SimpleReference
92
101
  id: attribute_entity2
102
+ base_path: multiple_schema2.attribute_entity2
93
103
  attribute:
94
104
  _class: Expressir::Model::Expressions::SimpleReference
95
105
  id: test
@@ -100,6 +110,7 @@ schemas:
100
110
  subtype_of:
101
111
  - _class: Expressir::Model::Expressions::SimpleReference
102
112
  id: attribute_entity3
113
+ base_path: multiple_schema3.attribute_entity3
103
114
  attributes:
104
115
  - _class: Expressir::Model::Attribute
105
116
  kind: :EXPLICIT
@@ -113,6 +124,7 @@ schemas:
113
124
  entity:
114
125
  _class: Expressir::Model::Expressions::SimpleReference
115
126
  id: attribute_entity3
127
+ base_path: multiple_schema3.attribute_entity3
116
128
  attribute:
117
129
  _class: Expressir::Model::Expressions::SimpleReference
118
130
  id: test
@@ -123,6 +135,7 @@ schemas:
123
135
  subtype_of:
124
136
  - _class: Expressir::Model::Expressions::SimpleReference
125
137
  id: attribute_entity4
138
+ base_path: multiple_schema4.attribute_entity
126
139
  attributes:
127
140
  - _class: Expressir::Model::Attribute
128
141
  kind: :EXPLICIT
@@ -136,6 +149,7 @@ schemas:
136
149
  entity:
137
150
  _class: Expressir::Model::Expressions::SimpleReference
138
151
  id: attribute_entity4
152
+ base_path: multiple_schema4.attribute_entity
139
153
  attribute:
140
154
  _class: Expressir::Model::Expressions::SimpleReference
141
155
  id: test
@@ -147,7 +161,7 @@ schemas:
147
161
  - _class: Expressir::Model::Expressions::SimpleReference
148
162
  id: missing_entity
149
163
  - _class: Expressir::Model::Schema
150
- file: original/examples/syntax/multiple.exp
164
+ file: spec/syntax/multiple.exp
151
165
  id: multiple_schema2
152
166
  entities:
153
167
  - _class: Expressir::Model::Entity
@@ -159,7 +173,7 @@ schemas:
159
173
  type:
160
174
  _class: Expressir::Model::Types::Boolean
161
175
  - _class: Expressir::Model::Schema
162
- file: original/examples/syntax/multiple.exp
176
+ file: spec/syntax/multiple.exp
163
177
  id: multiple_schema3
164
178
  entities:
165
179
  - _class: Expressir::Model::Entity
@@ -171,7 +185,7 @@ schemas:
171
185
  type:
172
186
  _class: Expressir::Model::Types::Boolean
173
187
  - _class: Expressir::Model::Schema
174
- file: original/examples/syntax/multiple.exp
188
+ file: spec/syntax/multiple.exp
175
189
  id: multiple_schema4
176
190
  entities:
177
191
  - _class: Expressir::Model::Entity
@@ -1,4 +1,4 @@
1
- SCHEMA multiple_schema1;
1
+ SCHEMA multiple_schema;
2
2
 
3
3
  REFERENCE FROM multiple_schema2;
4
4
  REFERENCE FROM multiple_schema3
@@ -1,4 +1,4 @@
1
- SCHEMA multiple_schema1;
1
+ SCHEMA multiple_schema;
2
2
 
3
3
  REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
4
  REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
@@ -17,12 +17,12 @@ ENTITY attribute_entity;
17
17
  END_ENTITY;
18
18
 
19
19
  ENTITY subtype_empty_entity
20
- SUBTYPE OF ({{{<<express:multiple_schema1.empty_entity,empty_entity>>}}});
20
+ SUBTYPE OF ({{{<<express:multiple_schema.empty_entity,empty_entity>>}}});
21
21
  END_ENTITY;
22
22
 
23
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;
24
+ SUBTYPE OF ({{{<<express:multiple_schema.attribute_entity,attribute_entity>>}}});
25
+ SELF\{{{<<express:multiple_schema.attribute_entity,attribute_entity>>}}}.test : BOOLEAN;
26
26
  END_ENTITY;
27
27
 
28
28
  ENTITY subtype_attribute_entity2
@@ -1,4 +1,4 @@
1
- SCHEMA multiple_schema1;
1
+ SCHEMA multiple_schema;
2
2
 
3
3
  REFERENCE FROM {{{<<express:multiple_schema2,multiple_schema2>>}}};
4
4
  REFERENCE FROM {{{<<express:multiple_schema3,multiple_schema3>>}}}
@@ -14,8 +14,8 @@ CONSTANT remark_constant : STRING := 'xxx'; END_CONSTANT;
14
14
  TYPE remark_type = ENUMERATION OF (remark_enumeration_item);
15
15
  WHERE WR1: TRUE;
16
16
  --"WR1" type scope - type where
17
- --"IP1" type scope - type informal proposition
18
17
  --"wr:WR1" type scope - type where, with prefix
18
+ --"IP1" type scope - type informal proposition
19
19
  --"ip:IP1" type scope - type informal proposition, with prefix
20
20
  END_TYPE;
21
21
  ENTITY remark_entity;
@@ -29,8 +29,8 @@ ENTITY remark_entity;
29
29
  --"remark_inverse_attribute" entity scope - entity inverse attribute
30
30
  --"UR1" entity scope - entity unique
31
31
  --"WR1" entity scope - entity where
32
- --"IP1" entity scope - entity informal proposition
33
32
  --"wr:WR1" entity scope - entity where, with prefix
33
+ --"IP1" entity scope - entity informal proposition
34
34
  --"ip:IP1" entity scope - entity informal proposition, with prefix
35
35
  END_ENTITY;
36
36
  SUBTYPE_CONSTRAINT remark_subtype_constraint FOR remark_entity; END_SUBTYPE_CONSTRAINT;
@@ -74,8 +74,8 @@ RULE remark_rule FOR (remark_entity);
74
74
  --"remark_constant" rule scope - rule constant
75
75
  --"remark_variable" rule scope - rule variable
76
76
  --"WR1" rule scope - rule where
77
- --"IP1" rule scope - rule informal proposition
78
77
  --"wr:WR1" rule scope - rule where, with prefix
78
+ --"IP1" rule scope - rule informal proposition
79
79
  --"ip:IP1" rule scope - rule informal proposition, with prefix
80
80
  END_RULE;
81
81
  PROCEDURE remark_procedure(remark_parameter : STRING);
@@ -102,8 +102,8 @@ END_PROCEDURE;
102
102
  --"remark_constant" schema scope - constant
103
103
  --"remark_type" schema scope - type
104
104
  --"remark_type.WR1" schema scope - type where
105
- --"remark_type.IP1" schema scope - type informal proposition
106
105
  --"remark_type.wr:WR1" schema scope - type where, with prefix
106
+ --"remark_type.IP1" schema scope - type informal proposition
107
107
  --"remark_type.ip:IP1" schema scope - type informal proposition, with prefix
108
108
  --"remark_type.remark_enumeration_item" schema scope - enumeration item
109
109
  --"remark_enumeration_item" schema scope - enumeration item, on the same level as the type
@@ -113,8 +113,8 @@ END_PROCEDURE;
113
113
  --"remark_entity.remark_inverse_attribute" schema scope - entity inverse attribute
114
114
  --"remark_entity.UR1" schema scope - entity unique
115
115
  --"remark_entity.WR1" schema scope - entity where
116
- --"remark_entity.IP1" schema scope - entity informal proposition
117
116
  --"remark_entity.wr:WR1" schema scope - entity where, with prefix
117
+ --"remark_entity.IP1" schema scope - entity informal proposition
118
118
  --"remark_entity.ip:IP1" schema scope - entity informal proposition, with prefix
119
119
  --"remark_subtype_constraint" schema scope - subtype constraint
120
120
  --"remark_function" schema scope - function
@@ -131,8 +131,8 @@ END_PROCEDURE;
131
131
  --"remark_rule.remark_constant" schema scope - rule constant
132
132
  --"remark_rule.remark_variable" schema scope - rule variable
133
133
  --"remark_rule.WR1" schema scope - rule where
134
- --"remark_rule.IP1" schema scope - rule informal proposition
135
134
  --"remark_rule.wr:WR1" schema scope - rule where, with prefix
135
+ --"remark_rule.IP1" schema scope - rule informal proposition
136
136
  --"remark_rule.ip:IP1" schema scope - rule informal proposition, with prefix
137
137
  --"remark_procedure" schema scope - procedure
138
138
  --"remark_procedure.remark_parameter" schema scope - procedure parameter
@@ -141,6 +141,7 @@ END_PROCEDURE;
141
141
  --"remark_procedure.remark_enumeration_item" schema scope - procedure enumeration item, on the same level as the type
142
142
  --"remark_procedure.remark_constant" schema scope - procedure constant
143
143
  --"remark_procedure.remark_variable" schema scope - procedure variable
144
+ --"remark_item" schema scope - schema remark item
144
145
 
145
146
  END_SCHEMA;
146
147
 
@@ -148,8 +149,8 @@ END_SCHEMA;
148
149
  --"remark_schema.remark_constant" universal scope - constant
149
150
  --"remark_schema.remark_type" universal scope - type
150
151
  --"remark_schema.remark_type.WR1" universal scope - type where
151
- --"remark_schema.remark_type.IP1" universal scope - type informal proposition
152
152
  --"remark_schema.remark_type.wr:WR1" universal scope - type where, with prefix
153
+ --"remark_schema.remark_type.IP1" universal scope - type informal proposition
153
154
  --"remark_schema.remark_type.ip:IP1" universal scope - type informal proposition, with prefix
154
155
  --"remark_schema.remark_type.remark_enumeration_item" universal scope - enumeration item
155
156
  --"remark_schema.remark_enumeration_item" universal scope - enumeration item, on the same level as the type
@@ -159,8 +160,8 @@ END_SCHEMA;
159
160
  --"remark_schema.remark_entity.remark_inverse_attribute" universal scope - entity inverse attribute
160
161
  --"remark_schema.remark_entity.UR1" universal scope - entity unique
161
162
  --"remark_schema.remark_entity.WR1" universal scope - entity where
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
164
+ --"remark_schema.remark_entity.IP1" universal scope - entity informal proposition
164
165
  --"remark_schema.remark_entity.ip:IP1" universal scope - entity informal proposition, with prefix
165
166
  --"remark_schema.remark_subtype_constraint" universal scope - subtype constraint
166
167
  --"remark_schema.remark_function" universal scope - function
@@ -177,8 +178,8 @@ END_SCHEMA;
177
178
  --"remark_schema.remark_rule.remark_constant" universal scope - rule constant
178
179
  --"remark_schema.remark_rule.remark_variable" universal scope - rule variable
179
180
  --"remark_schema.remark_rule.WR1" universal scope - rule where
180
- --"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
181
181
  --"remark_schema.remark_rule.wr:WR1" universal scope - rule where, with prefix
182
+ --"remark_schema.remark_rule.IP1" universal scope - rule informal proposition
182
183
  --"remark_schema.remark_rule.ip:IP1" universal scope - rule informal proposition, with prefix
183
184
  --"remark_schema.remark_procedure" universal scope - procedure
184
185
  --"remark_schema.remark_procedure.remark_parameter" universal scope - procedure parameter
@@ -186,4 +187,5 @@ END_SCHEMA;
186
187
  --"remark_schema.remark_procedure.remark_type.remark_enumeration_item" universal scope - procedure enumeration item
187
188
  --"remark_schema.remark_procedure.remark_enumeration_item" universal scope - procedure enumeration item, on the same level as the type
188
189
  --"remark_schema.remark_procedure.remark_constant" universal scope - procedure constant
189
- --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
190
+ --"remark_schema.remark_procedure.remark_variable" universal scope - procedure variable
191
+ --"remark_schema.remark_item" universal scope - schema remark item
@@ -2,7 +2,7 @@
2
2
  _class: Expressir::Model::Repository
3
3
  schemas:
4
4
  - _class: Expressir::Model::Schema
5
- file: original/examples/syntax/remark.exp
5
+ file: spec/syntax/remark.exp
6
6
  id: remark_schema
7
7
  remarks:
8
8
  - |-
@@ -13,6 +13,12 @@ schemas:
13
13
  - 'UTF8 test: Příliš žluťoučký kůň úpěl ďábelské ódy.'
14
14
  - universal scope - schema before
15
15
  - universal scope - schema
16
+ remark_items:
17
+ - _class: Expressir::Model::RemarkItem
18
+ id: remark_item
19
+ remarks:
20
+ - schema scope - schema remark item
21
+ - universal scope - schema remark item
16
22
  constants:
17
23
  - _class: Expressir::Model::Constant
18
24
  id: remark_constant
@@ -30,7 +36,7 @@ schemas:
30
36
  remarks:
31
37
  - schema scope - type
32
38
  - universal scope - type
33
- type:
39
+ underlying_type:
34
40
  _class: Expressir::Model::Types::Enumeration
35
41
  items:
36
42
  - _class: Expressir::Model::EnumerationItem
@@ -40,8 +46,8 @@ schemas:
40
46
  - schema scope - enumeration item, on the same level as the type
41
47
  - universal scope - enumeration item
42
48
  - universal scope - enumeration item, on the same level as the type
43
- where:
44
- - _class: Expressir::Model::Where
49
+ where_rules:
50
+ - _class: Expressir::Model::WhereRule
45
51
  id: WR1
46
52
  remarks:
47
53
  - type scope - type where
@@ -54,7 +60,7 @@ schemas:
54
60
  _class: Expressir::Model::Literals::Logical
55
61
  value: :TRUE
56
62
  informal_propositions:
57
- - _class: Expressir::Model::InformalProposition
63
+ - _class: Expressir::Model::RemarkItem
58
64
  id: IP1
59
65
  remarks:
60
66
  - type scope - type informal proposition
@@ -101,11 +107,13 @@ schemas:
101
107
  type:
102
108
  _class: Expressir::Model::Expressions::SimpleReference
103
109
  id: remark_entity
110
+ base_path: remark_schema.remark_entity
104
111
  expression:
105
112
  _class: Expressir::Model::Expressions::SimpleReference
106
113
  id: remark_attribute
107
- unique:
108
- - _class: Expressir::Model::Unique
114
+ base_path: remark_schema.remark_entity.remark_attribute
115
+ unique_rules:
116
+ - _class: Expressir::Model::UniqueRule
109
117
  id: UR1
110
118
  remarks:
111
119
  - entity scope - entity unique
@@ -114,8 +122,9 @@ schemas:
114
122
  attributes:
115
123
  - _class: Expressir::Model::Expressions::SimpleReference
116
124
  id: remark_attribute
117
- where:
118
- - _class: Expressir::Model::Where
125
+ base_path: remark_schema.remark_entity.remark_attribute
126
+ where_rules:
127
+ - _class: Expressir::Model::WhereRule
119
128
  id: WR1
120
129
  remarks:
121
130
  - entity scope - entity where
@@ -128,7 +137,7 @@ schemas:
128
137
  _class: Expressir::Model::Literals::Logical
129
138
  value: :TRUE
130
139
  informal_propositions:
131
- - _class: Expressir::Model::InformalProposition
140
+ - _class: Expressir::Model::RemarkItem
132
141
  id: IP1
133
142
  remarks:
134
143
  - entity scope - entity informal proposition
@@ -146,6 +155,7 @@ schemas:
146
155
  applies_to:
147
156
  _class: Expressir::Model::Expressions::SimpleReference
148
157
  id: remark_entity
158
+ base_path: remark_schema.remark_entity
149
159
  functions:
150
160
  - _class: Expressir::Model::Function
151
161
  id: remark_function
@@ -170,7 +180,7 @@ schemas:
170
180
  - function scope - function type
171
181
  - schema scope - function type
172
182
  - universal scope - function type
173
- type:
183
+ underlying_type:
174
184
  _class: Expressir::Model::Types::Enumeration
175
185
  items:
176
186
  - _class: Expressir::Model::EnumerationItem
@@ -212,6 +222,7 @@ schemas:
212
222
  expression:
213
223
  _class: Expressir::Model::Expressions::SimpleReference
214
224
  id: remark_variable
225
+ base_path: remark_schema.remark_function.remark_variable
215
226
  statements:
216
227
  - _class: Expressir::Model::Statements::Null
217
228
  - _class: Expressir::Model::Statements::Repeat
@@ -230,6 +241,7 @@ schemas:
230
241
  ref:
231
242
  _class: Expressir::Model::Expressions::SimpleReference
232
243
  id: remark_variable
244
+ base_path: remark_schema.remark_function.remark_variable
233
245
  expression:
234
246
  _class: Expressir::Model::Expressions::QueryExpression
235
247
  id: remark_query
@@ -238,6 +250,7 @@ schemas:
238
250
  aggregate_source:
239
251
  _class: Expressir::Model::Expressions::SimpleReference
240
252
  id: remark_variable
253
+ base_path: remark_schema.remark_function.remark_variable
241
254
  expression:
242
255
  _class: Expressir::Model::Literals::Logical
243
256
  value: :TRUE
@@ -250,6 +263,7 @@ schemas:
250
263
  applies_to:
251
264
  - _class: Expressir::Model::Expressions::SimpleReference
252
265
  id: remark_entity
266
+ base_path: remark_schema.remark_entity
253
267
  types:
254
268
  - _class: Expressir::Model::Type
255
269
  id: remark_type
@@ -257,7 +271,7 @@ schemas:
257
271
  - rule scope - rule type
258
272
  - schema scope - rule type
259
273
  - universal scope - rule type
260
- type:
274
+ underlying_type:
261
275
  _class: Expressir::Model::Types::Enumeration
262
276
  items:
263
277
  - _class: Expressir::Model::EnumerationItem
@@ -298,6 +312,7 @@ schemas:
298
312
  expression:
299
313
  _class: Expressir::Model::Expressions::SimpleReference
300
314
  id: remark_variable
315
+ base_path: remark_schema.remark_rule.remark_variable
301
316
  statements:
302
317
  - _class: Expressir::Model::Statements::Null
303
318
  - _class: Expressir::Model::Statements::Repeat
@@ -316,6 +331,7 @@ schemas:
316
331
  ref:
317
332
  _class: Expressir::Model::Expressions::SimpleReference
318
333
  id: remark_variable
334
+ base_path: remark_schema.remark_rule.remark_variable
319
335
  expression:
320
336
  _class: Expressir::Model::Expressions::QueryExpression
321
337
  id: remark_query
@@ -324,11 +340,12 @@ schemas:
324
340
  aggregate_source:
325
341
  _class: Expressir::Model::Expressions::SimpleReference
326
342
  id: remark_variable
343
+ base_path: remark_schema.remark_rule.remark_variable
327
344
  expression:
328
345
  _class: Expressir::Model::Literals::Logical
329
346
  value: :TRUE
330
- where:
331
- - _class: Expressir::Model::Where
347
+ where_rules:
348
+ - _class: Expressir::Model::WhereRule
332
349
  id: WR1
333
350
  remarks:
334
351
  - rule scope - rule where
@@ -341,7 +358,7 @@ schemas:
341
358
  _class: Expressir::Model::Literals::Logical
342
359
  value: :TRUE
343
360
  informal_propositions:
344
- - _class: Expressir::Model::InformalProposition
361
+ - _class: Expressir::Model::RemarkItem
345
362
  id: IP1
346
363
  remarks:
347
364
  - rule scope - rule informal proposition
@@ -372,7 +389,7 @@ schemas:
372
389
  - procedure scope - procedure type
373
390
  - schema scope - procedure type
374
391
  - universal scope - procedure type
375
- type:
392
+ underlying_type:
376
393
  _class: Expressir::Model::Types::Enumeration
377
394
  items:
378
395
  - _class: Expressir::Model::EnumerationItem
@@ -415,6 +432,7 @@ schemas:
415
432
  expression:
416
433
  _class: Expressir::Model::Expressions::SimpleReference
417
434
  id: remark_variable
435
+ base_path: remark_schema.remark_procedure.remark_variable
418
436
  statements:
419
437
  - _class: Expressir::Model::Statements::Null
420
438
  - _class: Expressir::Model::Statements::Repeat
@@ -433,6 +451,7 @@ schemas:
433
451
  ref:
434
452
  _class: Expressir::Model::Expressions::SimpleReference
435
453
  id: remark_variable
454
+ base_path: remark_schema.remark_procedure.remark_variable
436
455
  expression:
437
456
  _class: Expressir::Model::Expressions::QueryExpression
438
457
  id: remark_query
@@ -441,6 +460,7 @@ schemas:
441
460
  aggregate_source:
442
461
  _class: Expressir::Model::Expressions::SimpleReference
443
462
  id: remark_variable
463
+ base_path: remark_schema.remark_procedure.remark_variable
444
464
  expression:
445
465
  _class: Expressir::Model::Literals::Logical
446
466
  value: :TRUE