資源簡介
清華大學
編譯原理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文件
評論
共有 條評論