expressir 2.4.3 → 2.4.5

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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config.toml +3 -0
  3. data/.github/workflows/rust-ext.yml +41 -0
  4. data/.github/workflows/verify_remarks.yml +33 -0
  5. data/.gitignore +6 -0
  6. data/.rubocop.yml +4 -0
  7. data/.rubocop_todo.yml +1 -0
  8. data/Cargo.toml +7 -0
  9. data/README.adoc +105 -0
  10. data/Rakefile +12 -0
  11. data/TODO.parity-ee/00-overview.md +58 -0
  12. data/TODO.parity-ee/01-annex-g-rule-extraction.md +41 -0
  13. data/TODO.parity-ee/02-eeng-algorithm-inventory.md +8 -0
  14. data/TODO.parity-ee/03-eeng-oracle-harness.md +33 -0
  15. data/TODO.parity-ee/04-shtolo-concatenate.md +44 -0
  16. data/TODO.parity-ee/05-shtolo-longform-flatten.md +53 -0
  17. data/TODO.parity-ee/06-interface-scheduling-parity.md +47 -0
  18. data/TODO.parity-ee/07-semantic-checks-port.md +35 -0
  19. data/TODO.parity-ee/08-pretty-roundtrip-gate.md +27 -0
  20. data/TODO.parity-ee/09-smrl-index-and-listing.md +22 -0
  21. data/TODO.parity-ee/10-interface-dot-graph.md +21 -0
  22. data/TODO.parity-ee/11-import-eeng-tests.md +79 -0
  23. data/TODO.parity-ee/parity-matrix.md +108 -0
  24. data/exe/expressir +6 -0
  25. data/ext/expressir_core/Cargo.toml +24 -0
  26. data/ext/expressir_core/extconf.rb +30 -0
  27. data/ext/expressir_core/src/lib.rs +446 -0
  28. data/lib/expressir/cli.rb +49 -4
  29. data/lib/expressir/commands/check.rb +56 -0
  30. data/lib/expressir/commands/expand.rb +26 -0
  31. data/lib/expressir/commands/fix.rb +33 -0
  32. data/lib/expressir/commands/flatten.rb +29 -0
  33. data/lib/expressir/commands/parity_inputs.rb +85 -0
  34. data/lib/expressir/commands/validate.rb +22 -0
  35. data/lib/expressir/commands.rb +5 -0
  36. data/lib/expressir/express/adoc_hyperlink_formatter.rb +30 -0
  37. data/lib/expressir/express/adoc_source_formatter.rb +12 -0
  38. data/lib/expressir/express/builder_registry.rb +11 -2
  39. data/lib/expressir/express/builders/entity_decl_builder.rb +17 -7
  40. data/lib/expressir/express/builders/subtype_constraint_builder.rb +3 -1
  41. data/lib/expressir/express/builders/type_builder.rb +8 -0
  42. data/lib/expressir/express/builders/unique_rule_builder.rb +8 -1
  43. data/lib/expressir/express/checker.rb +458 -0
  44. data/lib/expressir/express/concatenator.rb +79 -0
  45. data/lib/expressir/express/core.rb +66 -0
  46. data/lib/expressir/express/formatter.rb +25 -3
  47. data/lib/expressir/express/formatters/data_types_formatter.rb +2 -2
  48. data/lib/expressir/express/formatters/declarations_formatter.rb +1 -0
  49. data/lib/expressir/express/formatters/remark_formatter.rb +30 -6
  50. data/lib/expressir/express/formatters/statements_formatter.rb +7 -1
  51. data/lib/expressir/express/interface_dot.rb +105 -0
  52. data/lib/expressir/express/listing.rb +174 -0
  53. data/lib/expressir/express/model_traversal.rb +42 -0
  54. data/lib/expressir/express/node_position_index.rb +18 -4
  55. data/lib/expressir/express/parser.rb +242 -4
  56. data/lib/expressir/express/pretty_gate.rb +61 -0
  57. data/lib/expressir/express/refs_overlay.rb +47 -0
  58. data/lib/expressir/express/remark_attacher.rb +122 -10
  59. data/lib/expressir/express/remark_overlay.rb +86 -0
  60. data/lib/expressir/express/schema_plain_source_formatter.rb +11 -0
  61. data/lib/expressir/express/schema_source_formatter.rb +5 -5
  62. data/lib/expressir/express/self_schema_reference.rb +126 -0
  63. data/lib/expressir/express/shtolo.rb +522 -0
  64. data/lib/expressir/express.rb +15 -0
  65. data/lib/expressir/model/concerns.rb +15 -1
  66. data/lib/expressir/model/declarations/entity.rb +6 -1
  67. data/lib/expressir/model/declarations/interface.rb +13 -0
  68. data/lib/expressir/model/declarations/schema.rb +90 -23
  69. data/lib/expressir/model/indexes/item_graph.rb +135 -0
  70. data/lib/expressir/model/indexes.rb +1 -0
  71. data/lib/expressir/model/model_element.rb +30 -1
  72. data/lib/expressir/model/remark_info.rb +20 -1
  73. data/lib/expressir/model/remark_placement.rb +15 -2
  74. data/lib/expressir/model/repository.rb +8 -2
  75. data/lib/expressir/model.rb +2 -1
  76. data/lib/expressir/version.rb +1 -1
  77. data/lib/tasks/verify_remarks.rake +9 -0
  78. data/rakelib/verify_remarks.rake +16 -0
  79. metadata +44 -2
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.4.3
4
+ version: 2.4.5
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-09-19 00:00:00.000000000 Z
11
+ date: 2026-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -235,19 +235,23 @@ executables:
235
235
  extensions: []
