资源简介
清华大学
编译原理decaf实验pa1
说明文档
实验框架
代码片段和文件信息
package decaf;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import decaf.tree.Tree;
import decaf.error.DecafError;
import decaf.frontend.Lexer;
import decaf.frontend.Parser;
import decaf.utils.IndentPrintWriter;
public final class Driver {
private static Driver driver;
private Option option;
private List errors;
private Lexer lexer;
private Parser parser;
public static Driver getDriver() {
return driver;
}
public void issueError(DecafError error) {
errors.add(error);
}
public void checkPoint() {
if (errors.size() > 0) {
Collections.sort(errors new Comparator() {
@Override
public int compare(DecafError o1 DecafError o2) {
return o1.getLocation().compareTo(o2.getLocation());
}
});
for (DecafError error : errors) {
option.getErr().println(error);
}
System.exit(0);
}
}
public void init() {
lexer = new Lexer(option.getInput());
parser = new Parser();
lexer.setParser(parser);
parser.setLexer(lexer);
errors = new ArrayList();
}
public void compile() {
Tree.TopLevel tree = parser.parseFile();
checkPoint();
if (option.getLevel() == Option.Level.LEVEL0) {
IndentPrintWriter pw = new IndentPrintWriter(option.getOutput() 4);
tree.printTo(pw);
pw.close();
return;
}
}
public static void main(String[] args) throws IOException {
driver = new Driver();
driver.option = new Option(args);
driver.init();
driver.compile();
}
public Option getOption() {
return option;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 268748 2010-09-30 16:57 Decaf实验总述.pdf
文件 335841 2010-09-30 17:02 Decaf语言规范.pdf
文件 564752 2010-09-30 15:43 编译原理Decaf实验介绍.pdf
文件 2959 2010-09-30 08:44 fr
文件 1624 2010-09-24 22:12 fr
文件 581 2009-10-24 02:02 fr
文件 623 2009-10-24 02:02 fr
文件 343 2009-10-24 02:02 fr
文件 360 2009-10-24 02:02 fr
文件 436 2009-10-24 02:02 fr
文件 334 2009-10-24 02:02 fr
文件 334 2009-10-24 02:02 fr
文件 606 2009-10-24 02:02 fr
文件 573 2009-10-24 02:02 fr
文件 504 2009-10-24 02:02 fr
文件 322 2009-10-24 02:02 fr
文件 415 2009-10-24 02:02 fr
文件 342 2009-10-24 02:02 fr
文件 373 2009-10-24 02:02 fr
文件 692 2009-10-24 02:02 fr
文件 550 2009-10-24 02:02 fr
文件 491 2009-10-24 02:02 fr
文件 467 2009-10-24 02:02 fr
文件 521 2009-10-24 02:02 fr
文件 437 2009-10-24 02:02 fr
文件 401 2009-10-24 02:02 fr
文件 312 2009-10-24 02:02 fr
文件 406 2009-10-24 02:02 fr
文件 403 2009-10-24 02:02 fr
文件 320 2009-10-24 02:02 fr
............此处省略77个文件信息
- 上一篇:评估机器学习的模型
- 下一篇:南宁建筑轮廓图的KML文件
评论
共有 条评论