expressir 0.2.24-arm64-darwin → 1.1.0-arm64-darwin

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.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.gitignore +2 -2
  4. data/.yardopts +11 -0
  5. data/Rakefile +3 -0
  6. data/demo.rb +5 -5
  7. data/exe/format +10 -73
  8. data/exe/format-test +81 -0
  9. data/expressir.gemspec +3 -1
  10. data/lib/expressir.rb +0 -1
  11. data/lib/expressir/cli.rb +0 -6
  12. data/lib/expressir/{express_exp → express}/2.4/express_parser.bundle +0 -0
  13. data/lib/expressir/{express_exp → express}/2.5/express_parser.bundle +0 -0
  14. data/lib/expressir/{express_exp → express}/2.6/express_parser.bundle +0 -0
  15. data/lib/expressir/{express_exp → express}/2.7/express_parser.bundle +0 -0
  16. data/lib/expressir/{express_exp → express}/3.0/express_parser.bundle +0 -0
  17. data/lib/expressir/express/cache.rb +51 -0
  18. data/lib/expressir/{express_exp → express}/formatter.rb +306 -239
  19. data/lib/expressir/express/hyperlink_formatter.rb +36 -0
  20. data/lib/expressir/express/model_visitor.rb +24 -0
  21. data/lib/expressir/express/parser.rb +81 -0
  22. data/lib/expressir/express/resolve_references_model_visitor.rb +31 -0
  23. data/lib/expressir/express/schema_head_formatter.rb +23 -0
  24. data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
  25. data/lib/expressir/model.rb +52 -43
  26. data/lib/expressir/model/cache.rb +6 -2
  27. data/lib/expressir/model/data_type.rb +9 -0
  28. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  29. data/lib/expressir/model/data_types/array.rb +31 -0
  30. data/lib/expressir/model/data_types/bag.rb +25 -0
  31. data/lib/expressir/model/data_types/binary.rb +22 -0
  32. data/lib/expressir/model/data_types/boolean.rb +10 -0
  33. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  34. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  35. data/lib/expressir/model/data_types/generic.rb +26 -0
  36. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  37. data/lib/expressir/model/data_types/integer.rb +10 -0
  38. data/lib/expressir/model/data_types/list.rb +28 -0
  39. data/lib/expressir/model/data_types/logical.rb +10 -0
  40. data/lib/expressir/model/data_types/number.rb +10 -0
  41. data/lib/expressir/model/data_types/real.rb +19 -0
  42. data/lib/expressir/model/data_types/select.rb +28 -0
  43. data/lib/expressir/model/data_types/set.rb +25 -0
  44. data/lib/expressir/model/data_types/string.rb +22 -0
  45. data/lib/expressir/model/declaration.rb +9 -0
  46. data/lib/expressir/model/declarations/attribute.rb +47 -0
  47. data/lib/expressir/model/declarations/constant.rb +34 -0
  48. data/lib/expressir/model/declarations/entity.rb +53 -0
  49. data/lib/expressir/model/declarations/function.rb +67 -0
  50. data/lib/expressir/model/declarations/interface.rb +28 -0
  51. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  52. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  53. data/lib/expressir/model/declarations/parameter.rb +34 -0
  54. data/lib/expressir/model/declarations/procedure.rb +64 -0
  55. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  56. data/lib/expressir/model/declarations/rule.rb +71 -0
  57. data/lib/expressir/model/declarations/schema.rb +117 -0
  58. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  59. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  60. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  61. data/lib/expressir/model/declarations/type.rb +45 -0
  62. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  63. data/lib/expressir/model/declarations/variable.rb +34 -0
  64. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  65. data/lib/expressir/model/expression.rb +9 -0
  66. data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
  67. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  68. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  69. data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
  70. data/lib/expressir/model/expressions/function_call.rb +22 -0
  71. data/lib/expressir/model/expressions/interval.rb +17 -6
  72. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  73. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  74. data/lib/expressir/model/identifier.rb +26 -4
  75. data/lib/expressir/model/literal.rb +9 -0
  76. data/lib/expressir/model/literals/binary.rb +6 -2
  77. data/lib/expressir/model/literals/integer.rb +6 -2
  78. data/lib/expressir/model/literals/logical.rb +6 -2
  79. data/lib/expressir/model/literals/real.rb +6 -2
  80. data/lib/expressir/model/literals/string.rb +8 -3
  81. data/lib/expressir/model/model_element.rb +70 -37
  82. data/lib/expressir/model/reference.rb +9 -0
  83. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  84. data/lib/expressir/model/references/group_reference.rb +22 -0
  85. data/lib/expressir/model/references/index_reference.rb +27 -0
  86. data/lib/expressir/model/references/simple_reference.rb +24 -0
  87. data/lib/expressir/model/repository.rb +8 -2
  88. data/lib/expressir/model/statement.rb +9 -0
  89. data/lib/expressir/model/statements/alias.rb +12 -8
  90. data/lib/expressir/model/statements/assignment.rb +8 -3
  91. data/lib/expressir/model/statements/case.rb +11 -5
  92. data/lib/expressir/model/statements/case_action.rb +8 -3
  93. data/lib/expressir/model/statements/compound.rb +7 -3
  94. data/lib/expressir/model/statements/escape.rb +3 -1
  95. data/lib/expressir/model/statements/if.rb +12 -6
  96. data/lib/expressir/model/statements/null.rb +3 -1
  97. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  98. data/lib/expressir/model/statements/repeat.rb +20 -12
  99. data/lib/expressir/model/statements/return.rb +6 -2
  100. data/lib/expressir/model/statements/skip.rb +3 -1
  101. data/lib/expressir/model/supertype_expression.rb +9 -0
  102. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  103. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  104. data/lib/expressir/version.rb +1 -1
  105. data/rakelib/cross-ruby.rake +1 -1
  106. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  107. data/spec/expressir/express/formatter_spec.rb +127 -0
  108. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  109. data/spec/expressir/model/model_element_spec.rb +181 -129
  110. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  111. data/spec/syntax/multiple.yaml +198 -0
  112. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  113. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  114. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  115. data/{original/examples → spec}/syntax/remark.exp +0 -0
  116. data/{original/examples → spec}/syntax/remark.yaml +87 -73
  117. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  118. data/spec/syntax/single.exp +4 -0
  119. data/spec/syntax/single.yaml +18 -0
  120. data/spec/syntax/single_formatted.exp +10 -0
  121. data/spec/syntax/single_formatted.yaml +36 -0
  122. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  123. data/{original/examples → spec}/syntax/syntax.yaml +1181 -1111
  124. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  125. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  126. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  127. metadata +124 -114
  128. data/lib/expressir/express.rb +0 -11
  129. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  130. data/lib/expressir/express/attribute.rb +0 -15
  131. data/lib/expressir/express/comment.rb +0 -7
  132. data/lib/expressir/express/defined_type.rb +0 -36
  133. data/lib/expressir/express/derived.rb +0 -65
  134. data/lib/expressir/express/derived_aggregate.rb +0 -43
  135. data/lib/expressir/express/entity.rb +0 -137
  136. data/lib/expressir/express/explicit.rb +0 -70
  137. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  138. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  139. data/lib/expressir/express/global_rule.rb +0 -44
  140. data/lib/expressir/express/interface_specification.rb +0 -51
  141. data/lib/expressir/express/interfaced_item.rb +0 -38
  142. data/lib/expressir/express/inverse.rb +0 -46
  143. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  144. data/lib/expressir/express/model_element.rb +0 -7
  145. data/lib/expressir/express/named_type.rb +0 -19
  146. data/lib/expressir/express/remark.rb +0 -8
  147. data/lib/expressir/express/repository.rb +0 -306
  148. data/lib/expressir/express/schema_definition.rb +0 -96
  149. data/lib/expressir/express/subtype_constraint.rb +0 -14
  150. data/lib/expressir/express/type.rb +0 -26
  151. data/lib/expressir/express/type_aggregate.rb +0 -42
  152. data/lib/expressir/express/type_enum.rb +0 -29
  153. data/lib/expressir/express/type_parser.rb +0 -45
  154. data/lib/expressir/express/type_select.rb +0 -82
  155. data/lib/expressir/express/unique_rule.rb +0 -35
  156. data/lib/expressir/express/where_rule.rb +0 -32
  157. data/lib/expressir/express_exp/cache.rb +0 -48
  158. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  159. data/lib/expressir/express_exp/parser.rb +0 -64
  160. data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
  161. data/lib/expressir/express_parser.rb +0 -30
  162. data/lib/expressir/model/attribute.rb +0 -38
  163. data/lib/expressir/model/constant.rb +0 -28
  164. data/lib/expressir/model/entity.rb +0 -42
  165. data/lib/expressir/model/enumeration_item.rb +0 -22
  166. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  167. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  168. data/lib/expressir/model/expressions/call.rb +0 -17
  169. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  170. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  171. data/lib/expressir/model/expressions/simple_reference.rb +0 -15
  172. data/lib/expressir/model/function.rb +0 -57
  173. data/lib/expressir/model/interface.rb +0 -20
  174. data/lib/expressir/model/interface_item.rb +0 -15
  175. data/lib/expressir/model/interfaced_item.rb +0 -31
  176. data/lib/expressir/model/parameter.rb +0 -28
  177. data/lib/expressir/model/procedure.rb +0 -55
  178. data/lib/expressir/model/remark_item.rb +0 -15
  179. data/lib/expressir/model/rule.rb +0 -60
  180. data/lib/expressir/model/schema.rb +0 -98
  181. data/lib/expressir/model/statements/call.rb +0 -17
  182. data/lib/expressir/model/subtype_constraint.rb +0 -32
  183. data/lib/expressir/model/type.rb +0 -37
  184. data/lib/expressir/model/types/aggregate.rb +0 -28
  185. data/lib/expressir/model/types/array.rb +0 -23
  186. data/lib/expressir/model/types/bag.rb +0 -19
  187. data/lib/expressir/model/types/binary.rb +0 -17
  188. data/lib/expressir/model/types/boolean.rb +0 -8
  189. data/lib/expressir/model/types/enumeration.rb +0 -21
  190. data/lib/expressir/model/types/generic.rb +0 -24
  191. data/lib/expressir/model/types/generic_entity.rb +0 -24
  192. data/lib/expressir/model/types/integer.rb +0 -8
  193. data/lib/expressir/model/types/list.rb +0 -21
  194. data/lib/expressir/model/types/logical.rb +0 -8
  195. data/lib/expressir/model/types/number.rb +0 -8
  196. data/lib/expressir/model/types/real.rb +0 -15
  197. data/lib/expressir/model/types/select.rb +0 -23
  198. data/lib/expressir/model/types/set.rb +0 -19
  199. data/lib/expressir/model/types/string.rb +0 -17
  200. data/lib/expressir/model/unique.rb +0 -26
  201. data/lib/expressir/model/variable.rb +0 -28
  202. data/lib/expressir/model/where.rb +0 -26
  203. data/lib/expressir/parser.rb +0 -6
  204. data/lib/expressir/parser/owl_parser.rb +0 -8
  205. data/original/examples/syntax/multiple.yaml +0 -184
  206. data/original/examples/syntax/single.exp +0 -3
  207. data/original/examples/syntax/single.yaml +0 -9
  208. data/original/examples/syntax/single_formatted.exp +0 -6
  209. data/original/examples/syntax/single_formatted.yaml +0 -19
  210. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  211. data/spec/expressir/express/repository_spec.rb +0 -25
  212. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -1,4 +1,4 @@
