parsanol 1.3.78 → 1.3.79
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 +4 -4
- data/Cargo.lock +4 -4
- data/ext/parsanol_cdylib/Cargo.toml +1 -1
- data/ext/parsanol_native/Cargo.toml +1 -1
- data/lib/parsanol/parg/artifact.rb +9 -1
- data/lib/parsanol/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f90cccf03f794735b2131a222d62f165fea5246e46f25faf3ad15e2a2fb11618
|
|
4
|
+
data.tar.gz: 665aab354700ae95ee32bacde22849837fdb5af2cdb07097653fda52fd0aa884
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2950e9ac8aab3f4e744ec19d86f48f66d282a5af7a850fca6110092bfdbaa1dedc0e15e620d78f9b04aa32b3682f9ab12c63d75779e51f572697a3e344a921f9
|
|
7
|
+
data.tar.gz: 410074a54bc45c14edd24bd1806b0361c6ed3189ea8e7671e8c49aeef418212c823fe74ceee7c8f2103f1529a582e93f67d641562f6aa7909e6c0edf7569a295
|
data/Cargo.lock
CHANGED
|
@@ -307,9 +307,9 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
|
307
307
|
|
|
308
308
|
[[package]]
|
|
309
309
|
name = "parsanol"
|
|
310
|
-
version = "0.17.
|
|
310
|
+
version = "0.17.2"
|
|
311
311
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
312
|
-
checksum = "
|
|
312
|
+
checksum = "2b6296dcfe8a2055273a1cb76ffb383c586dfbb6e647ff11b9f396f1b8f6fc36"
|
|
313
313
|
dependencies = [
|
|
314
314
|
"ahash",
|
|
315
315
|
"getrandom 0.3.4",
|
|
@@ -326,9 +326,9 @@ dependencies = [
|
|
|
326
326
|
|
|
327
327
|
[[package]]
|
|
328
328
|
name = "parsanol-derive"
|
|
329
|
-
version = "0.17.
|
|
329
|
+
version = "0.17.2"
|
|
330
330
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
331
|
-
checksum = "
|
|
331
|
+
checksum = "60e96bd9d40164ef69ba879c97ba0d3efcf5e4183062ef6bf1eb66c4cdf91ae5"
|
|
332
332
|
dependencies = [
|
|
333
333
|
"proc-macro2",
|
|
334
334
|
"quote",
|
|
@@ -32,7 +32,7 @@ magnus = { version = "0.9" }
|
|
|
32
32
|
# parsanol parser library (crates.io; 0.17.0 carries the LookSpec regex
|
|
33
33
|
# lookbehind (rs#163 gap 1) and the widened opaque writeback: the
|
|
34
34
|
# lazy-continuation fix, parsanol-ruby#160)
|
|
35
|
-
parsanol = { version = "0.17.
|
|
35
|
+
parsanol = { version = "0.17.2", features = ["ruby"] }
|
|
36
36
|
|
|
37
37
|
# Logging
|
|
38
38
|
log = "0.4"
|
|
@@ -74,7 +74,15 @@ module Parsanol
|
|
|
74
74
|
# grammar JSON and re-registered it per parse (~8x).
|
|
75
75
|
# Dynamic artifacts carry ruby-tier atoms their wire
|
|
76
76
|
# cannot express — they keep the interpreter.
|
|
77
|
-
|
|
77
|
+
begin
|
|
78
|
+
return root_atom(entry_name).parse(input, mode: :native)
|
|
79
|
+
rescue Parsanol::ParseFailed
|
|
80
|
+
# The atom-tree native path reports the root position; the
|
|
81
|
+
# wire-registration path carries the deepest-failure
|
|
82
|
+
# diagnostics (parsanol-ruby#171). Failures pay the
|
|
83
|
+
# serialization once; successes keep the fast lane.
|
|
84
|
+
return Native.parse(JSON.generate(entry(entry_name).fetch("grammar")), input)
|
|
85
|
+
end
|
|
78
86
|
end
|
|
79
87
|
|
|
80
88
|
root_atom(entry_name).parse(input)
|
data/lib/parsanol/version.rb
CHANGED