Lexes everything first, then keeps a pointer to the current token
Counter and local names compiled to template strings