1
- SCHEMA syntax_schema 'version';
1
+ SCHEMA syntax_schema '{ISO standard 10303 part(41) object(1) version(8)}';
2
2
 
3
3
  USE FROM contract_schema;
4
4
  USE FROM contract_schema
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.24
4
+ version: 1.1.0
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-21 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nokogiri
14
+ name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.10'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: thor
28
+ name: asciidoctor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :runtime
33
+ version: 2.0.13
34
+ type: :development
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: '1.0'
40
+ version: 2.0.13
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: antlr4-native
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,34 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '3.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: yard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.9.26
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.9.26
167
+ - !ruby/object:Gem::Dependency
168
+ name: webrick
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.7.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.7.0
153
181
  description: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
154
182
  email:
155
183
  - open.source@ribose.com'
@@ -165,6 +193,7 @@ files:
165
193
  - ".gitmodules"
166
194
  - ".rspec"
167
195
  - ".rubocop.yml"
196
+ - ".yardopts"
168
197
  - Gemfile
169
198
  - README.adoc
170
199
  - Rakefile
@@ -175,123 +204,105 @@ files:
175
204
  - docs/development.md
176
205
  - exe/expressir
177
206
  - exe/format
207
+ - exe/format-test
178
208
  - exe/generate-parser
179
209
  - expressir.gemspec
