Creating preprocessing functions
Detecting directives operands
Preprocessing is implemented. It needs a refactoring and code style fitting though.
Implementing one-pass assembler
Implementing simulator for the pseudo assembly language
Maximum label and operand size is 100 characters
Numbers in the assembly source file can be represented in any valid C-style representation, such as "1", "-1", "010" (oct) and "0x10" (hex).
Using strtol function for conversion (which does not support float numbers, only integers).
Check whether labels are composed only by alphanumeric chars and underscores. Also, they must not start with a number.
Gives an error during the scanning if any of these criteria are not respected.
Indentifing which section is being compiled. However, it still does not check for consistency (only variable definitions in the data section and operations in the text section).
Assembler is now case insensitive by forcing everything to uppercase
Creating error checking:
- Invalid characters in labels
- Invalid instruction or directive
- Misuse of instruction and directives
- Ommitted declarations
- Repeated declarations
- Data in the text section
- Instructions in the data section
- Division by zero (already in the simulator)

What is left:
- Writing in CONST memory addresses
- Jump to data section
Refactoring assembler class
Including some new test programs
Checking for writing at constant memory addresses
Space accepts a number as a parameter, defining an array.
Accessing array through the notation ARRAY[x].
Checking division by zero
Checking jump to data section. However, the checking probably does not work if the data section if defined before the text section
Inserted text section initial address to the binary object file. Now, the program works even when the data section comes before the text section.
Jumping to data section returns an error when data section comes before the text section as well.
Fixing bugs for jumping to data space
Just restructuring the project file tree and creating one only Makefile. No code was changed.