文件名称:Tiger:CS4240 Tiger 编译器项目
文件大小:6.65MB
文件格式:ZIP
更新时间:2024-07-27 17:03:25
Java
去做: 阶段1 初始寄存器分配 检测基本块 构造CFG 图着色(块内级别) EBB 施工 活性分析(奖励) 阶段2 指令选择和代码生成 第三阶段 函数调用 参考: SPIM MIPS .data 函数调用 SPIM 用法 建造 $ ./make.sh 解析,生成 AST $ ./tiger.sh [options] < tiger> 完整的选项列表 $ ./tiger.sh --help 干净的 $ ./clean.sh 目录结构 xxx 学分 (c) 2014 阿卡什·甘吉尔、泰勒·贝尔、布兰登·查斯坦。 麻省理工学院执照
【文件预览】:
Tiger-master
----.gitignore(84B)
----src()
--------LivenessAnalyzer.java(3KB)
--------TigerScope.java(3KB)
--------TigerReturn.java(1KB)
--------BasicBlockGenerator.java(3KB)
--------TigerType.java(3KB)
--------TigerConstant.java(832B)
--------Tiger.java(7KB)
--------Operand.java(754B)
--------TigerUserFunction.java(4KB)
--------TigerFor.java(2KB)
--------TigerFunction.java(980B)
--------TigerSemanticError.java(8KB)
--------IRGenerator.java(24KB)
--------TigerBreak.java(243B)
--------BasicBlock.java(2KB)
--------Quad.java(3KB)
--------Tiger.tokens(558B)
--------TigerStandardFunction.java(2KB)
--------TigerVariable.java(2KB)
--------RegisterGraph.java(5KB)
--------RegManager.java(976B)
--------TigerAstNode.java(81B)
--------TigerProgram.java(2KB)
--------MIPSGenerator.java(21KB)
--------TigerOps.java(276B)
--------TigerOperation.java(2KB)
--------TigerFunctionIR.java(787B)
--------TigerInvocation.java(2KB)
--------MIPSRegisterBank.java(3KB)
--------TigerBlock.java(2KB)
--------TigerIR.java(113B)
--------TigerAssign.java(875B)
--------TigerStatement.java(1KB)
--------TigerSymbol.java(230B)
--------TigerIf.java(2KB)
--------TigerWhile.java(1KB)
--------TigerReference.java(3KB)
--------TigerExpression.java(1KB)
--------Interval.java(266B)
----bin()
--------antlrworks.jar(2.82MB)
----tiger.sh(53B)
----LICENSE(1KB)
----doc()
--------antlr-reference.md(477B)
--------phase2()
--------phase3()
--------phase1()
----stack convention notes.txt(112B)
----spim()
--------HelloWorld.s(458B)
----dot.sh(142B)
----README.md(1000B)
----lib()
--------antlr-runtime.jar(164KB)
--------antlr-stringtemplate.jar(145KB)
--------antlr.jar(435KB)
----grammar()
--------Tiger.g(7KB)
----make.sh(365B)
----test()
--------testcase09.tig(618B)
--------testcase07.tig(1KB)
--------testcase06.tig(4KB)
--------add.tig(592B)
--------testcase03.tig(2KB)
--------testcase04.tig(1KB)
--------badsample.tig(599B)
--------testcase01.tig(5KB)
--------testcase10.tig(2KB)
--------testcase05.tig(4KB)
--------sample.tig(244B)
--------testcase08.tig(701B)
--------testcase02.tig(2KB)
----clean.sh(51B)