Md. Zahurul Islam Center for Research on Bangla Language Processing (CRBLP) BRAC University
Project Details What to do? New classes Changes on previous program Lvalue and Rvalue MIPS
Code Generator ◦ Intel Architecture (X86) ◦ MIPS Architecture ◦ Java Virtual Machine (JVM) ◦ Common Language runtime (CLR) Our Target: MIPS Architecture SPIM Simulator
Download starter-kit Find out what you have to do Try to understand our starter-kit Take a look on our given solution Read MIPS references ◦ Online references on course website ◦ Computer architecture book Lets start!
Codegen.java ◦ Utility class for code generation MIPSVisitor.java ◦ New visitor class to generate MIPS assembly code
Symbol class changes ◦ getOffset() ◦ setOffset() ◦ symOffset FunDeclAst changes ◦ FuncFrameSize ◦ setFrameSize() ◦ getFrameSize() NameVisitor changes ◦ cuFrameOffset ◦ …
Load (default) Store Manage it carefully
Prolog Epilog Variables Parameter Arguments Return value
Stack ◦ Push ◦ pop Registers ◦ Arguments ◦ Frame pointer ◦ Stack pointer ◦ Return address ◦ Return value
Project Details What to Do? New classes Changes on previous program Lvalue and Rvalue MIPS