expressir 1.0.0-x86-linux → 1.1.0-x86-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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +11 -0
  3. data/Rakefile +3 -0
  4. data/expressir.gemspec +3 -0
  5. data/lib/expressir/express/2.4/express_parser.so +0 -0
  6. data/lib/expressir/express/2.5/express_parser.so +0 -0
  7. data/lib/expressir/express/2.6/express_parser.so +0 -0
  8. data/lib/expressir/express/2.7/express_parser.so +0 -0
  9. data/lib/expressir/express/3.0/express_parser.so +0 -0
  10. data/lib/expressir/express/cache.rb +16 -10
  11. data/lib/expressir/express/formatter.rb +231 -180
  12. data/lib/expressir/express/hyperlink_formatter.rb +15 -1
  13. data/lib/expressir/express/model_visitor.rb +1 -0
  14. data/lib/expressir/express/parser.rb +16 -10
  15. data/lib/expressir/express/resolve_references_model_visitor.rb +7 -5
  16. data/lib/expressir/express/schema_head_formatter.rb +16 -2
  17. data/lib/expressir/express/visitor.rb +280 -254
  18. data/lib/expressir/model.rb +52 -45
  19. data/lib/expressir/model/cache.rb +6 -2
  20. data/lib/expressir/model/data_type.rb +9 -0
  21. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  22. data/lib/expressir/model/data_types/array.rb +31 -0
  23. data/lib/expressir/model/data_types/bag.rb +25 -0
  24. data/lib/expressir/model/data_types/binary.rb +22 -0
  25. data/lib/expressir/model/data_types/boolean.rb +10 -0
  26. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  27. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  28. data/lib/expressir/model/data_types/generic.rb +26 -0
  29. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  30. data/lib/expressir/model/data_types/integer.rb +10 -0
  31. data/lib/expressir/model/data_types/list.rb +28 -0
  32. data/lib/expressir/model/data_types/logical.rb +10 -0
  33. data/lib/expressir/model/data_types/number.rb +10 -0
  34. data/lib/expressir/model/data_types/real.rb +19 -0
  35. data/lib/expressir/model/data_types/select.rb +28 -0
  36. data/lib/expressir/model/data_types/set.rb +25 -0
  37. data/lib/expressir/model/data_types/string.rb +22 -0
  38. data/lib/expressir/model/declaration.rb +9 -0
  39. data/lib/expressir/model/declarations/attribute.rb +47 -0
  40. data/lib/expressir/model/declarations/constant.rb +34 -0
  41. data/lib/expressir/model/declarations/entity.rb +53 -0
  42. data/lib/expressir/model/declarations/function.rb +67 -0
  43. data/lib/expressir/model/declarations/interface.rb +28 -0
  44. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  45. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  46. data/lib/expressir/model/declarations/parameter.rb +34 -0
  47. data/lib/expressir/model/declarations/procedure.rb +64 -0
  48. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  49. data/lib/expressir/model/declarations/rule.rb +71 -0
  50. data/lib/expressir/model/declarations/schema.rb +117 -0
  51. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  52. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  53. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  54. data/lib/expressir/model/declarations/type.rb +45 -0
  55. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  56. data/lib/expressir/model/declarations/variable.rb +34 -0
  57. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  58. data/lib/expressir/model/expression.rb +9 -0
  59. data/lib/expressir/model/expressions/aggregate_initializer.rb +6 -2
  60. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  61. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  62. data/lib/expressir/model/expressions/entity_constructor.rb +8 -3
  63. data/lib/expressir/model/expressions/function_call.rb +22 -0
  64. data/lib/expressir/model/expressions/interval.rb +17 -6
  65. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  66. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  67. data/lib/expressir/model/identifier.rb +26 -4
  68. data/lib/expressir/model/literal.rb +9 -0
  69. data/lib/expressir/model/literals/binary.rb +6 -2
  70. data/lib/expressir/model/literals/integer.rb +6 -2
  71. data/lib/expressir/model/literals/logical.rb +6 -2
  72. data/lib/expressir/model/literals/real.rb +6 -2
  73. data/lib/expressir/model/literals/string.rb +8 -3
  74. data/lib/expressir/model/model_element.rb +63 -37
  75. data/lib/expressir/model/reference.rb +9 -0
  76. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  77. data/lib/expressir/model/references/group_reference.rb +22 -0
  78. data/lib/expressir/model/references/index_reference.rb +27 -0
  79. data/lib/expressir/model/references/simple_reference.rb +24 -0
  80. data/lib/expressir/model/repository.rb +7 -1
  81. data/lib/expressir/model/statement.rb +9 -0
  82. data/lib/expressir/model/statements/alias.rb +11 -7
  83. data/lib/expressir/model/statements/assignment.rb +8 -3
  84. data/lib/expressir/model/statements/case.rb +10 -4
  85. data/lib/expressir/model/statements/case_action.rb +7 -2
  86. data/lib/expressir/model/statements/compound.rb +6 -2
  87. data/lib/expressir/model/statements/escape.rb +3 -1
  88. data/lib/expressir/model/statements/if.rb +10 -4
  89. data/lib/expressir/model/statements/null.rb +3 -1
  90. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  91. data/lib/expressir/model/statements/repeat.rb +19 -11
  92. data/lib/expressir/model/statements/return.rb +6 -2
  93. data/lib/expressir/model/statements/skip.rb +3 -1
  94. data/lib/expressir/model/supertype_expression.rb +9 -0
  95. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  96. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  97. data/lib/expressir/version.rb +1 -1
  98. data/spec/expressir/model/model_element_spec.rb +131 -131
  99. data/spec/syntax/multiple.yaml +68 -68
  100. data/spec/syntax/remark.yaml +64 -64
  101. data/spec/syntax/single.yaml +5 -5
  102. data/spec/syntax/single_formatted.yaml +5 -5
  103. data/spec/syntax/syntax.yaml +1003 -1030
  104. metadata +97 -45
  105. data/lib/expressir/model/attribute.rb +0 -38
  106. data/lib/expressir/model/constant.rb +0 -28
  107. data/lib/expressir/model/entity.rb +0 -42
  108. data/lib/expressir/model/enumeration_item.rb +0 -22
  109. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  110. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  111. data/lib/expressir/model/expressions/call.rb +0 -17
  112. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  113. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  114. data/lib/expressir/model/expressions/simple_reference.rb +0 -19
  115. data/lib/expressir/model/function.rb +0 -57
  116. data/lib/expressir/model/interface.rb +0 -20
  117. data/lib/expressir/model/interface_item.rb +0 -15
  118. data/lib/expressir/model/interfaced_item.rb +0 -27
  119. data/lib/expressir/model/parameter.rb +0 -28
  120. data/lib/expressir/model/procedure.rb +0 -55
  121. data/lib/expressir/model/remark_item.rb +0 -15
  122. data/lib/expressir/model/rule.rb +0 -60
  123. data/lib/expressir/model/schema.rb +0 -100
  124. data/lib/expressir/model/schema_version.rb +0 -15
  125. data/lib/expressir/model/schema_version_item.rb +0 -15
  126. data/lib/expressir/model/statements/call.rb +0 -17
  127. data/lib/expressir/model/subtype_constraint.rb +0 -32
  128. data/lib/expressir/model/type.rb +0 -37
  129. data/lib/expressir/model/types/aggregate.rb +0 -28
  130. data/lib/expressir/model/types/array.rb +0 -23
  131. data/lib/expressir/model/types/bag.rb +0 -19
  132. data/lib/expressir/model/types/binary.rb +0 -17
  133. data/lib/expressir/model/types/boolean.rb +0 -8
  134. data/lib/expressir/model/types/enumeration.rb +0 -19
  135. data/lib/expressir/model/types/generic.rb +0 -24
  136. data/lib/expressir/model/types/generic_entity.rb +0 -24
  137. data/lib/expressir/model/types/integer.rb +0 -8
  138. data/lib/expressir/model/types/list.rb +0 -21
  139. data/lib/expressir/model/types/logical.rb +0 -8
  140. data/lib/expressir/model/types/number.rb +0 -8
  141. data/lib/expressir/model/types/real.rb +0 -15
  142. data/lib/expressir/model/types/select.rb +0 -21
  143. data/lib/expressir/model/types/set.rb +0 -19
  144. data/lib/expressir/model/types/string.rb +0 -17
  145. data/lib/expressir/model/unique_rule.rb +0 -26
  146. data/lib/expressir/model/variable.rb +0 -28
  147. data/lib/expressir/model/where_rule.rb +0 -26
