expressir 2.4.3 → 2.4.4

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 (77) 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 +65 -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/builder_registry.rb +11 -2
  37. data/lib/expressir/express/builders/entity_decl_builder.rb +17 -7
  38. data/lib/expressir/express/builders/subtype_constraint_builder.rb +3 -1
  39. data/lib/expressir/express/builders/type_builder.rb +8 -0
  40. data/lib/expressir/express/builders/unique_rule_builder.rb +8 -1
  41. data/lib/expressir/express/checker.rb +458 -0
  42. data/lib/expressir/express/concatenator.rb +79 -0
  43. data/lib/expressir/express/core.rb +66 -0
  44. data/lib/expressir/express/formatter.rb +25 -3
  45. data/lib/expressir/express/formatters/data_types_formatter.rb +2 -2
  46. data/lib/expressir/express/formatters/declarations_formatter.rb +1 -0
  47. data/lib/expressir/express/formatters/remark_formatter.rb +30 -6
  48. data/lib/expressir/express/formatters/statements_formatter.rb +7 -1
  49. data/lib/expressir/express/interface_dot.rb +105 -0
  50. data/lib/expressir/express/listing.rb +174 -0
  51. data/lib/expressir/express/model_traversal.rb +42 -0
  52. data/lib/expressir/express/node_position_index.rb +18 -4
  53. data/lib/expressir/express/parser.rb +242 -4
  54. data/lib/expressir/express/pretty_gate.rb +61 -0
  55. data/lib/expressir/express/refs_overlay.rb +47 -0
  56. data/lib/expressir/express/remark_attacher.rb +122 -10
  57. data/lib/expressir/express/remark_overlay.rb +86 -0
  58. data/lib/expressir/express/schema_plain_source_formatter.rb +11 -0
  59. data/lib/expressir/express/schema_source_formatter.rb +5 -5
  60. data/lib/expressir/express/self_schema_reference.rb +126 -0
  61. data/lib/expressir/express/shtolo.rb +522 -0
  62. data/lib/expressir/express.rb +13 -0
  63. data/lib/expressir/model/concerns.rb +15 -1
  64. data/lib/expressir/model/declarations/entity.rb +6 -1
  65. data/lib/expressir/model/declarations/interface.rb +13 -0
  66. data/lib/expressir/model/declarations/schema.rb +74 -23
  67. data/lib/expressir/model/indexes/item_graph.rb +135 -0
  68. data/lib/expressir/model/indexes.rb +1 -0
  69. data/lib/expressir/model/model_element.rb +30 -1
  70. data/lib/expressir/model/remark_info.rb +20 -1
  71. data/lib/expressir/model/remark_placement.rb +15 -2
  72. data/lib/expressir/model/repository.rb +8 -2
  73. data/lib/expressir/model.rb +2 -1
  74. data/lib/expressir/version.rb +1 -1
  75. data/lib/tasks/verify_remarks.rake +9 -0
  76. data/rakelib/verify_remarks.rake +16 -0
  77. metadata +42 -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.4
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
@@ -450,6 +475,9 @@ files:
450
475
  - lib/expressir/express/builders/unique_rule_builder.rb
451
476
  - lib/expressir/express/builders/where_clause_builder.rb
452
477
  - lib/expressir/express/cache.rb
478
+ - lib/expressir/express/checker.rb
479
+ - lib/expressir/express/concatenator.rb
480
+ - lib/expressir/express/core.rb
453
481
  - lib/expressir/express/error.rb
454
482
  - lib/expressir/express/formatter.rb
455
483
  - lib/expressir/express/formatters.rb
@@ -465,19 +493,28 @@ files:
465
493
  - lib/expressir/express/grammar.rb
466
494
  - lib/expressir/express/grammar/parser.rb
467
495
  - lib/expressir/express/hyperlink_formatter.rb
496
+ - lib/expressir/express/interface_dot.rb
468
497
  - lib/expressir/express/line_map.rb
498
+ - lib/expressir/express/listing.rb
499
+ - lib/expressir/express/model_traversal.rb
469
500
  - lib/expressir/express/model_visitor.rb
470
501
  - lib/expressir/express/node_position_index.rb
471
502
  - lib/expressir/express/parallel_files.rb
472
503
  - lib/expressir/express/parser.rb
473
504
  - lib/expressir/express/pretty_formatter.rb
505
+ - lib/expressir/express/pretty_gate.rb
506
+ - lib/expressir/express/refs_overlay.rb
474
507
  - lib/expressir/express/remark_attacher.rb
508
+ - lib/expressir/express/remark_overlay.rb
475
509
  - lib/expressir/express/remark_scanner.rb
476
510
  - lib/expressir/express/resolve_references_model_visitor.rb
477
511
  - lib/expressir/express/schema_block_scanner.rb
478
512
  - lib/expressir/express/schema_head_formatter.rb
513
+ - lib/expressir/express/schema_plain_source_formatter.rb
479
514
  - lib/expressir/express/schema_source_formatter.rb
480
515
  - lib/expressir/express/scope_resolver.rb
516
+ - lib/expressir/express/self_schema_reference.rb
517
+ - lib/expressir/express/shtolo.rb
481
518
  - lib/expressir/express/source_formatter.rb
482
519
  - lib/expressir/express/streaming_builder.rb
483
520
  - lib/expressir/liquid.rb
@@ -542,6 +579,7 @@ files:
542
579
  - lib/expressir/model/identifier.rb
543
580
  - lib/expressir/model/indexes.rb
544
581
  - lib/expressir/model/indexes/entity_index.rb
582
+ - lib/expressir/model/indexes/item_graph.rb
545
583
  - lib/expressir/model/indexes/reference_index.rb
546
584
  - lib/expressir/model/indexes/type_index.rb
547
585
  - lib/expressir/model/interface_validator.rb
@@ -586,6 +624,8 @@ files:
586
624
  - lib/expressir/schema_manifest.rb
587
625
  - lib/expressir/schema_manifest_entry.rb
588
626
  - lib/expressir/version.rb
627
+ - lib/tasks/verify_remarks.rake
628
+ - rakelib/verify_remarks.rake
589
629
  homepage: https://github.com/lutaml/expressir
590
630
  licenses:
591
631
  - BSD-2-Clause