expressir 0.2.26-x86_64-linux → 1.2.0-x86_64-linux

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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +50 -5
  3. data/.github/workflows/release.yml +8 -0
  4. data/.gitignore +2 -2
  5. data/.hound.yml +3 -0
  6. data/.rubocop.yml +6 -506
  7. data/.yardopts +11 -0
  8. data/Rakefile +3 -0
  9. data/demo.rb +5 -5
  10. data/exe/format +8 -8
  11. data/exe/format-test +11 -11
  12. data/expressir.gemspec +4 -2
  13. data/lib/expressir/cli.rb +0 -6
  14. data/lib/expressir/express/2.4/express_parser.so +0 -0
  15. data/lib/expressir/express/2.5/express_parser.so +0 -0
  16. data/lib/expressir/express/2.6/express_parser.so +0 -0
  17. data/lib/expressir/express/2.7/express_parser.so +0 -0
  18. data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
  19. data/lib/expressir/express/cache.rb +51 -0
  20. data/lib/expressir/{express_exp → express}/formatter.rb +304 -237
  21. data/lib/expressir/{express_exp → express}/hyperlink_formatter.rb +16 -2
  22. data/lib/expressir/{express_exp → express}/model_visitor.rb +2 -1
  23. data/lib/expressir/{express_exp → express}/parser.rb +19 -13
  24. data/lib/expressir/{express_exp → express}/resolve_references_model_visitor.rb +9 -7
  25. data/lib/expressir/express/schema_head_formatter.rb +23 -0
  26. data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
  27. data/lib/expressir/model/cache.rb +6 -2
  28. data/lib/expressir/model/data_type.rb +9 -0
  29. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  30. data/lib/expressir/model/data_types/array.rb +31 -0
  31. data/lib/expressir/model/data_types/bag.rb +25 -0
  32. data/lib/expressir/model/data_types/binary.rb +22 -0
  33. data/lib/expressir/model/data_types/boolean.rb +10 -0
  34. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  35. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  36. data/lib/expressir/model/data_types/generic.rb +26 -0
  37. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  38. data/lib/expressir/model/data_types/integer.rb +10 -0
  39. data/lib/expressir/model/data_types/list.rb +28 -0
  40. data/lib/expressir/model/data_types/logical.rb +10 -0
  41. data/lib/expressir/model/data_types/number.rb +10 -0
  42. data/lib/expressir/model/data_types/real.rb +19 -0
  43. data/lib/expressir/model/data_types/select.rb +28 -0
  44. data/lib/expressir/model/data_types/set.rb +25 -0
  45. data/lib/expressir/model/data_types/string.rb +22 -0
  46. data/lib/expressir/model/declaration.rb +9 -0
  47. data/lib/expressir/model/declarations/attribute.rb +47 -0
  48. data/lib/expressir/model/declarations/constant.rb +34 -0
  49. data/lib/expressir/model/declarations/entity.rb +53 -0
  50. data/lib/expressir/model/declarations/function.rb +67 -0
  51. data/lib/expressir/model/declarations/interface.rb +28 -0
  52. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  53. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  54. data/lib/expressir/model/declarations/parameter.rb +34 -0
  55. data/lib/expressir/model/declarations/procedure.rb +64 -0
  56. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  57. data/lib/expressir/model/declarations/rule.rb +71 -0
  58. data/lib/expressir/model/declarations/schema.rb +117 -0
  59. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  60. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  61. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  62. data/lib/expressir/model/declarations/type.rb +45 -0
  63. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  64. data/lib/expressir/model/declarations/variable.rb +34 -0
  65. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  66. data/lib/expressir/model/expression.rb +9 -0
  67. data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
  68. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  69. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  70. data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
  71. data/lib/expressir/model/expressions/function_call.rb +22 -0
  72. data/lib/expressir/model/expressions/interval.rb +17 -6
  73. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  74. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  75. data/lib/expressir/model/identifier.rb +26 -4
  76. data/lib/expressir/model/literal.rb +9 -0
  77. data/lib/expressir/model/literals/binary.rb +6 -2
  78. data/lib/expressir/model/literals/integer.rb +6 -2
  79. data/lib/expressir/model/literals/logical.rb +6 -2
  80. data/lib/expressir/model/literals/real.rb +6 -2
  81. data/lib/expressir/model/literals/string.rb +8 -3
  82. data/lib/expressir/model/model_element.rb +63 -37
  83. data/lib/expressir/model/reference.rb +9 -0
  84. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  85. data/lib/expressir/model/references/group_reference.rb +22 -0
  86. data/lib/expressir/model/references/index_reference.rb +27 -0
  87. data/lib/expressir/model/references/simple_reference.rb +24 -0
  88. data/lib/expressir/model/repository.rb +6 -2
  89. data/lib/expressir/model/statement.rb +9 -0
  90. data/lib/expressir/model/statements/alias.rb +12 -8
  91. data/lib/expressir/model/statements/assignment.rb +8 -3
  92. data/lib/expressir/model/statements/case.rb +11 -5
  93. data/lib/expressir/model/statements/case_action.rb +8 -3
  94. data/lib/expressir/model/statements/compound.rb +7 -3
  95. data/lib/expressir/model/statements/escape.rb +3 -1
  96. data/lib/expressir/model/statements/if.rb +12 -6
  97. data/lib/expressir/model/statements/null.rb +3 -1
  98. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  99. data/lib/expressir/model/statements/repeat.rb +20 -12
  100. data/lib/expressir/model/statements/return.rb +6 -2
  101. data/lib/expressir/model/statements/skip.rb +3 -1
  102. data/lib/expressir/model/supertype_expression.rb +9 -0
  103. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  104. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  105. data/lib/expressir/model.rb +52 -43
  106. data/lib/expressir/version.rb +1 -1
  107. data/lib/expressir.rb +0 -1
  108. data/rakelib/cross-ruby.rake +1 -1
  109. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  110. data/spec/expressir/express/formatter_spec.rb +127 -0
  111. data/spec/expressir/{express_exp → express}/parser_spec.rb +23 -23
  112. data/spec/expressir/model/model_element_spec.rb +153 -153
  113. data/{original/examples → spec}/syntax/multiple.exp +0 -0
  114. data/spec/syntax/multiple.yaml +198 -0
  115. data/{original/examples → spec}/syntax/multiple_formatted.exp +0 -0
  116. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +0 -0
  117. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -0
  118. data/{original/examples → spec}/syntax/remark.exp +0 -0
  119. data/{original/examples → spec}/syntax/remark.yaml +73 -73
  120. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  121. data/{original/examples → spec}/syntax/single.exp +1 -1
  122. data/spec/syntax/single.yaml +18 -0
  123. data/{original/examples → spec}/syntax/single_formatted.exp +1 -1
  124. data/{original/examples → spec}/syntax/single_formatted.yaml +9 -6
  125. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  126. data/{original/examples → spec}/syntax/syntax.yaml +1100 -1111
  127. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  128. data/{original/examples → spec}/syntax/syntax_hyperlink_formatted.exp +11 -11
  129. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  130. metadata +128 -121
  131. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  132. data/lib/expressir/express/attribute.rb +0 -15
  133. data/lib/expressir/express/comment.rb +0 -7
  134. data/lib/expressir/express/defined_type.rb +0 -36
  135. data/lib/expressir/express/derived.rb +0 -65
  136. data/lib/expressir/express/derived_aggregate.rb +0 -43
  137. data/lib/expressir/express/entity.rb +0 -137
  138. data/lib/expressir/express/explicit.rb +0 -70
  139. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  140. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  141. data/lib/expressir/express/global_rule.rb +0 -44
  142. data/lib/expressir/express/interface_specification.rb +0 -51
  143. data/lib/expressir/express/interfaced_item.rb +0 -38
  144. data/lib/expressir/express/inverse.rb +0 -46
  145. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  146. data/lib/expressir/express/model_element.rb +0 -7
  147. data/lib/expressir/express/named_type.rb +0 -19
  148. data/lib/expressir/express/remark.rb +0 -8
  149. data/lib/expressir/express/repository.rb +0 -306
  150. data/lib/expressir/express/schema_definition.rb +0 -96
  151. data/lib/expressir/express/subtype_constraint.rb +0 -14
  152. data/lib/expressir/express/type.rb +0 -26
  153. data/lib/expressir/express/type_aggregate.rb +0 -42
  154. data/lib/expressir/express/type_enum.rb +0 -29
  155. data/lib/expressir/express/type_parser.rb +0 -45
  156. data/lib/expressir/express/type_select.rb +0 -82
  157. data/lib/expressir/express/unique_rule.rb +0 -35
  158. data/lib/expressir/express/where_rule.rb +0 -32
  159. data/lib/expressir/express.rb +0 -11
  160. data/lib/expressir/express_exp/2.4/express_parser.so +0 -0
  161. data/lib/expressir/express_exp/2.5/express_parser.so +0 -0
  162. data/lib/expressir/express_exp/2.6/express_parser.so +0 -0
  163. data/lib/expressir/express_exp/2.7/express_parser.so +0 -0
  164. data/lib/expressir/express_exp/cache.rb +0 -48
  165. data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
  166. data/lib/expressir/express_parser.rb +0 -30
  167. data/lib/expressir/model/attribute.rb +0 -38
  168. data/lib/expressir/model/constant.rb +0 -28
  169. data/lib/expressir/model/entity.rb +0 -42
  170. data/lib/expressir/model/enumeration_item.rb +0 -22
  171. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  172. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  173. data/lib/expressir/model/expressions/call.rb +0 -17
  174. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  175. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  176. data/lib/expressir/model/expressions/simple_reference.rb +0 -19
  177. data/lib/expressir/model/function.rb +0 -57
  178. data/lib/expressir/model/interface.rb +0 -20
  179. data/lib/expressir/model/interface_item.rb +0 -15
  180. data/lib/expressir/model/interfaced_item.rb +0 -27
  181. data/lib/expressir/model/parameter.rb +0 -28
  182. data/lib/expressir/model/procedure.rb +0 -55
  183. data/lib/expressir/model/remark_item.rb +0 -15
  184. data/lib/expressir/model/rule.rb +0 -60
  185. data/lib/expressir/model/schema.rb +0 -100
  186. data/lib/expressir/model/statements/call.rb +0 -17
  187. data/lib/expressir/model/subtype_constraint.rb +0 -32
  188. data/lib/expressir/model/type.rb +0 -37
  189. data/lib/expressir/model/types/aggregate.rb +0 -28
  190. data/lib/expressir/model/types/array.rb +0 -23
  191. data/lib/expressir/model/types/bag.rb +0 -19
  192. data/lib/expressir/model/types/binary.rb +0 -17
  193. data/lib/expressir/model/types/boolean.rb +0 -8
  194. data/lib/expressir/model/types/enumeration.rb +0 -21
  195. data/lib/expressir/model/types/generic.rb +0 -24
  196. data/lib/expressir/model/types/generic_entity.rb +0 -24
  197. data/lib/expressir/model/types/integer.rb +0 -8
  198. data/lib/expressir/model/types/list.rb +0 -21
  199. data/lib/expressir/model/types/logical.rb +0 -8
  200. data/lib/expressir/model/types/number.rb +0 -8
  201. data/lib/expressir/model/types/real.rb +0 -15
  202. data/lib/expressir/model/types/select.rb +0 -23
  203. data/lib/expressir/model/types/set.rb +0 -19
  204. data/lib/expressir/model/types/string.rb +0 -17
  205. data/lib/expressir/model/unique.rb +0 -26
  206. data/lib/expressir/model/variable.rb +0 -28
  207. data/lib/expressir/model/where.rb +0 -26
  208. data/lib/expressir/parser/owl_parser.rb +0 -8
  209. data/lib/expressir/parser.rb +0 -6
  210. data/original/examples/syntax/multiple.yaml +0 -198
  211. data/original/examples/syntax/single.yaml +0 -15
  212. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  213. data/spec/expressir/express/repository_spec.rb +0 -25
  214. data/spec/expressir/express_exp/formatter_spec.rb +0 -127
