- The Lexer, also called Tokenizer, reads in the Text and converts it into Tokens with defined TokenTypes.
- The Parser receives the Tokens from the Lexer and creates an Abstract Syntax Tree (AST)
- The Interpreter gets the Abstract Syntax Tree from the Parser and recursively "visits" every Node and executes the actions specified.