expressir 2.2.1 → 2.3.1

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 (191) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +681 -78
  4. data/Gemfile +4 -1
  5. data/README.adoc +63 -26
  6. data/benchmark/srl_benchmark.rb +399 -0
  7. data/benchmark/srl_native_benchmark.rb +146 -0
  8. data/benchmark/srl_ruby_benchmark.rb +132 -0
  9. data/expressir.gemspec +3 -2
  10. data/lib/expressir/benchmark.rb +1 -1
  11. data/lib/expressir/changes/item_change.rb +0 -2
  12. data/lib/expressir/changes/mapping_change.rb +0 -2
  13. data/lib/expressir/changes/schema_change.rb +0 -3
  14. data/lib/expressir/changes/version_change.rb +0 -4
  15. data/lib/expressir/changes.rb +5 -6
  16. data/lib/expressir/cli.rb +10 -24
  17. data/lib/expressir/commands/changes.rb +0 -2
  18. data/lib/expressir/commands/changes_import_eengine.rb +2 -5
  19. data/lib/expressir/commands/changes_validate.rb +0 -2
  20. data/lib/expressir/commands/format.rb +1 -1
  21. data/lib/expressir/commands/manifest.rb +0 -7
  22. data/lib/expressir/commands/package.rb +16 -29
  23. data/lib/expressir/commands/validate.rb +0 -2
  24. data/lib/expressir/commands/validate_ascii.rb +0 -1
  25. data/lib/expressir/commands/validate_load.rb +1 -1
  26. data/lib/expressir/commands.rb +20 -0
  27. data/lib/expressir/config.rb +0 -2
  28. data/lib/expressir/coverage.rb +11 -4
  29. data/lib/expressir/eengine/arm_compare_report.rb +1 -5
  30. data/lib/expressir/eengine/changes_section.rb +1 -4
  31. data/lib/expressir/eengine/compare_report.rb +1 -13
  32. data/lib/expressir/eengine/mim_compare_report.rb +1 -5
  33. data/lib/expressir/eengine/modified_object.rb +1 -3
  34. data/lib/expressir/eengine.rb +9 -0
  35. data/lib/expressir/errors.rb +3 -5
  36. data/lib/expressir/express/builder.rb +82 -24
  37. data/lib/expressir/express/builder_registry.rb +411 -0
  38. data/lib/expressir/express/builders/attribute_decl_builder.rb +0 -6
  39. data/lib/expressir/express/builders/built_in_builder.rb +5 -18
  40. data/lib/expressir/express/builders/constant_builder.rb +4 -19
  41. data/lib/expressir/express/builders/declaration_builder.rb +0 -4
  42. data/lib/expressir/express/builders/derive_clause_builder.rb +0 -2
  43. data/lib/expressir/express/builders/derived_attr_builder.rb +0 -2
  44. data/lib/expressir/express/builders/domain_rule_builder.rb +0 -2
  45. data/lib/expressir/express/builders/entity_decl_builder.rb +11 -13
  46. data/lib/expressir/express/builders/explicit_attr_builder.rb +5 -8
  47. data/lib/expressir/express/builders/expression_builder.rb +25 -67
  48. data/lib/expressir/express/builders/function_decl_builder.rb +20 -18
  49. data/lib/expressir/express/builders/interface_builder.rb +0 -20
  50. data/lib/expressir/express/builders/inverse_attr_builder.rb +0 -2
  51. data/lib/expressir/express/builders/inverse_attr_type_builder.rb +0 -6
  52. data/lib/expressir/express/builders/inverse_clause_builder.rb +0 -2
  53. data/lib/expressir/express/builders/literal_builder.rb +1 -15
  54. data/lib/expressir/express/builders/procedure_decl_builder.rb +20 -19
  55. data/lib/expressir/express/builders/qualifier_builder.rb +0 -27
  56. data/lib/expressir/express/builders/reference_builder.rb +1 -10
  57. data/lib/expressir/express/builders/rule_decl_builder.rb +21 -19
  58. data/lib/expressir/express/builders/schema_body_decl_builder.rb +0 -4
  59. data/lib/expressir/express/builders/schema_decl_builder.rb +7 -13
  60. data/lib/expressir/express/builders/schema_version_builder.rb +0 -6
  61. data/lib/expressir/express/builders/simple_id_builder.rb +1 -10
  62. data/lib/expressir/express/builders/statement_builder.rb +4 -32
  63. data/lib/expressir/express/builders/subtype_constraint_builder.rb +6 -30
  64. data/lib/expressir/express/builders/syntax_builder.rb +18 -7
  65. data/lib/expressir/express/builders/type_builder.rb +3 -45
  66. data/lib/expressir/express/builders/type_decl_builder.rb +1 -7
  67. data/lib/expressir/express/builders/unique_clause_builder.rb +1 -3
  68. data/lib/expressir/express/builders/unique_rule_builder.rb +0 -2
  69. data/lib/expressir/express/builders/where_clause_builder.rb +1 -3
  70. data/lib/expressir/express/builders.rb +47 -35
  71. data/lib/expressir/express/error.rb +0 -3
  72. data/lib/expressir/express/formatter.rb +17 -19
  73. data/lib/expressir/express/formatters/data_types_formatter.rb +295 -293
  74. data/lib/expressir/express/formatters/declarations_formatter.rb +617 -615
  75. data/lib/expressir/express/formatters/expressions_formatter.rb +146 -144
  76. data/lib/expressir/express/formatters/literals_formatter.rb +35 -33
  77. data/lib/expressir/express/formatters/references_formatter.rb +34 -32
  78. data/lib/expressir/express/formatters/remark_formatter.rb +174 -209
  79. data/lib/expressir/express/formatters/remark_item_formatter.rb +18 -16
  80. data/lib/expressir/express/formatters/statements_formatter.rb +190 -188
  81. data/lib/expressir/express/formatters/supertype_expressions_formatter.rb +41 -39
  82. data/lib/expressir/express/formatters.rb +22 -0
  83. data/lib/expressir/express/parser.rb +266 -47
  84. data/lib/expressir/express/pretty_formatter.rb +68 -47
  85. data/lib/expressir/express/remark_attacher.rb +254 -162
  86. data/lib/expressir/express/streaming_builder.rb +0 -3
  87. data/lib/expressir/express/transformer/remark_handling.rb +1 -3
  88. data/lib/expressir/express.rb +29 -0
  89. data/lib/expressir/manifest/resolver.rb +0 -3
  90. data/lib/expressir/manifest/validator.rb +0 -3
  91. data/lib/expressir/manifest.rb +6 -0
  92. data/lib/expressir/model/cache.rb +1 -1
  93. data/lib/expressir/model/concerns.rb +19 -0
  94. data/lib/expressir/model/data_types/aggregate.rb +1 -1
  95. data/lib/expressir/model/data_types/array.rb +1 -1
  96. data/lib/expressir/model/data_types/bag.rb +1 -1
  97. data/lib/expressir/model/data_types/binary.rb +1 -1
  98. data/lib/expressir/model/data_types/boolean.rb +1 -1
  99. data/lib/expressir/model/data_types/enumeration.rb +1 -1
  100. data/lib/expressir/model/data_types/enumeration_item.rb +1 -1
  101. data/lib/expressir/model/data_types/generic.rb +1 -1
  102. data/lib/expressir/model/data_types/generic_entity.rb +1 -1
  103. data/lib/expressir/model/data_types/integer.rb +1 -1
  104. data/lib/expressir/model/data_types/list.rb +1 -1
  105. data/lib/expressir/model/data_types/logical.rb +1 -1
  106. data/lib/expressir/model/data_types/number.rb +1 -1
  107. data/lib/expressir/model/data_types/real.rb +1 -1
  108. data/lib/expressir/model/data_types/select.rb +1 -1
  109. data/lib/expressir/model/data_types/set.rb +1 -1
  110. data/lib/expressir/model/data_types/string.rb +1 -1
  111. data/lib/expressir/model/data_types.rb +25 -0
  112. data/lib/expressir/model/declarations/attribute.rb +1 -1
  113. data/lib/expressir/model/declarations/constant.rb +1 -1
  114. data/lib/expressir/model/declarations/derived_attribute.rb +1 -1
  115. data/lib/expressir/model/declarations/entity.rb +4 -1
  116. data/lib/expressir/model/declarations/function.rb +3 -1
  117. data/lib/expressir/model/declarations/informal_proposition_rule.rb +2 -1
  118. data/lib/expressir/model/declarations/interface.rb +1 -1
  119. data/lib/expressir/model/declarations/interface_item.rb +1 -1
  120. data/lib/expressir/model/declarations/interfaced_item.rb +1 -1
  121. data/lib/expressir/model/declarations/inverse_attribute.rb +1 -1
  122. data/lib/expressir/model/declarations/parameter.rb +1 -1
  123. data/lib/expressir/model/declarations/procedure.rb +3 -1
  124. data/lib/expressir/model/declarations/remark_item.rb +1 -1
  125. data/lib/expressir/model/declarations/rule.rb +4 -1
  126. data/lib/expressir/model/declarations/schema.rb +2 -1
  127. data/lib/expressir/model/declarations/schema_version.rb +1 -1
  128. data/lib/expressir/model/declarations/schema_version_item.rb +1 -1
  129. data/lib/expressir/model/declarations/subtype_constraint.rb +1 -1
  130. data/lib/expressir/model/declarations/type.rb +4 -1
  131. data/lib/expressir/model/declarations/unique_rule.rb +1 -1
  132. data/lib/expressir/model/declarations/variable.rb +1 -1
  133. data/lib/expressir/model/declarations/where_rule.rb +1 -1
  134. data/lib/expressir/model/declarations.rb +31 -0
  135. data/lib/expressir/model/dependency_resolver.rb +0 -2
  136. data/lib/expressir/model/exp_file.rb +39 -0
  137. data/lib/expressir/model/expressions/aggregate_initializer.rb +1 -1
  138. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +1 -1
  139. data/lib/expressir/model/expressions/binary_expression.rb +1 -1
  140. data/lib/expressir/model/expressions/entity_constructor.rb +1 -1
  141. data/lib/expressir/model/expressions/function_call.rb +1 -1
  142. data/lib/expressir/model/expressions/interval.rb +1 -1
  143. data/lib/expressir/model/expressions/query_expression.rb +1 -1
  144. data/lib/expressir/model/expressions/unary_expression.rb +1 -1
  145. data/lib/expressir/model/expressions.rb +18 -0
  146. data/lib/expressir/model/identifier.rb +5 -1
  147. data/lib/expressir/model/indexes.rb +11 -0
  148. data/lib/expressir/model/literals/binary.rb +1 -1
  149. data/lib/expressir/model/literals/integer.rb +1 -1
  150. data/lib/expressir/model/literals/logical.rb +1 -1
  151. data/lib/expressir/model/literals/real.rb +1 -1
  152. data/lib/expressir/model/literals/string.rb +1 -1
  153. data/lib/expressir/model/literals.rb +13 -0
  154. data/lib/expressir/model/model_element.rb +7 -15
  155. data/lib/expressir/model/references/attribute_reference.rb +1 -1
  156. data/lib/expressir/model/references/group_reference.rb +1 -1
  157. data/lib/expressir/model/references/index_reference.rb +1 -1
  158. data/lib/expressir/model/references/simple_reference.rb +1 -1
  159. data/lib/expressir/model/references.rb +12 -0
  160. data/lib/expressir/model/remark_info.rb +1 -7
  161. data/lib/expressir/model/repository.rb +76 -41
  162. data/lib/expressir/model/repository_validator.rb +0 -2
  163. data/lib/expressir/model/search_engine.rb +12 -35
  164. data/lib/expressir/model/statements/alias.rb +1 -1
  165. data/lib/expressir/model/statements/assignment.rb +1 -1
  166. data/lib/expressir/model/statements/case.rb +1 -1
  167. data/lib/expressir/model/statements/case_action.rb +1 -1
  168. data/lib/expressir/model/statements/compound.rb +1 -1
  169. data/lib/expressir/model/statements/escape.rb +1 -1
  170. data/lib/expressir/model/statements/if.rb +1 -1
  171. data/lib/expressir/model/statements/null.rb +1 -1
  172. data/lib/expressir/model/statements/procedure_call.rb +1 -1
  173. data/lib/expressir/model/statements/repeat.rb +1 -1
  174. data/lib/expressir/model/statements/return.rb +1 -1
  175. data/lib/expressir/model/statements/skip.rb +1 -1
  176. data/lib/expressir/model/statements.rb +20 -0
  177. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +1 -1
  178. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +1 -1
  179. data/lib/expressir/model/supertype_expressions.rb +12 -0
  180. data/lib/expressir/model.rb +28 -4
  181. data/lib/expressir/package/builder.rb +35 -4
  182. data/lib/expressir/package/metadata.rb +0 -2
  183. data/lib/expressir/package/reader.rb +0 -1
  184. data/lib/expressir/package.rb +8 -0
  185. data/lib/expressir/schema_manifest.rb +5 -7
  186. data/lib/expressir/schema_manifest_entry.rb +3 -5
  187. data/lib/expressir/transformer.rb +7 -0
  188. data/lib/expressir/version.rb +1 -1
  189. data/lib/expressir.rb +23 -171
  190. metadata +46 -6
  191. data/lib/expressir/express/builders/token_builder.rb +0 -15
