Is a compiler team project for a simple C/C++ like Object-Oriented Programming language. Our programming language supports basic I/O operations, single inheritance objects, as well as all basic arithmetic, relational and logical operations.
MyStarlight's documentation can be found [insert link here]
-
Week 0:
- Regex for token matching
- Designed language syntax diagrams
- Created DNF rules based in syntax diagrams
- Started project development and github repository
-
Week 1:
- Received the approval of syntax diagrams and DNF rules
- Implemented Lexer with complete token matching
- Implemented Parser rules
-
Week 3:
- Implemented the neural points
- Created the semantic cube
- Created VARS table and functions directory
-
Week 4:
- Modified Symbol Table structure for FuncDir and Var tables
- Implemented NP's for classes and class derivation
- Began implementing expression quadruples class
- Implemented generic quadruple processing logic
-
Week 5:
- Created a Virtual Memory class and Avail
- Constants are saved in global VARS Table with their virtual address
- Variables are assigned a memory address
- Avail and local addresses reset after exiting local scope
- Expressions and assignment quadruples completed
- IF-ELSE statement quadruples completed
- WHILE statement quadruples completed
- Removed parentRef and added address to symbol table records
- Fixed bugs in semantic cube
- Fixed bug which saved constants by their numeric value which meant floats and ints shared the same address
-
Week 6:
- Began implementing functions
-
Week 7:
- Implemented Error-Handling
- Created quadruples for function definitions
- Created quadruples for function calls
- Fixed bugs in VARS Table
- Modified records
Name | Student ID |
---|---|
Tanya Yaretzi González | A00823408 |
José Alejandro Myrick | A00819666 |