Skip to content

kcirym10/MyStarlight-Compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation



A Compiler for an Object-Oriented Language


🔍 Project Description

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.


👀 Documentation

MyStarlight's documentation can be found [insert link here]


📖 Weekly Updates

  • 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

🤖 Authors

Name Student ID
Tanya Yaretzi González A00823408
José Alejandro Myrick A00819666

About

A Compiler for an Object-Oriented Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages