expressir 1.0.0-x86-mingw32 → 1.2.1-x86-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 (153) 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/3.1/express_parser.so +0 -0
  13. data/lib/expressir/express/cache.rb +16 -10
  14. data/lib/expressir/express/formatter.rb +231 -180
  15. data/lib/expressir/express/hyperlink_formatter.rb +15 -1
  16. data/lib/expressir/express/model_visitor.rb +1 -0
  17. data/lib/expressir/express/parser.rb +16 -10
  18. data/lib/expressir/express/resolve_references_model_visitor.rb +7 -5
  19. data/lib/expressir/express/schema_head_formatter.rb +16 -2
  20. data/lib/expressir/express/visitor.rb +280 -254
  21. data/lib/expressir/model/cache.rb +6 -2
  22. data/lib/expressir/model/data_type.rb +9 -0
  23. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  24. data/lib/expressir/model/data_types/array.rb +31 -0
  25. data/lib/expressir/model/data_types/bag.rb +25 -0
  26. data/lib/expressir/model/data_types/binary.rb +22 -0
  27. data/lib/expressir/model/data_types/boolean.rb +10 -0
  28. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  29. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  30. data/lib/expressir/model/data_types/generic.rb +26 -0
  31. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  32. data/lib/expressir/model/data_types/integer.rb +10 -0
  33. data/lib/expressir/model/data_types/list.rb +28 -0
  34. data/lib/expressir/model/data_types/logical.rb +10 -0
  35. data/lib/expressir/model/data_types/number.rb +10 -0
  36. data/lib/expressir/model/data_types/real.rb +19 -0
  37. data/lib/expressir/model/data_types/select.rb +28 -0
  38. data/lib/expressir/model/data_types/set.rb +25 -0
  39. data/lib/expressir/model/data_types/string.rb +22 -0
  40. data/lib/expressir/model/declaration.rb +9 -0
  41. data/lib/expressir/model/declarations/attribute.rb +47 -0
  42. data/lib/expressir/model/declarations/constant.rb +34 -0
  43. data/lib/expressir/model/declarations/entity.rb +53 -0
  44. data/lib/expressir/model/declarations/function.rb +67 -0
  45. data/lib/expressir/model/declarations/interface.rb +28 -0
  46. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  47. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  48. data/lib/expressir/model/declarations/parameter.rb +34 -0
  49. data/lib/expressir/model/declarations/procedure.rb +64 -0
  50. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  51. data/lib/expressir/model/declarations/rule.rb +71 -0
  52. data/lib/expressir/model/declarations/schema.rb +117 -0
  53. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  54. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  55. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  56. data/lib/expressir/model/declarations/type.rb +45 -0
  57. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  58. data/lib/expressir/model/declarations/variable.rb +34 -0
  59. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  60. data/lib/expressir/model/expression.rb +9 -0
  61. data/lib/expressir/model/expressions/aggregate_initializer.rb +6 -2
  62. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  63. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  64. data/lib/expressir/model/expressions/entity_constructor.rb +8 -3
  65. data/lib/expressir/model/expressions/function_call.rb +22 -0
  66. data/lib/expressir/model/expressions/interval.rb +17 -6
  67. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  68. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  69. data/lib/expressir/model/identifier.rb +26 -4
  70. data/lib/expressir/model/literal.rb +9 -0
  71. data/lib/expressir/model/literals/binary.rb +6 -2
  72. data/lib/expressir/model/literals/integer.rb +6 -2
  73. data/lib/expressir/model/literals/logical.rb +6 -2
  74. data/lib/expressir/model/literals/real.rb +6 -2
  75. data/lib/expressir/model/literals/string.rb +8 -3
  76. data/lib/expressir/model/model_element.rb +63 -37
  77. data/lib/expressir/model/reference.rb +9 -0
  78. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  79. data/lib/expressir/model/references/group_reference.rb +22 -0
  80. data/lib/expressir/model/references/index_reference.rb +27 -0
  81. data/lib/expressir/model/references/simple_reference.rb +24 -0
  82. data/lib/expressir/model/repository.rb +5 -1
  83. data/lib/expressir/model/statement.rb +9 -0
  84. data/lib/expressir/model/statements/alias.rb +11 -7
  85. data/lib/expressir/model/statements/assignment.rb +8 -3
  86. data/lib/expressir/model/statements/case.rb +10 -4
  87. data/lib/expressir/model/statements/case_action.rb +7 -2
  88. data/lib/expressir/model/statements/compound.rb +6 -2
  89. data/lib/expressir/model/statements/escape.rb +3 -1
  90. data/lib/expressir/model/statements/if.rb +10 -4
  91. data/lib/expressir/model/statements/null.rb +3 -1
  92. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  93. data/lib/expressir/model/statements/repeat.rb +19 -11
  94. data/lib/expressir/model/statements/return.rb +6 -2
  95. data/lib/expressir/model/statements/skip.rb +3 -1
  96. data/lib/expressir/model/supertype_expression.rb +9 -0
  97. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  98. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  99. data/lib/expressir/model.rb +52 -45
  100. data/lib/expressir/version.rb +1 -1
  101. data/spec/expressir/model/model_element_spec.rb +131 -131
  102. data/spec/syntax/multiple.yaml +68 -68
  103. data/spec/syntax/remark.yaml +64 -64
  104. data/spec/syntax/single.yaml +5 -5
  105. data/spec/syntax/single_formatted.yaml +5 -5
  106. data/spec/syntax/syntax.yaml +1003 -1030
  107. metadata +105 -54
  108. data/lib/expressir/express/2.4/express_parser.so +0 -0
  109. data/lib/expressir/express/2.5/express_parser.so +0 -0
  110. data/lib/expressir/express/2.6/express_parser.so +0 -0
  111. data/lib/expressir/model/attribute.rb +0 -38
  112. data/lib/expressir/model/constant.rb +0 -28
  113. data/lib/expressir/model/entity.rb +0 -42
  114. data/lib/expressir/model/enumeration_item.rb +0 -22
  115. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  116. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  117. data/lib/expressir/model/expressions/call.rb +0 -17
  118. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  119. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  120. data/lib/expressir/model/expressions/simple_reference.rb +0 -19
  121. data/lib/expressir/model/function.rb +0 -57
  122. data/lib/expressir/model/interface.rb +0 -20
  123. data/lib/expressir/model/interface_item.rb +0 -15
  124. data/lib/expressir/model/interfaced_item.rb +0 -27
  125. data/lib/expressir/model/parameter.rb +0 -28
  126. data/lib/expressir/model/procedure.rb +0 -55
  127. data/lib/expressir/model/remark_item.rb +0 -15
  128. data/lib/expressir/model/rule.rb +0 -60
  129. data/lib/expressir/model/schema.rb +0 -100
  130. data/lib/expressir/model/schema_version.rb +0 -15
  131. data/lib/expressir/model/schema_version_item.rb +0 -15
  132. data/lib/expressir/model/statements/call.rb +0 -17
  133. data/lib/expressir/model/subtype_constraint.rb +0 -32
  134. data/lib/expressir/model/type.rb +0 -37
  135. data/lib/expressir/model/types/aggregate.rb +0 -28
  136. data/lib/expressir/model/types/array.rb +0 -23
  137. data/lib/expressir/model/types/bag.rb +0 -19
  138. data/lib/expressir/model/types/binary.rb +0 -17
  139. data/lib/expressir/model/types/boolean.rb +0 -8
  140. data/lib/expressir/model/types/enumeration.rb +0 -19
  141. data/lib/expressir/model/types/generic.rb +0 -24
  142. data/lib/expressir/model/types/generic_entity.rb +0 -24
  143. data/lib/expressir/model/types/integer.rb +0 -8
  144. data/lib/expressir/model/types/list.rb +0 -21
  145. data/lib/expressir/model/types/logical.rb +0 -8
  146. data/lib/expressir/model/types/number.rb +0 -8
  147. data/lib/expressir/model/types/real.rb +0 -15
  148. data/lib/expressir/model/types/select.rb +0 -21
  149. data/lib/expressir/model/types/set.rb +0 -19
  150. data/lib/expressir/model/types/string.rb +0 -17
  151. data/lib/expressir/model/unique_rule.rb +0 -26
  152. data/lib/expressir/model/variable.rb +0 -28
  153. 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: x86-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,11 +212,9 @@ 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
217
+ - lib/expressir/express/3.1/express_parser.so
176
218
  - lib/expressir/express/cache.rb
177
219
  - lib/expressir/express/formatter.rb
178
220
  - lib/expressir/express/hyperlink_formatter.rb
@@ -182,75 +224,84 @@ files:
182
224
  - lib/expressir/express/schema_head_formatter.rb
183
225
  - lib/expressir/express/visitor.rb
184
226
  - lib/expressir/model.rb
185
- - lib/expressir/model/attribute.rb
186
227
  - lib/expressir/model/cache.rb
187
- - lib/expressir/model/constant.rb
188
- - lib/expressir/model/entity.rb
189
- - lib/expressir/model/enumeration_item.rb
228
+ - lib/expressir/model/data_type.rb
229
+ - lib/expressir/model/data_types/aggregate.rb
230
+ - lib/expressir/model/data_types/array.rb
231
+ - lib/expressir/model/data_types/bag.rb
232
+ - lib/expressir/model/data_types/binary.rb
233
+ - lib/expressir/model/data_types/boolean.rb
234
+ - lib/expressir/model/data_types/enumeration.rb
235
+ - lib/expressir/model/data_types/enumeration_item.rb
236
+ - lib/expressir/model/data_types/generic.rb
237
+ - lib/expressir/model/data_types/generic_entity.rb
238
+ - lib/expressir/model/data_types/integer.rb
239
+ - lib/expressir/model/data_types/list.rb
240
+ - lib/expressir/model/data_types/logical.rb
241
+ - lib/expressir/model/data_types/number.rb
242
+ - lib/expressir/model/data_types/real.rb
243
+ - lib/expressir/model/data_types/select.rb
244
+ - lib/expressir/model/data_types/set.rb
245
+ - lib/expressir/model/data_types/string.rb
246
+ - lib/expressir/model/declaration.rb
247
+ - lib/expressir/model/declarations/attribute.rb
248
+ - lib/expressir/model/declarations/constant.rb
249
+ - lib/expressir/model/declarations/entity.rb
250
+ - lib/expressir/model/declarations/function.rb
251
+ - lib/expressir/model/declarations/interface.rb
252
+ - lib/expressir/model/declarations/interface_item.rb
253
+ - lib/expressir/model/declarations/interfaced_item.rb
254
+ - lib/expressir/model/declarations/parameter.rb
255
+ - lib/expressir/model/declarations/procedure.rb
256
+ - lib/expressir/model/declarations/remark_item.rb
257
+ - lib/expressir/model/declarations/rule.rb
258
+ - lib/expressir/model/declarations/schema.rb
259
+ - lib/expressir/model/declarations/schema_version.rb
260
+ - lib/expressir/model/declarations/schema_version_item.rb
261
+ - lib/expressir/model/declarations/subtype_constraint.rb
262
+ - lib/expressir/model/declarations/type.rb
263
+ - lib/expressir/model/declarations/unique_rule.rb
264
+ - lib/expressir/model/declarations/variable.rb
265
+ - lib/expressir/model/declarations/where_rule.rb
266
+ - lib/expressir/model/expression.rb
190
267
  - lib/expressir/model/expressions/aggregate_initializer.rb
191
- - lib/expressir/model/expressions/aggregate_item.rb
192
- - lib/expressir/model/expressions/attribute_reference.rb
268
+ - lib/expressir/model/expressions/aggregate_initializer_item.rb
193
269
  - lib/expressir/model/expressions/binary_expression.rb
194
- - lib/expressir/model/expressions/call.rb
195
270
  - lib/expressir/model/expressions/entity_constructor.rb
196
- - lib/expressir/model/expressions/group_reference.rb
197
- - lib/expressir/model/expressions/index_reference.rb
271
+ - lib/expressir/model/expressions/function_call.rb
198
272
  - lib/expressir/model/expressions/interval.rb
199
273
  - lib/expressir/model/expressions/query_expression.rb
200
- - lib/expressir/model/expressions/simple_reference.rb
201
274
  - lib/expressir/model/expressions/unary_expression.rb
202
- - lib/expressir/model/function.rb
203
275
  - 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
276
+ - lib/expressir/model/literal.rb
207
277
  - lib/expressir/model/literals/binary.rb
208
278
  - lib/expressir/model/literals/integer.rb
209
279
  - lib/expressir/model/literals/logical.rb
210
280
  - lib/expressir/model/literals/real.rb
211
281
  - lib/expressir/model/literals/string.rb
212
282
  - 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
