A "lexerless" (unified lexer) LALR(1) parser generator supporting dynamic grammar modification