Generates an Abstract Syntax Tree (AST) from a list of tokens. The tokens can be generated from a string input by an instance of Lexer
A list of token objects to be parsed into an AST
Parse the tokens into an AST