~/talk

Grammar a BNF like Ruby DSL Parsing

links:none on file
slides:none on file

A Ruby DSL represents grammars as plain objects and an engine generates parsers (an interpreter called ruby0, a Ruby code generator and a C-compiled generator), claiming near-C speed when compiled and a roughly 5x speedup since v0.5; the pure-Ruby generator already outperforms a Racc C extension. It supports left recursion (converted to loops), a backtrack mode for unlimited lookahead, producer/consumer pipes for threaded lexer→parser chains, variables for context‑sensitive parsing, streaming of gigabyte inputs when no AST is retained, and action blocks that generate code via method_missing and bracket wrappers.

AI-written summary · about

  1. 0:00Start
  2. 3:38Grammar Engine
  3. 4:17Regular Expressions
  4. 5:45Input Sequence
  5. 13:00Ll Parser
  6. 14:08Recursion
  7. 14:20Recursive Grammar
  8. 15:43Left Recursion
  9. 28:26A Performance Analysis of Several Parsers
~/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.