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 @@
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).