Better lexer (also parses correctly L.2.1).
Fixed parsing of switches.
Don't crash when we get a \line directive, ignore instead.