parsanol 1.3.30 → 1.3.31

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21f56a5196775ab90fe91a82e7b71240bc1f48b64ed90886b947285bf760c0b7
4
- data.tar.gz: 1463e0eb3af171d61f8e09f30deec7d15bc679341d129197cdb5845efd3357b3
3
+ metadata.gz: a0f92de331fd22d7ee25390a26c2afc2c7a2a5e691e026b26c64d581883ac15c
4
+ data.tar.gz: ba5ed64012b20eae02d04a1479510b64e37a0207514516d108ca7b07864e505f
5
5
  SHA512:
6
- metadata.gz: e552a716aa3cf2facea589d2310db16e14664ceefd6d1412d97fb945314dadb0ef31dbe2d835414d6d05c8dd1420386a244ce7ff7c1fba42e97ac26180d2db14
7
- data.tar.gz: 16cf21e24b996b1f1a314e36c29b81c7ba3f16a303d9538886b823c94db1759b662e732fdb68a019e5adfb264e2c381de4aa7be3cc7907538173ef260c173a69
6
+ metadata.gz: dda812680de7dcaab74a4a83042d337f4be96a921c5981e73430092d6d5dc658c9caa899baf8caee3214e0ce072f98daca8873a9f0b77b8db2cffc3c6888149c
7
+ data.tar.gz: 867a6b04c745d2d573986e6081deb7f4ae12ad3b922203ad7d8cb7cab06962380b332fc1af68ec7582053e372b114577bb674d9da3f3b11df212091c472ddf02
data/Cargo.lock CHANGED
@@ -252,8 +252,8 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
252
252
 
253
253
  [[package]]
254
254
  name = "parsanol"
255
- version = "0.5.1"
256
- source = "git+https://github.com/parsanol/parsanol-rs?branch=main#32cdbb1d3c04c9280f6fb4d2cf13f1c5befbd00f"
255
+ version = "0.5.3"
256
+ source = "git+https://github.com/parsanol/parsanol-rs?branch=main#3a441c45ce089cae40ed69260bf00c4ed6de635a"
257
257
  dependencies = [
258
258
  "ahash",
259
259
  "getrandom 0.3.4",
@@ -269,8 +269,8 @@ dependencies = [
269
269
 
270
270
  [[package]]
271
271
  name = "parsanol-derive"
272
- version = "0.5.1"
273
- source = "git+https://github.com/parsanol/parsanol-rs?branch=main#32cdbb1d3c04c9280f6fb4d2cf13f1c5befbd00f"
272
+ version = "0.5.3"
273
+ source = "git+https://github.com/parsanol/parsanol-rs?branch=main#3a441c45ce089cae40ed69260bf00c4ed6de635a"
274
274
  dependencies = [
275
275
  "proc-macro2",
276
276
  "quote",
data/README.adoc CHANGED
@@ -156,6 +156,24 @@ Run your own benchmarks with:
156
156
  bundle exec ruby examples/benchmark_examples.rb
157
157
  ----
158
158
 
159
+ [[engine-posture]]
160
+ ==== Engine roles
161
+
162
+ Parsanol ships two engines with one semantic contract (identical parse
163
+ trees and error messages):
164
+
165
+ * **Native (default)** — the Rust extension. It handles every parsing
166
+ mode, including error cause trees, `prefix:` and `reporter:`, with no
167
+ Ruby fallback during parsing. Prebuilt platform gems cover the common
168
+ triples; `bundle exec rake compile` builds it locally otherwise.
169
+ * **Ruby (`mode: :ruby`)** — the pure-Ruby engine. Its role is
170
+ portability (no prebuilt gem, no Rust toolchain, non-MRI rubies) and
171
+ serving as the semantic reference implementation for differential
172
+ testing against Parslet.
173
+
174
+ When both are available, the native engine is always used unless
175
+ `mode: :ruby` is requested explicitly.
176
+
159
177
  [[slice-support]]
160
178
  === Slice Support
161
179
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parsanol
4
- VERSION = "1.3.30"
4
+ VERSION = "1.3.31"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parsanol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.30
4
+ version: 1.3.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.