180
210
  - lib/expressir.rb
181
211
  - lib/expressir/cli.rb
182
212
  - lib/expressir/cli/ui.rb
183
213
  - lib/expressir/config.rb
184
- - lib/expressir/express.rb
185
- - lib/expressir/express/aggregate_dimension.rb
186
- - lib/expressir/express/attribute.rb
187
- - lib/expressir/express/comment.rb
188
- - lib/expressir/express/defined_type.rb
189
- - lib/expressir/express/derived.rb
190
- - lib/expressir/express/derived_aggregate.rb
191
- - lib/expressir/express/entity.rb
192
- - lib/expressir/express/explicit.rb
193
- - lib/expressir/express/explicit_aggregate.rb
194
- - lib/expressir/express/explicit_or_derived.rb
195
- - lib/expressir/express/global_rule.rb
196
- - lib/expressir/express/interface_specification.rb
197
- - lib/expressir/express/interfaced_item.rb
198
- - lib/expressir/express/inverse.rb
199
- - lib/expressir/express/inverse_aggregate.rb
200
- - lib/expressir/express/model_element.rb
201
- - lib/expressir/express/named_type.rb
202
- - lib/expressir/express/remark.rb
203
- - lib/expressir/express/repository.rb
204
- - lib/expressir/express/schema_definition.rb
205
- - lib/expressir/express/subtype_constraint.rb
206
- - lib/expressir/express/type.rb
207
- - lib/expressir/express/type_aggregate.rb
208
- - lib/expressir/express/type_enum.rb
209
- - lib/expressir/express/type_parser.rb
210
- - lib/expressir/express/type_select.rb
211
- - lib/expressir/express/unique_rule.rb
212
- - lib/expressir/express/where_rule.rb
213
- - lib/expressir/express_exp/2.4/express_parser.bundle
214
- - lib/expressir/express_exp/2.5/express_parser.bundle
215
- - lib/expressir/express_exp/2.6/express_parser.bundle
216
- - lib/expressir/express_exp/2.7/express_parser.bundle
217
- - lib/expressir/express_exp/3.0/express_parser.bundle
218
- - lib/expressir/express_exp/cache.rb
219
- - lib/expressir/express_exp/formatter.rb
220
- - lib/expressir/express_exp/hyperlink_formatter.rb
221
- - lib/expressir/express_exp/parser.rb
222
- - lib/expressir/express_exp/schema_head_formatter.rb
223
- - lib/expressir/express_exp/visitor.rb
224
- - lib/expressir/express_parser.rb
214
+ - lib/expressir/express/2.4/express_parser.bundle
215
+ - lib/expressir/express/2.5/express_parser.bundle
216
+ - lib/expressir/express/2.6/express_parser.bundle
217
+ - lib/expressir/express/2.7/express_parser.bundle
218
+ - lib/expressir/express/3.0/express_parser.bundle
219
+ - lib/expressir/express/cache.rb
220
+ - lib/expressir/express/formatter.rb
221
+ - lib/expressir/express/hyperlink_formatter.rb
222
+ - lib/expressir/express/model_visitor.rb
223
+ - lib/expressir/express/parser.rb
224
+ - lib/expressir/express/resolve_references_model_visitor.rb
225
+ - lib/expressir/express/schema_head_formatter.rb
226
+ - lib/expressir/express/visitor.rb
225
227
  - lib/expressir/model.rb
