comments and keywords
lex
will do FSM optimization later