roughly complete yaccing
lexing