data/lib/expressir.rb CHANGED
@@ -1,11 +1,6 @@
1
1
  require_relative "expressir/version"
2
2
  require_relative "expressir/errors"
3
- require_relative "expressir/cli"
4
- require_relative "expressir/config"
5
- require_relative "expressir/benchmark"
6
- require_relative "expressir/coverage"
7
- require_relative "expressir/schema_manifest"
8
- require_relative "expressir/schema_manifest_entry"
3
+
9
4
  require "lutaml/model"
10
5
  require "liquid" # To enable Lutaml::Model::Liquefiable
11
6
 
@@ -29,6 +24,28 @@ else
29
24
  end
30
25
 
31
26
  module Expressir
27
+ # Namespace modules - autoload loads the namespace file which contains
28
+ # autoload definitions for classes within that namespace
29
+ autoload :Config, "#{__dir__}/expressir/config"
30
+ extend Config
31
+
32
+ autoload :Benchmark, "#{__dir__}/expressir/benchmark"
33
+ autoload :Coverage, "#{__dir__}/expressir/coverage"
34
+
35
+ autoload :Express, "#{__dir__}/expressir/express"
36
+ autoload :Model, "#{__dir__}/expressir/model"
37
+ autoload :Commands, "#{__dir__}/expressir/commands"
38
+ autoload :Changes, "#{__dir__}/expressir/changes"
39
+ autoload :Package, "#{__dir__}/expressir/package"
40
+ autoload :Manifest, "#{__dir__}/expressir/manifest"
41
+ autoload :Eengine, "#{__dir__}/expressir/eengine"
42
+ autoload :SchemaManifest, "#{__dir__}/expressir/schema_manifest"
43
+ autoload :SchemaManifestEntry, "#{__dir__}/expressir/schema_manifest_entry"
44
+
45
+ # CLI is loaded last so that namespace autoloads are defined first
46
+ # CLI uses Expressir::Commands::* which triggers autoload
47
+ autoload :Cli, "#{__dir__}/expressir/cli"
48
+
32
49
  def self.root