236
236
  extra_rdoc_files: []
237
237
  files:
238
+ - ".cargo/config.toml"
238
239
  - ".github/workflows/codeql.yml"
239
240
  - ".github/workflows/docs.yml"
240
241
  - ".github/workflows/links.yml"
241
242
  - ".github/workflows/rake.yml"
242
243
  - ".github/workflows/release.yml"
244
+ - ".github/workflows/rust-ext.yml"
243
245
  - ".github/workflows/stress.yml"
244
246
  - ".github/workflows/validate_schemas.yml"
247
+ - ".github/workflows/verify_remarks.yml"
245
248
  - ".gitignore"
246
249
  - ".hound.yml"
247
250
  - ".rspec"
248
251
  - ".rubocop.yml"
249
252
  - ".rubocop_todo.yml"
250
253
  - CHANGELOG.md
254
+ - Cargo.toml
251
255
  - Gemfile
252
256
  - README.adoc
253
257
  - Rakefile
@@ -296,6 +300,19 @@ files:
296
300
  - TODO.max-perf/12-require-boot-profile.md
297
301
  - TODO.max-perf/13-key-conversion-specs.md
298
302
  - TODO.max-perf/14-builder-call-handler-audit.md
303
+ - TODO.parity-ee/00-overview.md
304
+ - TODO.parity-ee/01-annex-g-rule-extraction.md
305
+ - TODO.parity-ee/02-eeng-algorithm-inventory.md
306
+ - TODO.parity-ee/03-eeng-oracle-harness.md
307
+ - TODO.parity-ee/04-shtolo-concatenate.md
308
+ - TODO.parity-ee/05-shtolo-longform-flatten.md
309
+ - TODO.parity-ee/06-interface-scheduling-parity.md
310
+ - TODO.parity-ee/07-semantic-checks-port.md
311
+ - TODO.parity-ee/08-pretty-roundtrip-gate.md
312
+ - TODO.parity-ee/09-smrl-index-and-listing.md
313
+ - TODO.parity-ee/10-interface-dot-graph.md
314
+ - TODO.parity-ee/11-import-eeng-tests.md
315
+ - TODO.parity-ee/parity-matrix.md
299
316
  - benchmark/srl_benchmark.rb
300
317
  - benchmark/srl_native_benchmark.rb
301
318
  - benchmark/srl_ruby_benchmark.rb
@@ -374,6 +391,9 @@ files:
374
391
  - exe/expressir-format
375
392
  - exe/expressir-format-test
376
393
  - expressir.gemspec
394
+ - ext/expressir_core/Cargo.toml
395
+ - ext/expressir_core/extconf.rb
396
+ - ext/expressir_core/src/lib.rs
377
397
  - lib/expressir.rb
378
398
  - lib/expressir/benchmark.rb
379
399
  - lib/expressir/changes.rb
@@ -389,14 +409,19 @@ files:
389
409
  - lib/expressir/commands/changes.rb
390
410
  - lib/expressir/commands/changes_import_eengine.rb
391
411
  - lib/expressir/commands/changes_validate.rb
412
+ - lib/expressir/commands/check.rb
392
413
  - lib/expressir/commands/clean.rb
393
414
  - lib/expressir/commands/coverage.rb
415
+ - lib/expressir/commands/expand.rb
394
416
  - lib/expressir/commands/file_violations.rb
