?? 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 + -