226
- - lib/expressir/model/attribute.rb
227
228
  - lib/expressir/model/cache.rb
228
- - lib/expressir/model/constant.rb
229
- - lib/expressir/model/entity.rb
230
- - lib/expressir/model/enumeration_item.rb
229
+ - lib/expressir/model/data_type.rb
230
+ - lib/expressir/model/data_types/aggregate.rb
231
+ - lib/expressir/model/data_types/array.rb
232
+ - lib/expressir/model/data_types/bag.rb
233
+ - lib/expressir/model/data_types/binary.rb
234
+ - lib/expressir/model/data_types/boolean.rb
235
+ - lib/expressir/model/data_types/enumeration.rb
236
+ - lib/expressir/model/data_types/enumeration_item.rb
237
+ - lib/expressir/model/data_types/generic.rb
238
+ - lib/expressir/model/data_types/generic_entity.rb
239
+ - lib/expressir/model/data_types/integer.rb
240
+ - lib/expressir/model/data_types/list.rb
241
+ - lib/expressir/model/data_types/logical.rb
242
+ - lib/expressir/model/data_types/number.rb
243
+ - lib/expressir/model/data_types/real.rb
244
+ - lib/expressir/model/data_types/select.rb
245
+ - lib/expressir/model/data_types/set.rb
246
+ - lib/expressir/model/data_types/string.rb
247
+ - lib/expressir/model/declaration.rb
248
+ - lib/expressir/model/declarations/attribute.rb
249
+ - lib/expressir/model/declarations/constant.rb
250
+ - lib/expressir/model/declarations/entity.rb
251
+ - lib/expressir/model/declarations/function.rb
252
+ - lib/expressir/model/declarations/interface.rb
253
+ - lib/expressir/model/declarations/interface_item.rb
254
+ - lib/expressir/model/declarations/interfaced_item.rb
255
+ - lib/expressir/model/declarations/parameter.rb
256
+ - lib/expressir/model/declarations/procedure.rb
257
+ - lib/expressir/model/declarations/remark_item.rb
258
+ - lib/expressir/model/declarations/rule.rb
259
+ - lib/expressir/model/declarations/schema.rb
260
+ - lib/expressir/model/declarations/schema_version.rb
261
+ - lib/expressir/model/declarations/schema_version_item.rb
262
+ - lib/expressir/model/declarations/subtype_constraint.rb
263
+ - lib/expressir/model/declarations/type.rb
264
+ - lib/expressir/model/declarations/unique_rule.rb
265
+ - lib/expressir/model/declarations/variable.rb
266
+ - lib/expressir/model/declarations/where_rule.rb
267
+ - lib/expressir/model/expression.rb
231
268
  - lib/expressir/model/expressions/aggregate_initializer.rb