33
50
  File.dirname(__dir__)
34
51
  end
@@ -36,169 +53,4 @@ module Expressir
36
53
  def self.root_path
37
54
  @root_path ||= Pathname.new(Expressir.root)
38
55
  end
39
-
40
- # Autoload for Express module classes
41
- module Express
42
- autoload :Builder, "expressir/express/builder"
43
- autoload :Cache, "expressir/express/cache"
44
- autoload :Error, "expressir/express/error"
45
- autoload :Formatter, "expressir/express/formatter"
46
- autoload :HyperlinkFormatter, "expressir/express/hyperlink_formatter"
47
- autoload :ModelVisitor, "expressir/express/model_visitor"
48
- autoload :Parser, "expressir/express/parser"
49
- autoload :PrettyFormatter, "expressir/express/pretty_formatter"
50
- autoload :RemarkAttacher, "expressir/express/remark_attacher"
51
- autoload :ResolveReferencesModelVisitor,
52
- "expressir/express/resolve_references_model_visitor"
53
- autoload :SchemaHeadFormatter, "expressir/express/schema_head_formatter"
54
- autoload :StreamingBuilder, "expressir/express/streaming_builder"
55
- end
56
-
57
- # Autoload for Model module classes
58
- module Model
59
- autoload :ModelElement, "expressir/model/model_element"
60
- autoload :Cache, "expressir/model/cache"
61
- autoload :Identifier, "expressir/model/identifier"
62
- autoload :Repository, "expressir/model/repository"
63
- autoload :RepositoryValidator, "expressir/model/repository_validator"
64
- autoload :DependencyResolver, "expressir/model/dependency_resolver"
65
- autoload :RemarkInfo, "expressir/model/remark_info"
66
-
67
- module Indexes
68
- autoload :EntityIndex, "expressir/model/indexes/entity_index"
69
- autoload :TypeIndex, "expressir/model/indexes/type_index"
70
- autoload :ReferenceIndex, "expressir/model/indexes/reference_index"
71
- end
72
-
73
- module DataTypes
74
- autoload :Aggregate, "expressir/model/data_types/aggregate"
75
- autoload :Array, "expressir/model/data_types/array"
76
- autoload :Bag, "expressir/model/data_types/bag"
77
- autoload :Binary, "expressir/model/data_types/binary"
78
- autoload :Boolean, "expressir/model/data_types/boolean"
79
- autoload :Enumeration, "expressir/model/data_types/enumeration"
80
- autoload :EnumerationItem, "expressir/model/data_types/enumeration_item"
81
- autoload :GenericEntity, "expressir/model/data_types/generic_entity"
82
- autoload :Generic, "expressir/model/data_types/generic"
83
- autoload :Integer, "expressir/model/data_types/integer"
84
- autoload :List, "expressir/model/data_types/list"
85
- autoload :Logical, "expressir/model/data_types/logical"
86
- autoload :Number, "expressir/model/data_types/number"
87
- autoload :Real, "expressir/model/data_types/real"
88
- autoload :Select, "expressir/model/data_types/select"
89
- autoload :Set, "expressir/model/data_types/set"
90
- autoload :String, "expressir/model/data_types/string"
91
- end
92
-
93
- module Declarations
94
- autoload :Attribute, "expressir/model/declarations/attribute"
95
- autoload :Constant, "expressir/model/declarations/constant"
96
- autoload :DerivedAttribute,
97
- "expressir/model/declarations/derived_attribute"
98
- autoload :Entity, "expressir/model/declarations/entity"
99
- autoload :Function, "expressir/model/declarations/function"
100
- autoload :Interface, "expressir/model/declarations/interface"
101
- autoload :InterfaceItem, "expressir/model/declarations/interface_item"
102
- autoload :InterfacedItem, "expressir/model/declarations/interfaced_item"
103
- autoload :InverseAttribute,
104
- "expressir/model/declarations/inverse_attribute"
105
- autoload :Parameter, "expressir/model/declarations/parameter"
106
- autoload :Procedure, "expressir/model/declarations/procedure"
107
- autoload :RemarkItem, "expressir/model/declarations/remark_item"
108
- autoload :Rule, "expressir/model/declarations/rule"
109
- autoload :Schema, "expressir/model/declarations/schema"
110
- autoload :SchemaVersion, "expressir/model/declarations/schema_version"
111
- autoload :SchemaVersionItem,
112
- "expressir/model/declarations/schema_version_item"
113
- autoload :SubtypeConstraint,
114
- "expressir/model/declarations/subtype_constraint"
115
- autoload :Type, "expressir/model/declarations/type"
116
- autoload :UniqueRule, "expressir/model/declarations/unique_rule"
117
- autoload :Variable, "expressir/model/declarations/variable"
118
- autoload :WhereRule, "expressir/model/declarations/where_rule"
119
- autoload :InformalPropositionRule,
120
- "expressir/model/declarations/informal_proposition_rule"
121
- end
122
-
123
- module Expressions
124
- autoload :AggregateInitializer,
125
- "expressir/model/expressions/aggregate_initializer"
126
- autoload :AggregateInitializerItem,
127
- "expressir/model/expressions/aggregate_initializer_item"
128
- autoload :BinaryExpression,
129
- "expressir/model/expressions/binary_expression"
130
- autoload :EntityConstructor,
131
- "expressir/model/expressions/entity_constructor"
132
- autoload :FunctionCall, "expressir/model/expressions/function_call"
133
- autoload :Interval, "expressir/model/expressions/interval"
134
- autoload :QueryExpression, "expressir/model/expressions/query_expression"
135
- autoload :UnaryExpression, "expressir/model/expressions/unary_expression"
136
- end
137
-
138
- module Literals
139
- autoload :Binary, "expressir/model/literals/binary"
140
- autoload :Integer, "expressir/model/literals/integer"
141
- autoload :Logical, "expressir/model/literals/logical"
142
- autoload :Real, "expressir/model/literals/real"
143
- autoload :String, "expressir/model/literals/string"
144
- end
145
-
146
- module References
147
- autoload :AttributeReference,
148
- "expressir/model/references/attribute_reference"
149
- autoload :GroupReference, "expressir/model/references/group_reference"
150
- autoload :IndexReference, "expressir/model/references/index_reference"
151
- autoload :SimpleReference, "expressir/model/references/simple_reference"
152
- end
153
-
154
- module Statements
155
- autoload :Alias, "expressir/model/statements/alias"
156
- autoload :Assignment, "expressir/model/statements/assignment"
157
- autoload :Case, "expressir/model/statements/case"
158
- autoload :CaseAction, "expressir/model/statements/case_action"
159
- autoload :Compound, "expressir/model/statements/compound"
160
- autoload :Escape, "expressir/model/statements/escape"
161
- autoload :If, "expressir/model/statements/if"
162
- autoload :Null, "expressir/model/statements/null"
163
- autoload :ProcedureCall, "expressir/model/statements/procedure_call"
164
- autoload :Repeat, "expressir/model/statements/repeat"
165
- autoload :Return, "expressir/model/statements/return"
166
- autoload :Skip, "expressir/model/statements/skip"
167
- end
168
-
169
- module SupertypeExpressions
170
- autoload :BinarySupertypeExpression,
171
- "expressir/model/supertype_expressions/binary_supertype_expression"
172
- autoload :OneofSupertypeExpression,
173
- "expressir/model/supertype_expressions/oneof_supertype_expression"
174
- end
175
- end
176
-
177
- # Autoload for Package module classes
178
- module Package
179
- autoload :Metadata, "expressir/package/metadata"
180
- autoload :Builder, "expressir/package/builder"
181
- autoload :Reader, "expressir/package/reader"
182
- end
183
-
184
- # Autoload for Commands module classes
185
- module Commands
186
- autoload :Base, "expressir/commands/base"
187
- autoload :Benchmark, "expressir/commands/benchmark"
188
- autoload :BenchmarkCache, "expressir/commands/benchmark_cache"
189
- autoload :Clean, "expressir/commands/clean"
190
- autoload :ImportComparison, "expressir/commands/import_comparison"
191
- autoload :Coverage, "expressir/commands/coverage"
192
- autoload :Format, "expressir/commands/format"
193
- autoload :Validate, "expressir/commands/validate"
194
- autoload :Version, "expressir/commands/version"
195
- end
196
-
197
- # Autoload for Changes module classes
198
- module Changes
199
- autoload :SchemaChange, "expressir/changes/schema_change"
200
- autoload :VersionChange, "expressir/changes/version_change"
201
- autoload :ItemChange, "expressir/changes/item_change"
202
- autoload :MappingChange, "expressir/changes/mapping_change"
203
- end
204
56
  end
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: 2.2.1
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-13 00:00:00.000000000 Z
11
+ date: 2026-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -82,6 +82,20 @@ dependencies:
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: lutaml-model
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.8.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.8.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: moxml
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -95,7 +109,7 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: moxml
112
+ name: nokogiri
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -128,14 +142,20 @@ dependencies:
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '1.1'
145
+ version: 1.3.9
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 1.3.9
132
149
  type: :runtime
133
150
  prerelease: false
134
151
  version_requirements: !ruby/object:Gem::Requirement
135
152
  requirements:
136
153
  - - "~>"
137
154
  - !ruby/object:Gem::Version
138
- version: '1.1'
155
+ version: 1.3.9
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 1.3.9
139
159
  - !ruby/object:Gem::Dependency
140
160
  name: ruby-progressbar
141
161
  requirement: !ruby/object:Gem::Requirement
@@ -216,6 +236,9 @@ files:
216
236
  - Gemfile
217
237
  - README.adoc
218
238
  - Rakefile
239
+ - benchmark/srl_benchmark.rb
240
+ - benchmark/srl_native_benchmark.rb
241
+ - benchmark/srl_ruby_benchmark.rb
219
242
  - bin/console
220
243
  - bin/rspec
221
244
  - bin/setup
@@ -297,6 +320,7 @@ files:
297
320
  - lib/expressir/changes/schema_change.rb
298
321
  - lib/expressir/changes/version_change.rb
299
322
  - lib/expressir/cli.rb
323
+ - lib/expressir/commands.rb
300
324
  - lib/expressir/commands/base.rb
301
325
  - lib/expressir/commands/benchmark.rb
302
326
  - lib/expressir/commands/benchmark_cache.rb
@@ -314,13 +338,16 @@ files:
314
338
  - lib/expressir/commands/version.rb
