expressir 1.0.0-x64-mingw32 → 1.2.1-x64-mingw32

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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +6 -18
  3. data/.github/workflows/rake.yml +50 -5
  4. data/.github/workflows/release.yml +11 -3
  5. data/.hound.yml +3 -0
  6. data/.rubocop.yml +6 -506
  7. data/.yardopts +11 -0
  8. data/Rakefile +3 -0
  9. data/expressir.gemspec +4 -1
  10. data/lib/expressir/express/2.7/express_parser.so +0 -0
  11. data/lib/expressir/express/3.0/express_parser.so +0 -0
  12. data/lib/expressir/express/cache.rb +16 -10
  13. data/lib/expressir/express/formatter.rb +231 -180
  14. data/lib/expressir/express/hyperlink_formatter.rb +15 -1
  15. data/lib/expressir/express/model_visitor.rb +1 -0
  16. data/lib/expressir/express/parser.rb +16 -10
  17. data/lib/expressir/express/resolve_references_model_visitor.rb +7 -5
  18. data/lib/expressir/express/schema_head_formatter.rb +16 -2
  19. data/lib/expressir/express/visitor.rb +280 -254
  20. data/lib/expressir/model/cache.rb +6 -2
  21. data/lib/expressir/model/data_type.rb +9 -0
  22. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  23. data/lib/expressir/model/data_types/array.rb +31 -0
  24. data/lib/expressir/model/data_types/bag.rb +25 -0
  25. data/lib/expressir/model/data_types/binary.rb +22 -0
  26. data/lib/expressir/model/data_types/boolean.rb +10 -0
  27. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  28. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  29. data/lib/expressir/model/data_types/generic.rb +26 -0
  30. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  31. data/lib/expressir/model/data_types/integer.rb +10 -0
  32. data/lib/expressir/model/data_types/list.rb +28 -0
  33. data/lib/expressir/model/data_types/logical.rb +10 -0
  34. data/lib/expressir/model/data_types/number.rb +10 -0
  35. data/lib/expressir/model/data_types/real.rb +19 -0
  36. data/lib/expressir/model/data_types/select.rb +28 -0
  37. data/lib/expressir/model/data_types/set.rb +25 -0
  38. data/lib/expressir/model/data_types/string.rb +22 -0
  39. data/lib/expressir/model/declaration.rb +9 -0
  40. data/lib/expressir/model/declarations/attribute.rb +47 -0
  41. data/lib/expressir/model/declarations/constant.rb +34 -0
  42. data/lib/expressir/model/declarations/entity.rb +53 -0
  43. data/lib/expressir/model/declarations/function.rb +67 -0
  44. data/lib/expressir/model/declarations/interface.rb +28 -0
  45. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  46. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  47. data/lib/expressir/model/declarations/parameter.rb +34 -0
  48. data/lib/expressir/model/declarations/procedure.rb +64 -0
  49. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  50. data/lib/expressir/model/declarations/rule.rb +71 -0
  51. data/lib/expressir/model/declarations/schema.rb +117 -0
  52. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  53. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  54. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  55. data/lib/expressir/model/declarations/type.rb +45 -0
  56. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  57. data/lib/expressir/model/declarations/variable.rb +34 -0
  58. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  59. data/lib/expressir/model/expression.rb +9 -0
  60. data/lib/expressir/model/expressions/aggregate_initializer.rb +6 -2
  61. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  62. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  63. data/lib/expressir/model/expressions/entity_constructor.rb +8 -3
  64. data/lib/expressir/model/expressions/function_call.rb +22 -0
  65. data/lib/expressir/model/expressions/interval.rb +17 -6
  66. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  67. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  68. data/lib/expressir/model/identifier.rb +26 -4
  69. data/lib/expressir/model/literal.rb +9 -0
  70. data/lib/expressir/model/literals/binary.rb +6 -2
  71. data/lib/expressir/model/literals/integer.rb +6 -2
  72. data/lib/expressir/model/literals/logical.rb +6 -2
  73. data/lib/expressir/model/literals/real.rb +6 -2
  74. data/lib/expressir/model/literals/string.rb +8 -3
  75. data/lib/expressir/model/model_element.rb +63 -37
  76. data/lib/expressir/model/reference.rb +9 -0
  77. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  78. data/lib/expressir/model/references/group_reference.rb +22 -0
  79. data/lib/expressir/model/references/index_reference.rb +27 -0
  80. data/lib/expressir/model/references/simple_reference.rb +24 -0
  81. data/lib/expressir/model/repository.rb +5 -1
  82. data/lib/expressir/model/statement.rb +9 -0
  83. data/lib/expressir/model/statements/alias.rb +11 -7
  84. data/lib/expressir/model/statements/assignment.rb +8 -3
  85. data/lib/expressir/model/statements/case.rb +10 -4
  86. data/lib/expressir/model/statements/case_action.rb +7 -2
  87. data/lib/expressir/model/statements/compound.rb +6 -2
  88. data/lib/expressir/model/statements/escape.rb +3 -1
  89. data/lib/expressir/model/statements/if.rb +10 -4
  90. data/lib/expressir/model/statements/null.rb +3 -1
  91. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  92. data/lib/expressir/model/statements/repeat.rb +19 -11
  93. data/lib/expressir/model/statements/return.rb +6 -2
  94. data/lib/expressir/model/statements/skip.rb +3 -1
  95. data/lib/expressir/model/supertype_expression.rb +9 -0
  96. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  97. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  98. data/lib/expressir/model.rb +52 -45
  99. data/lib/expressir/version.rb +1 -1
  100. data/spec/expressir/model/model_element_spec.rb +131 -131
  101. data/spec/syntax/multiple.yaml +68 -68
  102. data/spec/syntax/remark.yaml +64 -64
  103. data/spec/syntax/single.yaml +5 -5
  104. data/spec/syntax/single_formatted.yaml +5 -5
  105. data/spec/syntax/syntax.yaml +1003 -1030
  106. metadata +103 -53
  107. data/lib/expressir/express/2.4/express_parser.so +0 -0
  108. data/lib/expressir/express/2.5/express_parser.so +0 -0
  109. data/lib/expressir/express/2.6/express_parser.so +0 -0
  110. data/lib/expressir/model/attribute.rb +0 -38
  111. data/lib/expressir/model/constant.rb +0 -28
  112. data/lib/expressir/model/entity.rb +0 -42
  113. data/lib/expressir/model/enumeration_item.rb +0 -22
  114. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  115. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  116. data/lib/expressir/model/expressions/call.rb +0 -17
  117. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  118. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  119. data/lib/expressir/model/expressions/simple_reference.rb +0 -19
  120. data/lib/expressir/model/function.rb +0 -57
  121. data/lib/expressir/model/interface.rb +0 -20
  122. data/lib/expressir/model/interface_item.rb +0 -15
  123. data/lib/expressir/model/interfaced_item.rb +0 -27
  124. data/lib/expressir/model/parameter.rb +0 -28
  125. data/lib/expressir/model/procedure.rb +0 -55
  126. data/lib/expressir/model/remark_item.rb +0 -15
  127. data/lib/expressir/model/rule.rb +0 -60
  128. data/lib/expressir/model/schema.rb +0 -100
  129. data/lib/expressir/model/schema_version.rb +0 -15
  130. data/lib/expressir/model/schema_version_item.rb +0 -15
  131. data/lib/expressir/model/statements/call.rb +0 -17
  132. data/lib/expressir/model/subtype_constraint.rb +0 -32
  133. data/lib/expressir/model/type.rb +0 -37
  134. data/lib/expressir/model/types/aggregate.rb +0 -28
  135. data/lib/expressir/model/types/array.rb +0 -23
  136. data/lib/expressir/model/types/bag.rb +0 -19
  137. data/lib/expressir/model/types/binary.rb +0 -17
  138. data/lib/expressir/model/types/boolean.rb +0 -8
  139. data/lib/expressir/model/types/enumeration.rb +0 -19
  140. data/lib/expressir/model/types/generic.rb +0 -24
  141. data/lib/expressir/model/types/generic_entity.rb +0 -24
  142. data/lib/expressir/model/types/integer.rb +0 -8
  143. data/lib/expressir/model/types/list.rb +0 -21
  144. data/lib/expressir/model/types/logical.rb +0 -8
  145. data/lib/expressir/model/types/number.rb +0 -8
  146. data/lib/expressir/model/types/real.rb +0 -15
  147. data/lib/expressir/model/types/select.rb +0 -21
  148. data/lib/expressir/model/types/set.rb +0 -19
  149. data/lib/expressir/model/types/string.rb +0 -17
  150. data/lib/expressir/model/unique_rule.rb +0 -26
  151. data/lib/expressir/model/variable.rb +0 -28
  152. data/lib/expressir/model/where_rule.rb +0 -26
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.1
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-18 00:00:00.000000000 Z
11
+ date: 2022-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: asciidoctor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.13
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.13
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: antlr4-native
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +150,34 @@ dependencies:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
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
139
181
  description: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