232
- - lib/expressir/model/expressions/aggregate_item.rb
233
- - lib/expressir/model/expressions/attribute_reference.rb
269
+ - lib/expressir/model/expressions/aggregate_initializer_item.rb
234
270
  - lib/expressir/model/expressions/binary_expression.rb
235
- - lib/expressir/model/expressions/call.rb
236
271
  - lib/expressir/model/expressions/entity_constructor.rb
237
- - lib/expressir/model/expressions/group_reference.rb
238
- - lib/expressir/model/expressions/index_reference.rb
272
+ - lib/expressir/model/expressions/function_call.rb
239
273
  - lib/expressir/model/expressions/interval.rb
240
274
  - lib/expressir/model/expressions/query_expression.rb
241
- - lib/expressir/model/expressions/simple_reference.rb
242
275
  - lib/expressir/model/expressions/unary_expression.rb
243
- - lib/expressir/model/function.rb
244
276
  - lib/expressir/model/identifier.rb
245
- - lib/expressir/model/interface.rb
246
- - lib/expressir/model/interface_item.rb
247
- - lib/expressir/model/interfaced_item.rb
277
+ - lib/expressir/model/literal.rb
248
278
  - lib/expressir/model/literals/binary.rb
249
279
  - lib/expressir/model/literals/integer.rb
250
280
  - lib/expressir/model/literals/logical.rb
251
281
  - lib/expressir/model/literals/real.rb
252
282
  - lib/expressir/model/literals/string.rb
253
283
  - lib/expressir/model/model_element.rb
254
- - lib/expressir/model/parameter.rb
255
- - lib/expressir/model/procedure.rb
256
- - lib/expressir/model/remark_item.rb
284
+ - lib/expressir/model/reference.rb
285
+ - lib/expressir/model/references/attribute_reference.rb
286
+ - lib/expressir/model/references/group_reference.rb
287
+ - lib/expressir/model/references/index_reference.rb
288
+ - lib/expressir/model/references/simple_reference.rb
257
289
  - lib/expressir/model/repository.rb
