Md. Zahurul Islam Center for Research on Bangla Language Processing (CRBLP) BRAC University.

Post on 17-Jan-2018

219 views 1 download

description

 Code Generator ◦ Intel Architecture (X86) ◦ MIPS Architecture ◦ Java Virtual Machine (JVM) ◦ Common Language runtime (CLR)  Our Target: MIPS Architecture  SPIM Simulator

transcript

Md. Zahurul IslamCenter 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