315
339
  - lib/expressir/config.rb
316
340
  - lib/expressir/coverage.rb
341
+ - lib/expressir/eengine.rb
317
342
  - lib/expressir/eengine/arm_compare_report.rb
318
343
  - lib/expressir/eengine/changes_section.rb
319
344
  - lib/expressir/eengine/compare_report.rb
320
345
  - lib/expressir/eengine/mim_compare_report.rb
321
346
  - lib/expressir/eengine/modified_object.rb
322
347
  - lib/expressir/errors.rb
348
+ - lib/expressir/express.rb
323
349
  - lib/expressir/express/builder.rb
350
+ - lib/expressir/express/builder_registry.rb
324
351
  - lib/expressir/express/builders.rb
325
352
  - lib/expressir/express/builders/attribute_decl_builder.rb
326
353
  - lib/expressir/express/builders/built_in_builder.rb
@@ -350,7 +377,6 @@ files:
350
377
  - lib/expressir/express/builders/statement_builder.rb
351
378
  - lib/expressir/express/builders/subtype_constraint_builder.rb
352
379
  - lib/expressir/express/builders/syntax_builder.rb
353
- - lib/expressir/express/builders/token_builder.rb
354
380
  - lib/expressir/express/builders/type_builder.rb
355
381
  - lib/expressir/express/builders/type_decl_builder.rb
