Lexer Parser parse let statements (assignments) parse return statements parse expressions parse (only) identifiers (i.e. variable;) parse integer literals parse prefix operators (i.e. !foo, -5) parse infix operators