@@ -1,37 +0,0 @@
1
- module Expressir
2
- module Model
3
- class Type < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :underlying_type
7
- model_attr_accessor :where_rules
8
- model_attr_accessor :informal_propositions
9
-
10
- def initialize(options = {})
11
- @id = options[:id]
12
- @remarks = options[:remarks] || []
13
- @remark_items = options[:remark_items] || []
14
- @source = options[:source]
15
-
16
- @underlying_type = options[:underlying_type]
17
- @where_rules = options[:where_rules] || []
18
- @informal_propositions = options[:informal_propositions] || []
19
-
20
- super
21
- end
22
-
23
- def enumeration_items
24
- underlying_type.is_a?(Types::Enumeration) ? underlying_type.items : []
25
- end
26
-
27
- def children
28
- [
29
- *enumeration_items,
30
- *where_rules,
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[:remarks] || []
12
- @remark_items = options[: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,19 +0,0 @@
1
- module Expressir
2
- module Model
3
- module Types
4
- class Enumeration < ModelElement
5
- model_attr_accessor :extensible
6
- model_attr_accessor :based_on
7
- model_attr_accessor :items
8
-
9
- def initialize(options = {})
10
- @extensible = options[:extensible]
11
- @based_on = options[:based_on]
12
- @items = options[:items] || []
13
-
14
- super
15
- end
16
- end
17
- end
18
- end
19
- 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[:remarks] || []
10
- @remark_items = options[: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[:remarks] || []
10
- @remark_items = options[: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,21 +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 :based_on
8
- model_attr_accessor :items
9
-
10
- def initialize(options = {})
11
- @extensible = options[:extensible]
12
- @generic_entity = options[:generic_entity]
13
- @based_on = options[:based_on]
14
- @items = options[:items] || []
15
-
16
- super
17
- end
18
- end
19
- end
20
- end
21
- 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 UniqueRule < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :attributes
7
-
8
- def initialize(options = {})
9
- @id = options[:id]
10
- @remarks = options[:remarks] || []
11
- @remark_items = options[:remark_items] || []
12
- @source = options[:source]
13
-
14
- @attributes = options[: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[: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,26 +0,0 @@
1
- module Expressir
2
- module Model
3
- class WhereRule < ModelElement
4
- include Identifier
5
-
6
- model_attr_accessor :expression
7
-
8
- def initialize(options = {})
9
- @id = options[:id]
10
- @remarks = options[:remarks] || []
11
- @remark_items = options[: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