LMX 2.0 parser design
The design of the parser in LMX 2.0.
Each top-level element is a parser state; each state compares the current character to each of its cases, according to which it changes the state to another state, performs some instructions, or does nothing. (In some cases, e.g. all three state-changes to entity_ref, some instructions are performed in addition to the state-change.)
[UPDATE: Be sure to check out the next two photos, which are an updated version of this page as well as a newer second page.]
I drew this with my 0.5mm pencil on my dad's quadrille pad, and scanned it in at 300dpi with my brand new scanner. This version is scaled down to a more manageable size and the angle of the paper is corrected (it was tilted by .4° on the scanner glass—either that, or the lines are crooked, which is entirely possible given that this is one of the cheaper quadrille pads he brought home).
Comments and faves