📄 using_sample.java
字号:
package edu.ustc.cs.compile.generator.mips;//改成你的包名
import java.io.File;
import org.eclipse.jdt.core.dom.ASTNode;
import edu.ustc.cs.compile.parser.skipoominijool.Parser;
import edu.ustc.cs.compile.platform.interfaces.ParserException;
import edu.ustc.cs.compile.platform.interfaces.ParserInterface;
import edu.ustc.cs.compile.platform.interfaces.GeneratorInterface;
import edu.ustc.cs.compile.platform.interfaces.GeneratorException;
import edu.ustc.cs.compile.platform.util.ASTView.core.ASTViewer;
import edu.ustc.cs.compile.platform.util.ASTView.plugin.GenericPropertyDump;
import edu.ustc.cs.compile.platform.util.ir.HIR;
import edu.ustc.cs.compile.parser.HSParser;//换成你的库
import edu.ustc.cs.compile.arch.*;//这个记得加
import edu.ustc.cs.compile.arch.mips.*;//这个记得加(我的库)
class main{
public static void main(String[] args) {
String srcFile = "testcase/correct/quicksort.mj"; // 换成你的测试程序
File src = new File(srcFile);
HIR hir = null;
// 调用我们提供的SkipOOMiniJOOL的语法分析器获得中间表示。
// 你可以将它替换成自己的语法分析器。
ParserInterface Parser = new HSParser();//如果你的语法分析器叫HSParser
try {
hir = (HIR)Parser.doParse(src);
} catch (ParserException e) {
System.err.println("Fatal error:Some exceptions happened in parser.");
e.printStackTrace();
System.exit(-1);
}
// 调用ASTView
ASTViewer astviewer = new ASTViewer((ASTNode)hir.getIR(), new GenericPropertyDump());
astviewer.show();
// 调用汇编代码生成器。
MMGenerator gen = new MMGenerator();
File outFile = new File("a.s"); // 如果要输出到其它文件,请修改outFile的值
try{
gen.generateAsm(outFile, hir);
}catch(Exception e){
System.err.println("Fatal error:Some exceptions happened in generator.");
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -