Our main objective is to compile a file.lang that contain a simple operation with + - * and /
example: src/file.lang
x = 1;
y = 5;
print(x + y);
After compiling we expect the result 6
According to wikipedia: Lexical analysis is conversion of a text into (semantically or syntactically) meaningful lexical tokens belonging to categorise defined by a "lexer" program
In this project we will create a list of tokens that will be later converted to assembly
Parsing is the next phase after tokenization. It involves taking the stream of tokens from the lexer and analyzing how they fit together according to the grammar rules of the language.
The output of this phase is usually an Abstract Syntax Tree (AST), a hierarchical representation of the structure of the program.
We will add an error handler to show print error type and a message explaining the error
Todo: add diagram of error handing