356
382
  - lib/expressir/express/builders/unique_clause_builder.rb
@@ -359,6 +385,7 @@ files:
359
385
  - lib/expressir/express/cache.rb
360
386
  - lib/expressir/express/error.rb
361
387
  - lib/expressir/express/formatter.rb
388
+ - lib/expressir/express/formatters.rb
362
389
  - lib/expressir/express/formatters/data_types_formatter.rb
363
390
  - lib/expressir/express/formatters/declarations_formatter.rb
364
391
  - lib/expressir/express/formatters/expressions_formatter.rb
@@ -378,10 +405,13 @@ files:
378
405
  - lib/expressir/express/streaming_builder.rb
379
406
  - lib/expressir/express/transformer/remark_handling.rb
380
407
  - lib/expressir/liquid.rb
408
+ - lib/expressir/manifest.rb
381
409
  - lib/expressir/manifest/resolver.rb
382
410
  - lib/expressir/manifest/validator.rb
383
411
  - lib/expressir/model.rb
384
412
  - lib/expressir/model/cache.rb
413
+ - lib/expressir/model/concerns.rb
414
+ - lib/expressir/model/data_types.rb
385
415
  - lib/expressir/model/data_types/aggregate.rb
386
416
  - lib/expressir/model/data_types/array.rb