417
+ - lib/expressir/commands/fix.rb
418
+ - lib/expressir/commands/flatten.rb
395
419
  - lib/expressir/commands/format.rb
396
420
  - lib/expressir/commands/manifest.rb
397
421
  - lib/expressir/commands/non_ascii_character.rb
398
422
  - lib/expressir/commands/non_ascii_violation_collection.rb
399
423
  - lib/expressir/commands/package.rb
424
+ - lib/expressir/commands/parity_inputs.rb
400
425
  - lib/expressir/commands/validate.rb
401
426
  - lib/expressir/commands/validate_ascii.rb
402
427
  - lib/expressir/commands/validate_load.rb
@@ -411,6 +436,8 @@ files:
411
436
  - lib/expressir/eengine/modified_object.rb
412
437
  - lib/expressir/errors.rb
413
438
  - lib/expressir/express.rb
439
+ - lib/expressir/express/adoc_hyperlink_formatter.rb
440
+ - lib/expressir/express/adoc_source_formatter.rb
414
441
  - lib/expressir/express/ast_key_converter.rb
415
442
  - lib/expressir/express/builder.rb
416
443
  - lib/expressir/express/builder_context.rb
@@ -450,6 +477,9 @@ files:
450
477
  - lib/expressir/express/builders/unique_rule_builder.rb
451
478
  - lib/expressir/express/builders/where_clause_builder.rb
452
479
  - lib/expressir/express/cache.rb
480
+ - lib/expressir/express/checker.rb
481
+ - lib/expressir/express/concatenator.rb
482
+ - lib/expressir/express/core.rb
453
483
  - lib/expressir/express/error.rb
454
484
  - lib/expressir/express/formatter.rb
455
485
  - lib/expressir/express/formatters.rb
@@ -465,19 +495,28 @@ files:
465
495
  - lib/expressir/express/grammar.rb
466
496
  - lib/expressir/express/grammar/parser.rb
467
497
  - lib/expressir/express/hyperlink_formatter.rb
498
+ - lib/expressir/express/interface_dot.rb
468
499
  - lib/expressir/express/line_map.rb
500
+ - lib/expressir/express/listing.rb
501
+ - lib/expressir/express/model_traversal.rb
469
502
  - lib/expressir/express/model_visitor.rb
470
503
  - lib/expressir/express/node_position_index.rb
471
504
  - lib/expressir/express/parallel_files.rb
472
505
  - lib/expressir/express/parser.rb
473
506
  - lib/expressir/express/pretty_formatter.rb
507
+ - lib/expressir/express/pretty_gate.rb
508
+ - lib/expressir/express/refs_overlay.rb
474
509
  - lib/expressir/express/remark_attacher.rb
510
+ - lib/expressir/express/remark_overlay.rb
475
511
  - lib/expressir/express/remark_scanner.rb
476
512
  - lib/expressir/express/resolve_references_model_visitor.rb
477
513
  - lib/expressir/express/schema_block_scanner.rb
478
514
  - lib/expressir/express/schema_head_formatter.rb
515
+ - lib/expressir/express/schema_plain_source_formatter.rb
479
516
  - lib/expressir/express/schema_source_formatter.rb
480
517
  - lib/expressir/express/scope_resolver.rb
518
+ - lib/expressir/express/self_schema_reference.rb
519
+ - lib/expressir/express/shtolo.rb
481
520
  - lib/expressir/express/source_formatter.rb
482
521
  - lib/expressir/express/streaming_builder.rb
483
522
  - lib/expressir/liquid.rb
@@ -542,6 +581,7 @@ files:
542
581
  - lib/expressir/model/identifier.rb
543
582
  - lib/expressir/model/indexes.rb
544
583
  - lib/expressir/model/indexes/entity_index.rb
584
+ - lib/expressir/model/indexes/item_graph.rb
545
585
  - lib/expressir/model/indexes/reference_index.rb
546
586
  - lib/expressir/model/indexes/type_index.rb
547
587
  - lib/expressir/model/interface_validator.rb
@@ -586,6 +626,8 @@ files:
586
626
  - lib/expressir/schema_manifest.rb
587
627
  - lib/expressir/schema_manifest_entry.rb
588
628
  - lib/expressir/version.rb
629
+ - lib/tasks/verify_remarks.rake
630
+ - rakelib/verify_remarks.rake
589
631
  homepage: https://github.com/lutaml/expressir
590
632
  licenses:
591
633
  - BSD-2-Clause