saving line number information
use emitIfMatch to emit token type directly inside the function.
Lexer: add "for", "foreach" token
use table