Fix: lexer works with DFAs instead of regular expressions.