140
182
  email:
141
183
  - open.source@ribose.com'
@@ -149,8 +191,10 @@ files:
149
191
  - ".github/workflows/release.yml"
150
192
  - ".gitignore"
151
193
  - ".gitmodules"
194
+ - ".hound.yml"
152
195
  - ".rspec"
153
196
  - ".rubocop.yml"
197
+ - ".yardopts"
154
198
  - Gemfile
155
199
  - README.adoc
156
200
  - Rakefile
@@ -168,9 +212,6 @@ files:
168
212
  - lib/expressir/cli.rb
169
213
  - lib/expressir/cli/ui.rb
170
214
  - lib/expressir/config.rb
171
- - lib/expressir/express/2.4/express_parser.so
172
- - lib/expressir/express/2.5/express_parser.so
173
- - lib/expressir/express/2.6/express_parser.so
174
215
  - lib/expressir/express/2.7/express_parser.so
175
216
  - lib/expressir/express/3.0/express_parser.so
176
217
  - lib/expressir/express/cache.rb
@@ -182,75 +223,84 @@ files:
182
223
  - lib/expressir/express/schema_head_formatter.rb
183
224
  - lib/expressir/express/visitor.rb
184
225
  - lib/expressir/model.rb
185
- - lib/expressir/model/attribute.rb
186
226
  - lib/expressir/model/cache.rb
