expressir 0.2.2 → 0.2.3

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/lib/expressir/express_exp/formatter.rb +1444 -0
  4. data/lib/expressir/express_exp/visitor.rb +288 -280
  5. data/lib/expressir/model.rb +13 -42
  6. data/lib/expressir/model/{derived.rb → attribute.rb} +13 -4
  7. data/lib/expressir/model/constant.rb +2 -1
  8. data/lib/expressir/model/entity.rb +22 -17
  9. data/lib/expressir/model/enumeration_item.rb +2 -1
  10. data/lib/expressir/model/expressions/aggregate_initializer.rb +9 -9
  11. data/lib/expressir/model/expressions/aggregate_item.rb +15 -0
  12. data/lib/expressir/model/expressions/{attribute_qualifier.rb → attribute_reference.rb} +3 -1
  13. data/lib/expressir/model/expressions/binary_expression.rb +40 -0
  14. data/lib/expressir/model/expressions/{function_call.rb → call.rb} +3 -3
  15. data/lib/expressir/model/expressions/entity_constructor.rb +11 -11
  16. data/lib/expressir/model/expressions/{group_qualifier.rb → group_reference.rb} +3 -1
  17. data/lib/expressir/model/expressions/{index_qualifier.rb → index_reference.rb} +3 -1
  18. data/lib/expressir/model/expressions/interval.rb +17 -17
  19. data/lib/expressir/model/expressions/query_expression.rb +26 -0
  20. data/lib/expressir/model/expressions/simple_reference.rb +13 -0
  21. data/lib/expressir/model/expressions/{expression.rb → unary_expression.rb} +7 -3
  22. data/lib/expressir/model/function.rb +14 -6
  23. data/lib/expressir/model/{reference.rb → interface.rb} +6 -1
  24. data/lib/expressir/model/literals/logical.rb +4 -0
  25. data/lib/expressir/model/parameter.rb +4 -3
  26. data/lib/expressir/model/procedure.rb +14 -6
  27. data/lib/expressir/model/repository.rb +1 -1
  28. data/lib/expressir/model/rule.rb +16 -8
  29. data/lib/expressir/model/schema.rb +22 -6
  30. data/lib/expressir/model/statements/alias.rb +3 -2
  31. data/lib/expressir/model/statements/{procedure_call.rb → call.rb} +3 -3
  32. data/lib/expressir/model/statements/case.rb +2 -2
  33. data/lib/expressir/model/statements/case_action.rb +2 -2
  34. data/lib/expressir/model/statements/repeat.rb +3 -2
  35. data/lib/expressir/model/subtype_constraint.rb +6 -5
  36. data/lib/expressir/model/type.rb +3 -2
  37. data/lib/expressir/model/types/aggregate.rb +2 -1
  38. data/lib/expressir/model/types/generic.rb +2 -1
  39. data/lib/expressir/model/types/generic_entity.rb +2 -1
  40. data/lib/expressir/model/unique.rb +2 -1
  41. data/lib/expressir/model/{local.rb → variable.rb} +3 -2
  42. data/lib/expressir/model/where.rb +2 -1
  43. data/lib/expressir/version.rb +1 -1
  44. data/original/examples/syntax/remark.exp +126 -108
  45. data/original/examples/syntax/remark_formatted.exp +172 -0
  46. data/original/examples/syntax/syntax.exp +287 -277
  47. data/original/examples/syntax/syntax_formatted.exp +1176 -0
  48. data/spec/expressir/express_exp/format_remark_spec.rb +28 -0
  49. data/spec/expressir/express_exp/format_syntax_spec.rb +28 -0
  50. data/spec/expressir/express_exp/{remark_spec.rb → parse_remark_spec.rb} +80 -36
  51. data/spec/expressir/express_exp/parse_syntax_spec.rb +2998 -0
  52. metadata +22 -46
  53. data/lib/expressir/model/explicit.rb +0 -19
  54. data/lib/expressir/model/expressions/aggregate_element.rb +0 -15
  55. data/lib/expressir/model/expressions/qualified_ref.rb +0 -15
  56. data/lib/expressir/model/expressions/query.rb +0 -25
  57. data/lib/expressir/model/inverse.rb +0 -19
  58. data/lib/expressir/model/operators/addition.rb +0 -8
  59. data/lib/expressir/model/operators/and.rb +0 -8
  60. data/lib/expressir/model/operators/andor.rb +0 -8
  61. data/lib/expressir/model/operators/combine.rb +0 -8
  62. data/lib/expressir/model/operators/equal.rb +0 -8
  63. data/lib/expressir/model/operators/exponentiation.rb +0 -8
  64. data/lib/expressir/model/operators/greater_than.rb +0 -8
  65. data/lib/expressir/model/operators/greater_than_or_equal.rb +0 -8
  66. data/lib/expressir/model/operators/in.rb +0 -8
  67. data/lib/expressir/model/operators/instance_equal.rb +0 -8
  68. data/lib/expressir/model/operators/instance_not_equal.rb +0 -8
  69. data/lib/expressir/model/operators/integer_division.rb +0 -8
  70. data/lib/expressir/model/operators/less_than.rb +0 -8
  71. data/lib/expressir/model/operators/less_than_or_equal.rb +0 -8
  72. data/lib/expressir/model/operators/like.rb +0 -8
  73. data/lib/expressir/model/operators/modulo.rb +0 -8
  74. data/lib/expressir/model/operators/multiplication.rb +0 -8
  75. data/lib/expressir/model/operators/not.rb +0 -8
  76. data/lib/expressir/model/operators/not_equal.rb +0 -8
  77. data/lib/expressir/model/operators/oneof.rb +0 -8
  78. data/lib/expressir/model/operators/or.rb +0 -8
  79. data/lib/expressir/model/operators/real_division.rb +0 -8
  80. data/lib/expressir/model/operators/subtraction.rb +0 -8
  81. data/lib/expressir/model/operators/unary_minus.rb +0 -8
  82. data/lib/expressir/model/operators/unary_plus.rb +0 -8
  83. data/lib/expressir/model/operators/xor.rb +0 -8
  84. data/lib/expressir/model/ref.rb +0 -11
  85. data/lib/expressir/model/use.rb +0 -13
  86. data/spec/expressir/express_exp/syntax_spec.rb +0 -2992
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: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2020-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -166,6 +166,7 @@ files:
166
166
  - lib/expressir/express/type_select.rb
