~/talk

How does Lrama make the Ruby parser grammar G.O.A.T.?

Talkat EuRuKo 2024 · 2024-09-11..09-13· [ruby, compilers-and-language-design]
slides:none on file

Lrama replaces GNU Bison as Ruby’s parser generator (now used in Ruby 3.3) and is built and maintained by a three-person team; it outputs LR parsers and eliminates brittle bison hacks by adding named references for clear semantic access, parameterizing rules to factor repeated grammar patterns, and a standard rule library (option, list, node-list) so common patterns are embedded. The result is a produced parser that compiles across different bison environments, simplifies the old “Demon Castle” pass.rb, and is already running in the language.

AI-written summary · about

  1. 0:00Introduction
  2. 4:08What is Lrama
  3. 7:50Ruby parsing components
  4. 12:19Context-free grammar basics
  5. 16:43Ruby's BNF in parse.y
  6. 17:04Bison grammar problems
  7. 20:22Named references in rules
  8. 21:50Parameterizing rules
  9. 25:14Standard library of rules
  10. 26:41Lrama improves Ruby grammar
  11. 27:48Future of Ruby grammar
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.