Created a lexical analyzer – the first step of a compiler. Lexer cuts source code into tokens using regex. Each token is a key value pair with the key being the type of data that the regex statements identified. After successfully creating the tokens, they are then sent to a “parser” that uses recursive statements to build a tree structure. The parser tree is then converted to an abstract syntax tree for the compiler to handle the logic of each statement.