expressir 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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