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
Defines some constants to be used during syntax analysis