Why Parse and What is a Parser
Ways to Parse and What we will Parse
Attempt #1 Regroup and Try Again #2
Try #3 has got to work
Never Give Up the Ghost #4
What Works and What to Watch Out for
Test
Driven
https://github.com/nmorse/set-parsers-to-stun
parser generator for languages [python java javascript ruby]
generates javascript
also generates RR diagrams
with the help of xState (a finite state machine lib)
A set of parser "combinators"
(functions that take other functions as arguments and return (yes) new functions)
Compose them (combine them) into a parser
canopy | nearley | hand code | arcsecond | |
---|---|---|---|---|
learning curve | +1 | +3 | -2 | -1 |
features | +1 | +3 | 0 | +3 |
friendly errors | 0 | 0 | +1 | +1 |
following | -1 | +3 | 0 | +2 |
bottom line | +1 | +9 | -1 | +5 |
https://github.com/nmorse/set-parsers-to-stun
https://nearley.js.org/
https://xstate.js.org/viz/
https://github.com/francisrstokes/arcsecond