258
- - lib/expressir/model/rule.rb
259
- - lib/expressir/model/schema.rb
290
+ - lib/expressir/model/statement.rb
260
291
  - lib/expressir/model/statements/alias.rb
261
292
  - lib/expressir/model/statements/assignment.rb
262
- - lib/expressir/model/statements/call.rb
263
293
  - lib/expressir/model/statements/case.rb
264
294
  - lib/expressir/model/statements/case_action.rb
265
295
  - lib/expressir/model/statements/compound.rb
266
296
  - lib/expressir/model/statements/escape.rb
267
297
  - lib/expressir/model/statements/if.rb
268
298
  - lib/expressir/model/statements/null.rb
299
+ - lib/expressir/model/statements/procedure_call.rb
269
300
  - lib/expressir/model/statements/repeat.rb
270
301
  - lib/expressir/model/statements/return.rb
271
302
  - lib/expressir/model/statements/skip.rb
272
- - lib/expressir/model/subtype_constraint.rb
273
- - lib/expressir/model/type.rb
274
- - lib/expressir/model/types/aggregate.rb
275
- - lib/expressir/model/types/array.rb
276
- - lib/expressir/model/types/bag.rb
277
- - lib/expressir/model/types/binary.rb
278
- - lib/expressir/model/types/boolean.rb
279
- - lib/expressir/model/types/enumeration.rb
280
- - lib/expressir/model/types/generic.rb
281
- - lib/expressir/model/types/generic_entity.rb
282
- - lib/expressir/model/types/integer.rb
283
- - lib/expressir/model/types/list.rb
284
- - lib/expressir/model/types/logical.rb
285
- - lib/expressir/model/types/number.rb
286
- - lib/expressir/model/types/real.rb
287
- - lib/expressir/model/types/select.rb
288
- - lib/expressir/model/types/set.rb
289
- - lib/expressir/model/types/string.rb
290
- - lib/expressir/model/unique.rb
291
- - lib/expressir/model/variable.rb
292
- - lib/expressir/model/where.rb
293
- - lib/expressir/parser.rb
294
- - lib/expressir/parser/owl_parser.rb
303
+ - lib/expressir/model/supertype_expression.rb
304
+ - lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
305
+ - lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
295
306
  - lib/expressir/version.rb
296
307
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
297
308
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
@@ -322,22 +333,6 @@ files:
322
333
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl
323
334
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi
324
335
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml
325
- - original/examples/syntax/multiple.exp
326
- - original/examples/syntax/multiple.yaml
327
- - original/examples/syntax/multiple_formatted.exp
328
- - original/examples/syntax/multiple_hyperlink_formatted.exp
329
- - original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp
330
- - original/examples/syntax/remark.exp
331
- - original/examples/syntax/remark.yaml
332
- - original/examples/syntax/remark_formatted.exp
333
- - original/examples/syntax/single.exp
334
- - original/examples/syntax/single.yaml
335
- - original/examples/syntax/single_formatted.exp
336
- - original/examples/syntax/single_formatted.yaml
337
- - original/examples/syntax/syntax.exp
338
- - original/examples/syntax/syntax.yaml
339
- - original/examples/syntax/syntax_formatted.exp
340
- - original/examples/syntax/syntax_schema_head_formatted.exp
341
336
  - original/exp2ruby.rb
342
337
  - original/expsm.rb
343
338
  - original/mapping_owl.rb
@@ -346,16 +341,31 @@ files:
346
341
  - original/mapping_uml2_eclipse.rb
347
342
  - original/reeper.rb
348
343
  - rakelib/cross-ruby.rake
349
- - spec/acceptance/express_to_owl_spec.rb
350
344
  - spec/acceptance/version_spec.rb
351
- - spec/expressir/express/repository_spec.rb
352
- - spec/expressir/express_exp/cache_spec.rb
353
- - spec/expressir/express_exp/formatter_spec.rb
354
- - spec/expressir/express_exp/parser_spec.rb
345
+ - spec/expressir/express/cache_spec.rb
346
+ - spec/expressir/express/formatter_spec.rb
347
+ - spec/expressir/express/parser_spec.rb
355
348
  - spec/expressir/model/model_element_spec.rb
