Basically done. Still one major bug, detailed in extended description.

Basically, the way I originally thought doing the [^A-Z] in $CHAR (for
example) regexes doesn't actually work as intended. Thus, $LOWER
actually allows uppercase letters and cause PRINT to be identified as an
$IDENTIFIER if that NFA is checked before $PRINT. I'll fix it within the
next few hours.