387
417
  - lib/expressir/model/data_types/bag.rb
@@ -399,6 +429,7 @@ files:
399
429
  - lib/expressir/model/data_types/select.rb
400
430
  - lib/expressir/model/data_types/set.rb
401
431
  - lib/expressir/model/data_types/string.rb
432
+ - lib/expressir/model/declarations.rb
402
433
  - lib/expressir/model/declarations/attribute.rb
403
434
  - lib/expressir/model/declarations/constant.rb
404
435
  - lib/expressir/model/declarations/derived_attribute.rb
@@ -422,6 +453,8 @@ files:
422
453
  - lib/expressir/model/declarations/variable.rb
423
454
  - lib/expressir/model/declarations/where_rule.rb
424
455
  - lib/expressir/model/dependency_resolver.rb
456
+ - lib/expressir/model/exp_file.rb
457
+ - lib/expressir/model/expressions.rb
425
458
  - lib/expressir/model/expressions/aggregate_initializer.rb
426
459
  - lib/expressir/model/expressions/aggregate_initializer_item.rb
427
460
  - lib/expressir/model/expressions/binary_expression.rb
@@ -431,16 +464,19 @@ files:
431
464
  - lib/expressir/model/expressions/query_expression.rb
432
465
  - lib/expressir/model/expressions/unary_expression.rb