@@ -1,100 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Schema < ModelElement
4
- model_attr_accessor :file
5
-
6
- include Identifier
7
-
8
- model_attr_accessor :version
9
- model_attr_accessor :interfaces
10
- model_attr_accessor :constants
11
- model_attr_accessor :types
12
- model_attr_accessor :entities
13
- model_attr_accessor :subtype_constraints
14
- model_attr_accessor :functions
15
- model_attr_accessor :rules
16
- model_attr_accessor :procedures
17
-
18
- def initialize(options = {})
19
- @file = options[:file]
20
-
21
- @id = options[:id]
22
- @remarks = options.fetch(:remarks, [])
23
- @remark_items = options.fetch(:remark_items, [])
24
- @source = options[:source]
25
-
26
- @version = options[:version]
27
- @interfaces = options.fetch(:interfaces, [])
28
- @constants = options.fetch(:constants, [])
29
- @types = options.fetch(:types, [])
30
- @entities = options.fetch(:entities, [])
31
- @subtype_constraints = options.fetch(:subtype_constraints, [])
32
- @functions = options.fetch(:functions, [])
33
- @rules = options.fetch(:rules, [])
34
- @procedures = options.fetch(:procedures, [])
35
-
36
- super
37
- end
38
-
39
- def create_interfaced_item(id, base_item)
40
- interfaced_item = InterfacedItem.new({
41
- id: id
42
- })
43
- interfaced_item.base_item = base_item # skip overriding parent
44
- interfaced_item.parent = self
45
- interfaced_item
46
- end
47
-
48
- def interfaced_items
49
- return [] unless parent
50
-
51
- interfaces.flat_map do |interface|
52
- schema = parent.children_by_id[interface.schema.id.downcase]
53
- if schema
54
- schema_safe_children = schema.safe_children
55
- schema_safe_children_by_id = schema_safe_children.select{|x| x.id}.map{|x| [x.id.downcase, x]}.to_h
56
- if interface.items.length > 0
57
- interface.items.map do |interface_item|
58
- base_item = schema_safe_children_by_id[interface_item.ref.id.downcase]
59
- if base_item
60
- id = interface_item.id || base_item.id
61
- create_interfaced_item(id, base_item)
62
- end
63
- end
64
- else
65
- schema_safe_children.map do |base_item|
66
- id = base_item.id
67
- create_interfaced_item(id, base_item)
68
- end
69
- end
70
- end
71
- end.select{|x| x}
72
- end
73
-
74
- def enumeration_items
75
- types.flat_map{|x| x.enumeration_items}
76
- end
77
-
78
- def safe_children
79
- [
80
- *constants,
81
- *types,
82
- *enumeration_items,
83
- *entities,
84
- *subtype_constraints,
85
- *functions,
86
- *rules,
87
- *procedures,
88
- *remark_items
89
- ]
90
- end
91
-
92
- def children
93
- [
94
- *interfaced_items,
95
- *safe_children
96
- ]
97
- end
98
- end
99
- end
100
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Statements
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.fetch(:parameters, [])
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,32 +0,0 @@
1
- module Expressir
2
- module Model
3
- class SubtypeConstraint < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :applies_to
7
- model_attr_accessor :abstract
8
- model_attr_accessor :total_over
9
- model_attr_accessor :supertype_expression
10
-
11
- def initialize(options = {})
12
- @id = options[:id]
13
- @remarks = options.fetch(:remarks, [])
14
- @remark_items = options.fetch(:remark_items, [])
15
- @source = options[:source]
16
-
17
- @applies_to = options[:applies_to]
18
- @abstract = options[:abstract]
19
- @total_over = options.fetch(:total_over, [])
20
- @supertype_expression = options[:supertype_expression]
21
-
22
- super
23
- end
24
-
25
- def children
26
- [
27
- *remark_items
28
- ]
29
- end
30
- end
31
- end
32
- end
@@ -1,37 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Type < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :type
7
- model_attr_accessor :where
8
- model_attr_accessor :informal_propositions
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @remarks = options.fetch(:remarks, [])
13
- @remark_items = options.fetch(:remark_items, [])
14
- @source = options[:source]
15
-
16
- @type = options[:type]
17
- @where = options.fetch(:where, [])
18
- @informal_propositions = options.fetch(:informal_propositions, [])
19
-
20
- super
21
- end
22
-
23
- def enumeration_items
24
- type.is_a?(Types::Enumeration) ? type.items : []
25
- end
26
-
27
- def children
28
- [
29
- *enumeration_items,
30
- *where,
31
- *informal_propositions,
32
- *remark_items
33
- ]
34
- end
35
- end
36
- end
37
- end
@@ -1,28 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Aggregate < ModelElement
5
- include Identifier
6
-
7
- model_attr_accessor :base_type
8
-
9
- def initialize(options = {})
10
- @id = options[:id]
11
- @remarks = options.fetch(:remarks, [])
12
- @remark_items = options.fetch(:remark_items, [])
13
- @source = options[:source]
14
-
15
- @base_type = options[:base_type]
16
-
17
- super
18
- end
19
-
20
- def children
21
- [
22
- *remark_items
23
- ]
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,23 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Array < ModelElement
5
- model_attr_accessor :bound1
6
- model_attr_accessor :bound2
7
- model_attr_accessor :optional
8
- model_attr_accessor :unique
9
- model_attr_accessor :base_type
10
-
11
- def initialize(options = {})
12
- @bound1 = options[:bound1]
13
- @bound2 = options[:bound2]
14
- @optional = options[:optional]
15
- @unique = options[:unique]
16
- @base_type = options[:base_type]
17
-
18
- super
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Bag < ModelElement
5
- model_attr_accessor :bound1
6
- model_attr_accessor :bound2
7
- model_attr_accessor :base_type
8
-
9
- def initialize(options = {})
10
- @bound1 = options[:bound1]
11
- @bound2 = options[:bound2]
12
- @base_type = options[:base_type]
13
-
14
- super
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Binary < ModelElement
5
- model_attr_accessor :width
6
- model_attr_accessor :fixed
7
-
8
- def initialize(options = {})
9
- @width = options[:width]
10
- @fixed = options[:fixed]
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Boolean < ModelElement
5
- end
6
- end
7
- end
8
- end
@@ -1,21 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Enumeration < ModelElement
5
- model_attr_accessor :extensible
6
- model_attr_accessor :items
7
- model_attr_accessor :extension_type
8
- model_attr_accessor :extension_items
9
-
10
- def initialize(options = {})
11
- @extensible = options[:extensible]
12
- @items = options.fetch(:items, [])
13
- @extension_type = options[:extension_type]
14
- @extension_items = options.fetch(:extension_items, [])
15
-
16
- super
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Generic < ModelElement
5
- include Identifier
6
-
7
- def initialize(options = {})
8
- @id = options[:id]
9
- @remarks = options.fetch(:remarks, [])
10
- @remark_items = options.fetch(:remark_items, [])
11
- @source = options[:source]
12
-
13
- super
14
- end
15
-
16
- def children
17
- [
18
- *remark_items
19
- ]
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class GenericEntity < ModelElement
5
- include Identifier
6
-
7
- def initialize(options = {})
8
- @id = options[:id]
9
- @remarks = options.fetch(:remarks, [])
10
- @remark_items = options.fetch(:remark_items, [])
11
- @source = options[:source]
12
-
13
- super
14
- end
15
- end
16
-
17
- def children
18
- [
19
- *remark_items
20
- ]
21
- end
22
- end
23
- end
24
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Integer < ModelElement
5
- end
6
- end
7
- end
8
- end
@@ -1,21 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class List < ModelElement
5
- model_attr_accessor :bound1
6
- model_attr_accessor :bound2
7
- model_attr_accessor :unique
8
- model_attr_accessor :base_type
9
-
10
- def initialize(options = {})
11
- @bound1 = options[:bound1]
12
- @bound2 = options[:bound2]
13
- @unique = options[:unique]
14
- @base_type = options[:base_type]
15
-
16
- super
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Logical < ModelElement
5
- end
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Number < ModelElement
5
- end
6
- end
7
- end
8
- end
@@ -1,15 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Real < ModelElement
5
- model_attr_accessor :precision
6
-
7
- def initialize(options = {})
8
- @precision = options[:precision]
9
-
10
- super
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,23 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Select < ModelElement
5
- model_attr_accessor :extensible
6
- model_attr_accessor :generic_entity
7
- model_attr_accessor :items
8
- model_attr_accessor :extension_type
9
- model_attr_accessor :extension_items
10
-
11
- def initialize(options = {})
12
- @extensible = options[:extensible]
13
- @generic_entity = options[:generic_entity]
14
- @items = options.fetch(:items, [])
15
- @extension_type = options[:extension_type]
16
- @extension_items = options.fetch(:extension_items, [])
17
-
18
- super
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Set < ModelElement
5
- model_attr_accessor :bound1
6
- model_attr_accessor :bound2
7
- model_attr_accessor :base_type
8
-
9
- def initialize(options = {})
10
- @bound1 = options[:bound1]
11
- @bound2 = options[:bound2]
12
- @base_type = options[:base_type]
13
-
14
- super
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,17 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class String < ModelElement
5
- model_attr_accessor :width
6
- model_attr_accessor :fixed
7
-
8
- def initialize(options = {})
9
- @width = options[:width]
10
- @fixed = options[:fixed]
11
-
12
- super
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,26 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Unique < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :attributes
7
-
8
- def initialize(options = {})
9
- @id = options[:id]
10
- @remarks = options.fetch(:remarks, [])
11
- @remark_items = options.fetch(:remark_items, [])
12
- @source = options[:source]
13
-
14
- @attributes = options.fetch(:attributes, [])
15
-
16
- super
17
- end
18
-
19
- def children
20
- [
21
- *remark_items
22
- ]
23
- end
24
- end
25
- end
26
- end
@@ -1,28 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Variable < 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.fetch(:remarks, [])
12
- @remark_items = options.fetch(: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,26 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Where < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :expression
7
-
8
- def initialize(options = {})
9
- @id = options[:id]
10
- @remarks = options.fetch(:remarks, [])
11
- @remark_items = options.fetch(:remark_items, [])
12
- @source = options[:source]
13
-
14
- @expression = options[:expression]
15
-
16
- super
17
- end
18
-
19
- def children
20
- [
21
- *remark_items
22
- ]
23
- end
24
- end
25
- end
26
- end
@@ -1,8 +0,0 @@
1
- module Expressir
2
- module Parser
3
- class OwlParser
4
- def self.parse(express, options = {})
5
- end
6
- end
7
- end
8
- end
@@ -1,6 +0,0 @@
1
- require "expressir/parser/owl_parser"
2
-
3
- module Expressir
4
- module Parser
5
- end
6
- end