187
- - lib/expressir/model/constant.rb
188
- - lib/expressir/model/entity.rb
189
- - lib/expressir/model/enumeration_item.rb
227
+ - lib/expressir/model/data_type.rb
228
+ - lib/expressir/model/data_types/aggregate.rb
229
+ - lib/expressir/model/data_types/array.rb
230
+ - lib/expressir/model/data_types/bag.rb
231
+ - lib/expressir/model/data_types/binary.rb
232
+ - lib/expressir/model/data_types/boolean.rb
233
+ - lib/expressir/model/data_types/enumeration.rb
234
+ - lib/expressir/model/data_types/enumeration_item.rb
235
+ - lib/expressir/model/data_types/generic.rb
236
+ - lib/expressir/model/data_types/generic_entity.rb
237
+ - lib/expressir/model/data_types/integer.rb
238
+ - lib/expressir/model/data_types/list.rb
239
+ - lib/expressir/model/data_types/logical.rb
240
+ - lib/expressir/model/data_types/number.rb
241
+ - lib/expressir/model/data_types/real.rb
242
+ - lib/expressir/model/data_types/select.rb
243
+ - lib/expressir/model/data_types/set.rb
244
+ - lib/expressir/model/data_types/string.rb
245
+ - lib/expressir/model/declaration.rb
246
+ - lib/expressir/model/declarations/attribute.rb
247
+ - lib/expressir/model/declarations/constant.rb
248
+ - lib/expressir/model/declarations/entity.rb
249
+ - lib/expressir/model/declarations/function.rb
250
+ - lib/expressir/model/declarations/interface.rb
251
+ - lib/expressir/model/declarations/interface_item.rb
252
+ - lib/expressir/model/declarations/interfaced_item.rb
253
+ - lib/expressir/model/declarations/parameter.rb
254
+ - lib/expressir/model/declarations/procedure.rb
255
+ - lib/expressir/model/declarations/remark_item.rb
256
+ - lib/expressir/model/declarations/rule.rb
257
+ - lib/expressir/model/declarations/schema.rb
258
+ - lib/expressir/model/declarations/schema_version.rb
259
+ - lib/expressir/model/declarations/schema_version_item.rb
260
+ - lib/expressir/model/declarations/subtype_constraint.rb
261
+ - lib/expressir/model/declarations/type.rb
262
+ - lib/expressir/model/declarations/unique_rule.rb
263
+ - lib/expressir/model/declarations/variable.rb
264
+ - lib/expressir/model/declarations/where_rule.rb
265
+ - lib/expressir/model/expression.rb
190
266
  - lib/expressir/model/expressions/aggregate_initializer.rb
191
- - lib/expressir/model/expressions/aggregate_item.rb
192
- - lib/expressir/model/expressions/attribute_reference.rb
267
+ - lib/expressir/model/expressions/aggregate_initializer_item.rb
193
268
  - lib/expressir/model/expressions/binary_expression.rb