283
+ - lib/expressir/model/reference.rb
284
+ - lib/expressir/model/references/attribute_reference.rb
285
+ - lib/expressir/model/references/group_reference.rb
286
+ - lib/expressir/model/references/index_reference.rb
287
+ - lib/expressir/model/references/simple_reference.rb
216
288
  - 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
289
+ - lib/expressir/model/statement.rb
221
290
  - lib/expressir/model/statements/alias.rb
222
291
  - lib/expressir/model/statements/assignment.rb
223
- - lib/expressir/model/statements/call.rb
224
292
  - lib/expressir/model/statements/case.rb
225
293
  - lib/expressir/model/statements/case_action.rb
226
294
  - lib/expressir/model/statements/compound.rb
227
295
  - lib/expressir/model/statements/escape.rb
228
296
  - lib/expressir/model/statements/if.rb
229
297
  - lib/expressir/model/statements/null.rb
298
+ - lib/expressir/model/statements/procedure_call.rb
230
299
  - lib/expressir/model/statements/repeat.rb
231
300
  - lib/expressir/model/statements/return.rb
232
301
  - 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
302
+ - lib/expressir/model/supertype_expression.rb
303
+ - lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
304
+ - lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
254
305
  - lib/expressir/version.rb
255
306
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
256
307
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
@@ -321,7 +372,7 @@ metadata:
321
372
  homepage_uri: https://github.com/lutaml/expressir
322
373
  source_code_uri: https://github.com/lutaml/expressir
323
374
  changelog_uri: https://github.com/lutaml/expressir/releases
324
- post_install_message:
375
+ post_install_message:
325
376
  rdoc_options: []
326
377
  require_paths:
327
378
  - lib
@@ -329,18 +380,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
329
380
  requirements:
330
381
  - - ">="
331
382
  - !ruby/object:Gem::Version
332
- version: '2.4'
383
+ version: '2.7'
333
384
  - - "<"
334
385
  - !ruby/object:Gem::Version
335
- version: 3.1.dev
386
+ version: 3.2.dev
336
387
  required_rubygems_version: !ruby/object:Gem::Requirement
337
388
  requirements:
338
389
  - - ">="
339
390
  - !ruby/object:Gem::Version
340
391
  version: '0'
341
392
  requirements: []
342
- rubygems_version: 3.2.3
343
- signing_key:
393
+ rubygems_version: 3.3.4
394
+ signing_key:
344
395
  specification_version: 4
345
396
  summary: ISO EXPRESS parser in Ruby, tools for accessing EXPRESS data models.
346
397
  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