~/talk

Reimplement RegExp in JavaScript

Talkat JSConf EU 2013 · 2013-09-14..09-15· [javascript]
speakerdeck:jviereck
slides:none on file

Implements a full RegExp engine in JavaScript with a parse tree, node list and recursive backtracking matcher, plus a visual debugger that shows step‑by‑step backtracking and capture groups. Converts regexes to an NFA then to a DFA and emits JavaScript — a NFA→DFA→JS JIT — but the JIT omits backreferences and group captures for DFA code (no backreferences in DFA). Matcher passes about 780 ECMA tests; the JIT is prototype quality and still branchy.

AI-written summary · about

  1. 0:00Project motivation
  2. 1:40Regex debugger demo
  3. 3:55Building the parse tree
  4. 6:44Grammar and implementation
  5. 9:31Node list and matcher logic
  6. 12:25Matcher and backtracking
  7. 16:28Building the JS object
  8. 18:49Flags and edge cases
  9. 21:46JIT compiler design
  10. 25:40Optimizations and 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.