194
- - lib/expressir/model/expressions/call.rb
195
269
  - lib/expressir/model/expressions/entity_constructor.rb
196
- - lib/expressir/model/expressions/group_reference.rb
197
- - lib/expressir/model/expressions/index_reference.rb
270
+ - lib/expressir/model/expressions/function_call.rb
198
271
  - lib/expressir/model/expressions/interval.rb
199
272
  - lib/expressir/model/expressions/query_expression.rb
200
- - lib/expressir/model/expressions/simple_reference.rb
201
273
  - lib/expressir/model/expressions/unary_expression.rb
202
- - lib/expressir/model/function.rb
203
274
  - lib/expressir/model/identifier.rb
204
- - lib/expressir/model/interface.rb
205
- - lib/expressir/model/interface_item.rb
206
- - lib/expressir/model/interfaced_item.rb
275
+ - lib/expressir/model/literal.rb
207
276
  - lib/expressir/model/literals/binary.rb
208
277
  - lib/expressir/model/literals/integer.rb
209
278
  - lib/expressir/model/literals/logical.rb
210
279
  - lib/expressir/model/literals/real.rb
211
280
  - lib/expressir/model/literals/string.rb
212
281
  - lib/expressir/model/model_element.rb
213
- - lib/expressir/model/parameter.rb
214
- - lib/expressir/model/procedure.rb
215
- - lib/expressir/model/remark_item.rb
282
+ - lib/expressir/model/reference.rb
283
+ - lib/expressir/model/references/attribute_reference.rb
284
+ - lib/expressir/model/references/group_reference.rb
285
+ - lib/expressir/model/references/index_reference.rb
286
+ - lib/expressir/model/references/simple_reference.rb
216
287
  - lib/expressir/model/repository.rb
217
- - lib/expressir/model/rule.rb
218
- - lib/expressir/model/schema.rb
219
- - lib/expressir/model/schema_version.rb
220
- - lib/expressir/model/schema_version_item.rb
288
+ - lib/expressir/model/statement.rb
221
289
  - lib/expressir/model/statements/alias.rb
222
290
  - lib/expressir/model/statements/assignment.rb
223
- - lib/expressir/model/statements/call.rb
224
291
  - lib/expressir/model/statements/case.rb
225
292
  - lib/expressir/model/statements/case_action.rb
226
293
  - lib/expressir/model/statements/compound.rb
227
294
  - lib/expressir/model/statements/escape.rb
228
295
  - lib/expressir/model/statements/if.rb
229
296
  - lib/expressir/model/statements/null.rb
297
+ - lib/expressir/model/statements/procedure_call.rb
230
298
  - lib/expressir/model/statements/repeat.rb
231
299
  - lib/expressir/model/statements/return.rb
232
300
  - lib/expressir/model/statements/skip.rb
233
- - lib/expressir/model/subtype_constraint.rb
234
- - lib/expressir/model/type.rb
235
- - lib/expressir/model/types/aggregate.rb
236
- - lib/expressir/model/types/array.rb
237
- - lib/expressir/model/types/bag.rb
238
- - lib/expressir/model/types/binary.rb
239
- - lib/expressir/model/types/boolean.rb
240
- - lib/expressir/model/types/enumeration.rb
241
- - lib/expressir/model/types/generic.rb
242
- - lib/expressir/model/types/generic_entity.rb
243
- - lib/expressir/model/types/integer.rb
244
- - lib/expressir/model/types/list.rb
245
- - lib/expressir/model/types/logical.rb
246
- - lib/expressir/model/types/number.rb
247
- - lib/expressir/model/types/real.rb
248
- - lib/expressir/model/types/select.rb
249
- - lib/expressir/model/types/set.rb
250
- - lib/expressir/model/types/string.rb
251
- - lib/expressir/model/unique_rule.rb
252
- - lib/expressir/model/variable.rb
253
- - lib/expressir/model/where_rule.rb
301
+ - lib/expressir/model/supertype_expression.rb
302
+ - lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
303
+ - lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
254
304
  - lib/expressir/version.rb
255
305
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
256
306
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
@@ -321,7 +371,7 @@ metadata:
321
371
  homepage_uri: https://github.com/lutaml/expressir
322
372
  source_code_uri: https://github.com/lutaml/expressir
323
373
  changelog_uri: https://github.com/lutaml/expressir/releases
324
- post_install_message:
374
+ post_install_message:
325
375
  rdoc_options: []