167
167
  - lib/expressir/express/unique_rule.rb
168
168
  - lib/expressir/express/where_rule.rb
169
+ - lib/expressir/express_exp/formatter.rb
169
170
  - lib/expressir/express_exp/generated/ExpressBaseVisitor.rb
170
171
  - lib/expressir/express_exp/generated/ExpressLexer.rb
171
172
  - lib/expressir/express_exp/generated/ExpressParser.rb
@@ -174,73 +175,44 @@ files:
174
175
  - lib/expressir/express_exp/visitor.rb
175
176
  - lib/expressir/express_parser.rb
176
177
  - lib/expressir/model.rb
178
+ - lib/expressir/model/attribute.rb
177
179
  - lib/expressir/model/constant.rb
178
- - lib/expressir/model/derived.rb
179
180
  - lib/expressir/model/entity.rb
180
181
  - lib/expressir/model/enumeration_item.rb
181
- - lib/expressir/model/explicit.rb
182
- - lib/expressir/model/expressions/aggregate_element.rb
183
182
  - lib/expressir/model/expressions/aggregate_initializer.rb
184
- - lib/expressir/model/expressions/attribute_qualifier.rb
183
+ - lib/expressir/model/expressions/aggregate_item.rb
184
+ - lib/expressir/model/expressions/attribute_reference.rb
185
+ - lib/expressir/model/expressions/binary_expression.rb
186
+ - lib/expressir/model/expressions/call.rb
185
187
  - lib/expressir/model/expressions/entity_constructor.rb
