diff --git a/hugo.toml b/hugo.toml index 12098fa..87ea77c 100644 --- a/hugo.toml +++ b/hugo.toml @@ -9,4 +9,4 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "404"] name = "parser" url = "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/go-ruby-parser/parser" status = "ready" - blurb = "The front-end: `parser.Parse(src) (*ast.Program, error)`, with sub-packages `token`, `ast` and `lexer`. A stateful lexer (MRI `spaceSeen` semantics), a recursive-descent + Pratt expression parser with a scope stack, and a typed AST for a broad, practical subset of **Ruby 4.0** — literals, operators, control flow, `case`/`in` **pattern matching**, methods/blocks, classes/modules/metaprogramming. 100% covered (the gate runs on all three OS lanes; the suite also runs on all six 64-bit targets and on js/wasm and wasip1/wasm), differential-tested against MRI Ruby 4.0.5. Current release **v0.2.0** (2026-09-21): fourteen grammar gaps closed, and every one of the 68 files in the pinned ruby/spec `language/` corpus now parses." + blurb = "The front-end: `parser.Parse(src) (*ast.Program, error)`, with sub-packages `token`, `ast` and `lexer`. A stateful lexer (MRI `spaceSeen` semantics), a recursive-descent + Pratt expression parser with a scope stack, and a typed AST for a broad, practical subset of **Ruby 4.0** — literals, operators, control flow, `case`/`in` **pattern matching**, methods/blocks, classes/modules/metaprogramming. 100% covered (the gate runs on all three OS lanes; the suite also runs on all six 64-bit targets and on js/wasm and wasip1/wasm), differential-tested against MRI Ruby 4.0.5. Current release **v0.4.0** (2026-09-26): all 80 `_spec.rb` files in the pinned ruby/spec `language/` corpus parse, and the three limitations the docs used to list — paren-less command calls with keyword/splat/block args, default block parameters, and the positional `Class(a)` find-pattern — all parse now. `BEGIN { }` / `END { }` remain the one refusal." diff --git a/layouts/index.html b/layouts/index.html index 8ccc59e..f867939 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -88,7 +88,7 @@

go-ruby-parser

stateful lexer recursive-descent + Pratt typed AST - v0.2.0 · 2026-09-21 + v0.4.0 · 2026-09-26 Ruby 4.0 subset pattern matching heredocs @@ -119,10 +119,13 @@

go-ruby-parser

100% coverage is enforced in CI on all three OS lanes, and the suite also runs on all six 64-bit targets — amd64 and arm64 natively, riscv64 / loong64 / ppc64le / s390x under QEMU — plus js/wasm and wasip1/wasm. - The current release is v0.2.0 - (2026-09-21), which closed fourteen grammar gaps: every one of the 68 files in the pinned - ruby/spec language/ corpus now parses, thirteen of which had not parsed at all - before.

+ The current release is v0.4.0 + (2026-09-26). Measured on 2026-09-26: all 80 _spec.rb files in the + pinned ruby/spec language/ corpus parse, and of 47 top-level CRuby 4.0.5 stdlib + files MRI accepts, this parser accepts 46. On parse speed it is roughly + 1.9× quicker than Ripper.sexp and about + 1.6× slower than the C parser built into CRuby + (RubyVM::AbstractSyntaxTree.parse).

{{ range .Site.Params.repos }}