326
376
  require_paths:
327
377
  - lib
@@ -329,7 +379,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
329
379
  requirements:
330
380
  - - ">="
331
381
  - !ruby/object:Gem::Version
332
- version: '2.4'
382
+ version: '2.7'
333
383
  - - "<"
334
384
  - !ruby/object:Gem::Version
335
385
  version: 3.1.dev
@@ -339,8 +389,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
339
389
  - !ruby/object:Gem::Version
340
390
  version: '0'
341
391
  requirements: []
342
- rubygems_version: 3.2.3
343
- signing_key:
392
+ rubygems_version: 3.3.4
393
+ signing_key:
344
394
  specification_version: 4
345
395
  summary: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
346
396
  test_files: []
@@ -1,38 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Attribute < ModelElement
4
- include Identifier
5
-
6
- EXPLICIT = :EXPLICIT
7
- DERIVED = :DERIVED
8
- INVERSE = :INVERSE
9
-
10
- model_attr_accessor :kind
11
- model_attr_accessor :supertype_attribute
12
- model_attr_accessor :optional
13
- model_attr_accessor :type
14
- model_attr_accessor :expression
15
-
16
- def initialize(options = {})
17
- @id = options[:id]
18
- @remarks = options[:remarks] || []
19
- @remark_items = options[:remark_items] || []
20
- @source = options[:source]
21
-
22
- @kind = options[:kind]
23
- @supertype_attribute = options[:supertype_attribute]
24
- @optional = options[:optional]
25
- @type = options[:type]
26
- @expression = options[:expression]
27
-
28
- super
29
- end
30
-
31
- def children
32
- [
33
- *remark_items
34
- ]
35
- end
36
- end
37
- end
38
- end
@@ -1,28 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Constant < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :type
7
- model_attr_accessor :expression
8
-
9
- def initialize(options = {})
10
- @id = options[:id]
11
- @remarks = options[:remarks] || []
12
- @remark_items = options[:remark_items] || []
13
- @source = options[:source]
14
-
15
- @type = options[:type]
16
- @expression = options[:expression]
17
-
18
- super
19
- end
20
-
21
- def children
22
- [
23
- *remark_items
24
- ]
25
- end
26
- end
27
- end
28
- end
@@ -1,42 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Entity < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :abstract
7
- model_attr_accessor :supertype_expression
8
- model_attr_accessor :subtype_of
9
- model_attr_accessor :attributes
10
- model_attr_accessor :unique_rules
11
- model_attr_accessor :where_rules
12
- model_attr_accessor :informal_propositions
13
-
14
- def initialize(options = {})
15
- @id = options[:id]
16
- @remarks = options[:remarks] || []
17
- @remark_items = options[:remark_items] || []
18
- @source = options[:source]
19
-
20
- @abstract = options[:abstract]
21
- @supertype_expression = options[:supertype_expression]
22
- @subtype_of = options[:subtype_of] || []
23
- @attributes = options[:attributes] || []
24
- @unique_rules = options[:unique_rules] || []
25
- @where_rules = options[:where_rules] || []
26
- @informal_propositions = options[:informal_propositions] || []
27
-
28
- super
29
- end
30
-
31
- def children
32
- [
33
- *attributes,
34
- *unique_rules,
35
- *where_rules,
36
- *informal_propositions,
37
- *remark_items
38
- ]
39
- end
40
- end
41
- end
42
- end
@@ -1,22 +0,0 @@
1
- module Expressir
2
- module Model
3
- class EnumerationItem < ModelElement
4
- include Identifier
5
-
6
- def initialize(options = {})
7
- @id = options[:id]
8
- @remarks = options[:remarks] || []
9
- @remark_items = options[:remark_items] || []
10
- @source = options[:source]
11
-
12
- super
13
- end
14
-
15
- def children
16
- [
17
- *remark_items
18
- ]
19
- end
20
- end
21
- end
22
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class AggregateItem < ModelElement
5
- model_attr_accessor :expression
6
- model_attr_accessor :repetition
7
-
8
- def initialize(options = {})
9
- @expression = options[:expression]
10
- @repetition = options[:repetition]
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class AttributeReference < ModelElement
5
- model_attr_accessor :ref
6
- model_attr_accessor :attribute
7
-
8
- def initialize(options = {})
9
- @ref = options[:ref]
10
- @attribute = options[:attribute]
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class Call < ModelElement
5
- model_attr_accessor :ref
6
- model_attr_accessor :parameters
7
-
8
- def initialize(options = {})
9
- @ref = options[:ref]
10
- @parameters = options[:parameters] || []
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class GroupReference < ModelElement
5
- model_attr_accessor :ref
6
- model_attr_accessor :entity
7
-
8
- def initialize(options = {})
9
- @ref = options[:ref]
10
- @entity = options[:entity]
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class IndexReference < ModelElement
5
- model_attr_accessor :ref
6
- model_attr_accessor :index1
7
- model_attr_accessor :index2
8
-
9
- def initialize(options = {})
10
- @ref = options[:ref]
11
- @index1 = options[:index1]
12
- @index2 = options[:index2]
13
-
14
- super
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class SimpleReference < ModelElement
5
- model_attr_accessor :id
6
-
7
- model_attr_accessor :base_path
8
-
9
- def initialize(options = {})
10
- @id = options[:id]
11
-
12
- @base_path = options[:base_path]
13
-
14
- super
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,57 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Function < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :parameters
7
- model_attr_accessor :return_type
8
- model_attr_accessor :types
9
- model_attr_accessor :entities
10
- model_attr_accessor :subtype_constraints
11
- model_attr_accessor :functions
12
- model_attr_accessor :procedures
13
- model_attr_accessor :constants
14
- model_attr_accessor :variables
15
- model_attr_accessor :statements
16
-
17
- def initialize(options = {})
18
- @id = options[:id]
19
- @remarks = options[:remarks] || []
20
- @remark_items = options[:remark_items] || []
21
- @source = options[:source]
22
-
23
- @parameters = options[:parameters] || []
24
- @return_type = options[:return_type]
25
- @types = options[:types] || []
26
- @entities = options[:entities] || []
27
- @subtype_constraints = options[:subtype_constraints] || []
28
- @functions = options[:functions] || []
29
- @procedures = options[:procedures] || []
30
- @constants = options[:constants] || []
31
- @variables = options[:variables] || []
32
- @statements = options[:statements] || []
33
-
34
- super
35
- end
36
-
37
- def enumeration_items
38
- types.flat_map{|x| x.enumeration_items}
39
- end
40
-
41
- def children
42
- [
43
- *parameters,
44
- *types,
45
- *enumeration_items,
46
- *entities,
47
- *subtype_constraints,
48
- *functions,
49
- *procedures,
50
- *constants,
51
- *variables,
52
- *remark_items
53
- ]
54
- end
55
- end
56
- end
57
- end
@@ -1,20 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Interface < ModelElement
4
- USE = :USE
5
- REFERENCE = :REFERENCE
6
-
7
- model_attr_accessor :kind
8
- model_attr_accessor :schema
9
- model_attr_accessor :items
10
-
11
- def initialize(options = {})
12
- @kind = options[:kind]
13
- @schema = options[:schema]
14
- @items = options[:items] || []
15
-
16
- super
17
- end
18
- end
19
- end
20
- end
@@ -1,15 +0,0 @@
1
- module Expressir
2
- module Model
3
- class InterfaceItem < ModelElement
4
- model_attr_accessor :ref
5
- model_attr_accessor :id
6
-
7
- def initialize(options = {})
8
- @ref = options[:ref]
9
- @id = options[:id]
10
-
11
- super
12
- end
13
- end
14
- end
15
- end
@@ -1,27 +0,0 @@
1
- module Expressir
2
- module Model
3
- class InterfacedItem < ModelElement
4
- model_attr_accessor :id
5
- model_attr_accessor :remarks
6
- model_attr_accessor :remark_items
7
-
8
- model_attr_accessor :base_item
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @remarks = options[:remarks] || []
13
- @remark_items = options[:remark_items] || []
14
-
15
- @base_item = options[:base_item]
16
-
17
- super
18
- end
19
-
20
- def children
21
- [
22
- *remark_items
23
- ]
24
- end
25
- end
26
- end
27
- end
@@ -1,28 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Parameter < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :var
7
- model_attr_accessor :type
8
-
9
- def initialize(options = {})
10
- @id = options[:id]
11
- @remarks = options[:remarks] || []
12
- @remark_items = options[:remark_items] || []
13
- @source = options[:source]
14
-
15
- @var = options[:var]
16
- @type = options[:type]
17
-
18
- super
19
- end
20
-
21
- def children
22
- [
23
- *remark_items
24
- ]
25
- end
26
- end
27
- end
28
- end