186
- - lib/expressir/model/expressions/expression.rb
187
- - lib/expressir/model/expressions/function_call.rb
188
- - lib/expressir/model/expressions/group_qualifier.rb
189
- - lib/expressir/model/expressions/index_qualifier.rb
188
+ - lib/expressir/model/expressions/group_reference.rb
189
+ - lib/expressir/model/expressions/index_reference.rb
190
190
  - lib/expressir/model/expressions/interval.rb
191
- - lib/expressir/model/expressions/qualified_ref.rb
192
- - lib/expressir/model/expressions/query.rb
191
+ - lib/expressir/model/expressions/query_expression.rb
192
+ - lib/expressir/model/expressions/simple_reference.rb
193
+ - lib/expressir/model/expressions/unary_expression.rb
193
194
  - lib/expressir/model/function.rb
194
- - lib/expressir/model/inverse.rb
195
+ - lib/expressir/model/interface.rb
195
196
  - lib/expressir/model/literals/binary.rb
196
197
  - lib/expressir/model/literals/integer.rb
197
198
  - lib/expressir/model/literals/logical.rb
198
199
  - lib/expressir/model/literals/real.rb
199
200
  - lib/expressir/model/literals/string.rb
200
- - lib/expressir/model/local.rb
201
- - lib/expressir/model/operators/addition.rb
202
- - lib/expressir/model/operators/and.rb
203
- - lib/expressir/model/operators/andor.rb
204
- - lib/expressir/model/operators/combine.rb
205
- - lib/expressir/model/operators/equal.rb
206
- - lib/expressir/model/operators/exponentiation.rb
207
- - lib/expressir/model/operators/greater_than.rb
208
- - lib/expressir/model/operators/greater_than_or_equal.rb
209
- - lib/expressir/model/operators/in.rb
210
- - lib/expressir/model/operators/instance_equal.rb
211
- - lib/expressir/model/operators/instance_not_equal.rb
212
- - lib/expressir/model/operators/integer_division.rb
213
- - lib/expressir/model/operators/less_than.rb
214
- - lib/expressir/model/operators/less_than_or_equal.rb
215
- - lib/expressir/model/operators/like.rb
216
- - lib/expressir/model/operators/modulo.rb
217
- - lib/expressir/model/operators/multiplication.rb
218
- - lib/expressir/model/operators/not.rb
219
- - lib/expressir/model/operators/not_equal.rb
220
- - lib/expressir/model/operators/oneof.rb
221
- - lib/expressir/model/operators/or.rb
222
- - lib/expressir/model/operators/real_division.rb
223
- - lib/expressir/model/operators/subtraction.rb
224
- - lib/expressir/model/operators/unary_minus.rb
225
- - lib/expressir/model/operators/unary_plus.rb
226
- - lib/expressir/model/operators/xor.rb
227
201
  - lib/expressir/model/parameter.rb
228
202
  - lib/expressir/model/procedure.rb
229
- - lib/expressir/model/ref.rb
230
- - lib/expressir/model/reference.rb
231
203
  - lib/expressir/model/renamed_ref.rb
232
204
  - lib/expressir/model/repository.rb
233
205
  - lib/expressir/model/rule.rb
234
206
  - lib/expressir/model/schema.rb
235
207
  - lib/expressir/model/statements/alias.rb
236
208
  - lib/expressir/model/statements/assignment.rb
209
+ - lib/expressir/model/statements/call.rb
237
210
  - lib/expressir/model/statements/case.rb
238
211
  - lib/expressir/model/statements/case_action.rb
239
212
  - lib/expressir/model/statements/compound.rb
240
213
  - lib/expressir/model/statements/escape.rb
241
214
  - lib/expressir/model/statements/if.rb
242
215
  - lib/expressir/model/statements/null.rb
243
- - lib/expressir/model/statements/procedure_call.rb
244
216
  - lib/expressir/model/statements/repeat.rb
