parsanol 1.3.118-arm-linux → 1.3.120-arm-linux
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/lib/parsanol/3.2/parsanol_native.so +2 -2
- data/lib/parsanol/3.3/parsanol_native.so +2 -2
- data/lib/parsanol/3.4/parsanol_native.so +2 -2
- data/lib/parsanol/4.0/parsanol_native.so +2 -2
- data/lib/parsanol/native/libparsanol.so +2 -2
- data/lib/parsanol/parg/bindings.rb +8 -0
- data/lib/parsanol/parg/document.rb +2 -2
- data/lib/parsanol/parg/parser.rb +8 -4
- data/lib/parsanol/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 77711562d9591e8a438d229e2fb8dac148a7b8b522d7f1c2c4c0b94eea1fde0e
|
|
4
|
+
data.tar.gz: bcdc10500b54b5ae24dde57248d547cfd931a0d6fc52d71d1667575441c5974c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c727d8109a8622bcb3c8e863632b2e7b728aa64e4f6b42bf9e8c342bd3a5e4f1b09f62b009e46816aec4fcd8f22acc165a7c18eb6522d3040f389a1fd80fb19a
|
|
7
|
+
data.tar.gz: ab7d8a0ec2269fe160898483356f6d41a022e22f497b27ce0bce80c5c142bbbc3ef700c582cb5cc0c704f556e9c111712e5e6ee5228855efd8f839fa22382ef1
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/parsanol/3.2/parsanol_native.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 39543680 bytes
|
|
4
|
+
sha256: cb23ae5b9e3c6d9e196ba94c32b99ff12ceac4d65f9803f11768b78d4755fcc4
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/parsanol/3.3/parsanol_native.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 39728972 bytes
|
|
4
|
+
sha256: 591bb9417818c14220442123b595a34b95e695b6333ae1659bb52af80c8569b6
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/parsanol/3.4/parsanol_native.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 39723064 bytes
|
|
4
|
+
sha256: ac2443455cc3d52d53c1060ea134d91a7b39e4b97d8eee4fdf5c2d71e010cdc4
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/parsanol/4.0/parsanol_native.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 39732740 bytes
|
|
4
|
+
sha256: d183ddfcb7c9a08e75711fcd852bef72e7a7f65b27a14bb8fdc5c365b73df9c1
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: data/lib/parsanol/native/libparsanol.so
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 35864872 bytes
|
|
4
|
+
sha256: e0bbe3d01539221af1af284ab8c0c04eeb2437f7f45e2dd44286b65c2f2a0038
|
|
@@ -74,6 +74,14 @@ module Parsanol
|
|
|
74
74
|
# any instance keep the legacy occurrence pairing.
|
|
75
75
|
instances = shape && group_instances(shape, prefix)
|
|
76
76
|
if instances
|
|
77
|
+
# The occurrence path's `return if count.zero?`: a repetition
|
|
78
|
+
# that fired zero iterations (the tree carries `parts: []`)
|
|
79
|
+
# binds no key — the recorded native expectations and the
|
|
80
|
+
# pubid builders rely on the absent reading (the empty-array
|
|
81
|
+
# binding regression, caught by the pubid corpus gate; see
|
|
82
|
+
# parsanol-rs#370).
|
|
83
|
+
return if instances.empty?
|
|
84
|
+
|
|
77
85
|
list = (out[prefix.to_sym] ||= [])
|
|
78
86
|
instances.each do |instance|
|
|
79
87
|
found = collect_captures(instance)
|
|
@@ -37,8 +37,8 @@ module Parsanol
|
|
|
37
37
|
@grammar_name = nil
|
|
38
38
|
# The default capture dialect is v1 (the owner's reversal,
|
|
39
39
|
# 2026-10-28): runtime compiles of unpinned sources keep the
|
|
40
|
-
# legacy shapes — the pubid fleet froze against them.
|
|
41
|
-
#
|
|
40
|
+
# legacy shapes — the pubid fleet froze against them. edition
|
|
41
|
+
# "v2" is the named-trees opt-in via the grammar header.
|
|
42
42
|
@edition = "v1"
|
|
43
43
|
@version = "0.0.0"
|
|
44
44
|
@source = nil
|
data/lib/parsanol/parg/parser.rb
CHANGED
|
@@ -261,12 +261,16 @@ module Parsanol
|
|
|
261
261
|
# the author declares, per grammar, which tree semantics the
|
|
262
262
|
# grammar means. THE DEFAULT IS 1 (the legacy shapes — the
|
|
263
263
|
# owner's 2026-10-28 reversal). 2 = fully named trees +
|
|
264
|
-
# explicit spans.
|
|
265
|
-
#
|
|
266
|
-
#
|
|
267
|
-
|
|
264
|
+
# explicit spans. The edition is canonicalized here —
|
|
265
|
+
# everything downstream only ever sees "v1"/"v2". The
|
|
266
|
+
# pre-1.3.113 `mode` alias was removed (the owner's
|
|
267
|
+
# 2026-10-31 ruling): the header fails with the fix named.
|
|
268
|
+
if peek&.type == :ident && peek.value == "edition"
|
|
268
269
|
advance
|
|
269
270
|
document.edition = edition_value
|
|
271
|
+
elsif peek&.type == :ident && peek.value == "mode"
|
|
272
|
+
raise ParseError,
|
|
273
|
+
'the grammar header keyword is edition; mode (the pre-1.3.113 alias) was removed — write edition "v1" or edition "v2"'
|
|
270
274
|
end
|
|
271
275
|
punct("{")
|
|
272
276
|
skip_newlines
|
data/lib/parsanol/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: parsanol
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.120
|
|
5
5
|
platform: arm-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-11-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A small Ruby library for constructing parsers in the PEG (Parsing Expression
|
|
14
14
|
Grammar) fashion. Parsanol provides Parslet-compatible API with additional features
|