@Override
public void parse(Snapshot snapshot, Task task, SourceModificationEvent event) {
this.snapshot = snapshot;
Document document = snapshot.getSource().getDocument(true);
syntaxErrors = (List<SyntaxError>) document.getProperty("syntaxErrors");
if (syntaxErrors == null) {
syntaxErrors = new ArrayList<>();
document.putProperty("syntaxErrors", syntaxErrors);
}
embeddedOffset = snapshot.getOriginalOffset(0);
// Logger.Log("macparse: " + syntaxErrors.size() + " - " + embeddedOffset);
if (embeddedOffset <= 0) {
syntaxErrors.clear();
}
ANTLRInputStream input = new ANTLRInputStream(snapshot.getText().toString());
Lexer lexer = new macLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
macParser = new macParser(tokens);
macParser.removeErrorListeners();
macParser.addErrorListener(new ErrorListener(syntaxErrors, embeddedOffset));
try {
ProgContext prog = macParser.prog();
} catch (RecognitionException ex) {
ex.printStackTrace();
}
}
macEditorParser.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:NBStudio
作者:
评论列表
文章目录