245
217
  - lib/expressir/model/statements/return.rb
246
218
  - lib/expressir/model/statements/skip.rb
@@ -263,7 +235,7 @@ files:
263
235
  - lib/expressir/model/types/set.rb
264
236
  - lib/expressir/model/types/string.rb
265
237
  - lib/expressir/model/unique.rb
266
- - lib/expressir/model/use.rb
238
+ - lib/expressir/model/variable.rb
267
239
  - lib/expressir/model/where.rb
268
240
  - lib/expressir/parser.rb
269
241
  - lib/expressir/parser/owl_parser.rb
@@ -298,7 +270,9 @@ files:
298
270
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi
299
271
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml
300
272
  - original/examples/syntax/remark.exp
273
+ - original/examples/syntax/remark_formatted.exp
301
274
  - original/examples/syntax/syntax.exp
275
+ - original/examples/syntax/syntax_formatted.exp
302
276
  - original/exp2ruby.rb
303
277
  - original/expsm.rb
304
278
  - original/mapping_owl.rb
@@ -310,8 +284,10 @@ files:
310
284
  - spec/acceptance/version_spec.rb
311
285
  - spec/expressir/express/repository_spec.rb
312
286
  - spec/expressir/express_exp/ap233_spec.rb
313
- - spec/expressir/express_exp/remark_spec.rb
314
- - spec/expressir/express_exp/syntax_spec.rb
287
+ - spec/expressir/express_exp/format_remark_spec.rb
288
+ - spec/expressir/express_exp/format_syntax_spec.rb
289
+ - spec/expressir/express_exp/parse_remark_spec.rb
290
+ - spec/expressir/express_exp/parse_syntax_spec.rb
315
291
  - spec/expressr_spec.rb
316
292
  - spec/spec_helper.rb
317
293
  - spec/support/console_helper.rb
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Explicit
4
- attr_accessor :id
5
- attr_accessor :supertype_attribute
6
- attr_accessor :optional
7
- attr_accessor :type
8
- attr_accessor :remarks
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @supertype_attribute = options[:supertype_attribute]
13
- @optional = options[:optional]
14
- @type = options[:type]
15
- @remarks = options[:remarks]
16
- end
17
- end
18
- end
19
- end
@@ -1,15 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class AggregateElement
5
- attr_accessor :expression
6
- attr_accessor :repetition
7
-
8
- def initialize(options = {})
9
- @expression = options[:expression]
10
- @repetition = options[:repetition]
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class QualifiedRef
5
- attr_accessor :ref
6
- attr_accessor :qualifiers
7
-
8
- def initialize(options = {})
9
- @ref = options[:ref]
10
- @qualifiers = options[:qualifiers]
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,25 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Expressions
4
- class Query
5
- attr_accessor :id
6
- attr_accessor :source
7
- attr_accessor :expression
8
- attr_accessor :remarks
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @source = options[:source]
13
- @expression = options[:expression]
14
- @remarks = options[:remarks]
15
- end
16
-
17
- def scope_items
18
- items = []
19
- items.push(self)
20
- items
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Inverse
4
- attr_accessor :id
5
- attr_accessor :supertype_attribute
6
- attr_accessor :type
7
- attr_accessor :attribute
8
- attr_accessor :remarks
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @supertype_attribute = options[:supertype_attribute]
13
- @type = options[:type]
14
- @attribute = options[:attribute]
15
- @remarks = options[:remarks]
16
- end
17
- end
18
- end
19
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Addition
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class And
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Andor
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Combine
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Equal
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Exponentiation
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class GreaterThan
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class GreaterThanOrEqual
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class In
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class InstanceEqual
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class InstanceNotEqual
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class IntegerDivision
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class LessThan
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class LessThanOrEqual
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Like
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Modulo
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Multiplication
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Not
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class NotEqual
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Oneof
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Operators
4
- class Or
5
- end
6
- end
7
- end
8
- end