bison / YACC / LEX in JavaScript (LALR(1), SLR(1), etc. lexer/parser generator)