roughly runnable lexing