~/talk

A reference GLL implementation

Talkat SLE 2023 · 2023-10-23..10-24· [compilers-and-language-design]
links:none on file
slides:none on file

A reference GLL implementation provides a deliberately unoptimized, easy-to-read interpreted parser plus a low-level alternative that hand-manages memory. It implements the six GLL sets, explicit grammar nodes, and contingent-pop handling, and the GitHub code reproduces the experiments. The handcrafted hash pool version reduces heap use by about 4–5× and runs ~3–4× faster than a naïve Java API version; on a ~120KB input the unoptimized interpreter runs in ~1.35s versus 7–18s for other grammars/implementations.

AI-written summary · about

  1. 0:00GLL parsing introduction
  2. 1:43Generalized parsing history
  3. 4:31Limitations of deterministic parsing
  4. 6:39Parsing tools performance
  5. 9:11Motivation for GLL reference
  6. 10:59Reference implementation goals
  7. 13:25Simplest GLL algorithm
  8. 15:32Grammar data structures
  9. 18:24Core GLL algorithm six sets
  10. 20:51Handling parentheses sub-rules
  11. 21:33Contingent pops in GLL
  12. 21:54Memory management for GLL
  13. 22:58GLL variants and extensions
  14. 23:42GLL performance benchmarks
  15. 25:10Resources and GitHub
  16. 26:35Q&A: Hash pooling indentation
  17. 27:41Q&A: GLL implementation mistakes
  18. 29:07Q&A: EBNF correctness future
~/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.