433
466
  - lib/expressir/model/identifier.rb
467
+ - lib/expressir/model/indexes.rb
434
468
  - lib/expressir/model/indexes/entity_index.rb
435
469
  - lib/expressir/model/indexes/reference_index.rb
436
470
  - lib/expressir/model/indexes/type_index.rb
437
471
  - lib/expressir/model/interface_validator.rb
472
+ - lib/expressir/model/literals.rb
438
473
  - lib/expressir/model/literals/binary.rb
439
474
  - lib/expressir/model/literals/integer.rb
440
475
  - lib/expressir/model/literals/logical.rb
441
476
  - lib/expressir/model/literals/real.rb
442
477
  - lib/expressir/model/literals/string.rb
443
478
  - lib/expressir/model/model_element.rb
479
+ - lib/expressir/model/references.rb
444
480
  - lib/expressir/model/references/attribute_reference.rb
445
481
  - lib/expressir/model/references/group_reference.rb
446
482
  - lib/expressir/model/references/index_reference.rb
@@ -449,6 +485,7 @@ files:
449
485
  - lib/expressir/model/repository.rb
450
486
  - lib/expressir/model/repository_validator.rb
451
487
  - lib/expressir/model/search_engine.rb
488
+ - lib/expressir/model/statements.rb
452
489
  - lib/expressir/model/statements/alias.rb
453
490
  - lib/expressir/model/statements/assignment.rb
454
491
  - lib/expressir/model/statements/case.rb
@@ -461,13 +498,16 @@ files:
461
498
  - lib/expressir/model/statements/repeat.rb
462
499
  - lib/expressir/model/statements/return.rb
463
500
  - lib/expressir/model/statements/skip.rb
501
+ - lib/expressir/model/supertype_expressions.rb
464
502
  - lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
465
503
  - lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
504
+ - lib/expressir/package.rb
466
505
  - lib/expressir/package/builder.rb
467
506
  - lib/expressir/package/metadata.rb
468
507
  - lib/expressir/package/reader.rb
469
508
  - lib/expressir/schema_manifest.rb
470
509
  - lib/expressir/schema_manifest_entry.rb
510
+ - lib/expressir/transformer.rb
471
511
  - lib/expressir/version.rb
472
512
  homepage: https://github.com/lutaml/expressir
473
513
  licenses:
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Token builders - operator tokens that return nil.
4
- # These are used as separators in lists and don't produce model objects.
5
-
6
- # Operator tokens - return nil
7
- %i[op_comma op_colon op_decl op_delim op_leftparen op_rightparen
8
- op_leftbracket op_rightbracket op_left_curly_brace op_right_curly_brace
9
- op_period op_pipe op_double_backslash op_double_pipe op_double_asterisk
10
- op_asterisk op_slash op_plus op_minus op_less_equal op_greater_equal
11
- op_less_greater op_less_than op_greater_than op_equals
12
- op_colon_less_greater_colon op_colon_equals_colon
13
- op_query_begin op_query_end op_question_mark].each do |token|
14
- Builder.register(token) { |_d| nil }
15
- end