356
349
  - spec/expressr_spec.rb
357
350
  - spec/spec_helper.rb
358
351
  - spec/support/console_helper.rb
352
+ - spec/syntax/multiple.exp
353
+ - spec/syntax/multiple.yaml
354
+ - spec/syntax/multiple_formatted.exp
355
+ - spec/syntax/multiple_hyperlink_formatted.exp
356
+ - spec/syntax/multiple_schema_head_hyperlink_formatted.exp
357
+ - spec/syntax/remark.exp
358
+ - spec/syntax/remark.yaml
359
+ - spec/syntax/remark_formatted.exp
360
+ - spec/syntax/single.exp
361
+ - spec/syntax/single.yaml
362
+ - spec/syntax/single_formatted.exp
363
+ - spec/syntax/single_formatted.yaml
364
+ - spec/syntax/syntax.exp
365
+ - spec/syntax/syntax.yaml
366
+ - spec/syntax/syntax_formatted.exp
367
+ - spec/syntax/syntax_hyperlink_formatted.exp
368
+ - spec/syntax/syntax_schema_head_formatted.exp
359
369
  homepage: https://github.com/lutaml/expressir
360
370
  licenses:
361
371
  - MIT
@@ -1,11 +0,0 @@
1
- require "nokogiri"
2
- require "expressir/express/repository"
3
- require "expressir/express/schema_definition"
4
-
5
- module Expressir
6
- module Express
7
- def self.from_xml(file)
8
- Expressir::Express::Repository.from_xml(file)
9
- end
10
- end
11
- end
@@ -1,38 +0,0 @@
1
- module Expressir
2
- module Express
3
- class AggregateDimension
4
- attr_accessor :aggrtype, :lower, :upper, :isUnique, :isOptionalArray
5
-
6
- def initialize(options = {})
7
- @aggrtype = "SET"
8
- @lower = "0"
9
- @upper = "?"
10
- @isUnique = false
11
- @isOptionalArray = false
12
-
13
- @options = options
14
- end
15
-
16
- def parse
17
- document = @options.fetch(:document, nil)
18
- extract_attributes(document) if document
19
-
20
- self
21
- end
22
-
23
- def self.parse(document)
24
- new(document: document).parse
25
- end
26
-
27
- private
28
-
29
- def extract_attributes(document)
30
- @aggrtype = document.attributes["type"]
31
- @lower = document.attributes["lower"]
32
- @upper = document.attributes["upper"]
33
- @isUnique = document.attributes["unique"] == "YES"
34
- @isOptionalArray = document.attributes["optional"] == "YES"
35
- end
36
- end
37
- end
38
- end
@@ -1,15 +0,0 @@
1
- require "expressir/express/model_element"
2
-
3
- module Expressir
4
- module Express
5
- class Attribute < ModelElement
6
- attr_accessor :name, :entity, :domain, :redeclare_entity,
7
- :redeclare_oldname
8
-
9
- def initialize
10
- @redeclare_entity = nil
11
- @redeclare_oldname = nil
12
- end
13
- end
14
- end
15
- end
@@ -1,7 +0,0 @@
1
- module Expressir
2
- module Express
3
- class Comment
4
- attr_accessor :comment, :ModelElement
5
- end
6
- end
7
- end
@@ -1,36 +0,0 @@
1
- require "expressir/express/named_type"
2
-
3
- module Expressir
4
- module Express
5
- class DefinedType < NamedType
6
- def initialize(options = {})
7
- @options = options
8
- @schema = options.fetch(:schema)
9
- end
10
-
11
- def parse
12
- document = @options.fetch(:document)
13
- extract_type_attributes(document)
14
-
15
- self
16
- end
17
-
18
- def self.parse(document, schema)
19
- new(document: document, schema: schema).parse
20
- end
21
-
22
- private
23
-
24
- def extract_type_attributes(document)
25
- @name = document.attributes["name"].to_s
26
- @wheres = extract_where_rules(document)
27
- end
28
-
29
- def extract_where_rules(document)
30
- document.xpath("where").map do |where|
31
- Express::WhereRule.parse(where)
32
- end
33
- end
34
- end
35
- end
36
- end