3
在Java中有这条线parser.getInterpreter().setSLL(true);
可以将ANTLR4解析器切换为SLL(*)。 C#中的等价物是什么?C#Antlr4最大速度
谢谢你在前进,WIDI
在Java中有这条线parser.getInterpreter().setSLL(true);
可以将ANTLR4解析器切换为SLL(*)。 C#中的等价物是什么?C#Antlr4最大速度
谢谢你在前进,WIDI
我找不到setSLL任何引用。 wiki页面here正在使用setPredictionMode方法来启用sll。这是来自页面的Java代码片段。
CharStream input = new ANTLRFileStream(args[0]);
ExprLexer lexer = new ExprLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
ExprParser parser = new ExprParser(tokens);
parser.getInterpreter().setPredictionMode(PredictionMode.SLL);
try {
parser.stat(); // STAGE 1
}
catch (Exception ex) {
tokens.reset(); // rewind input stream
parser.reset();
parser.getInterpreter().setPredictionMode(PredictionMode.LL);
parser.stat(); // STAGE 2
// if we parse ok, it's LL not SLL
}
下面介绍如何在C#中设置预测模式。
parser.Interpreter.PredictionMode = Antlr4.Runtime.Atn.PredictionMode.Sll;
'parser.getInterpreter()'会'parser.Interpreter'在C#中,但似乎没有'SLL'财产... – Onur 2015-03-13 15:19:54
这就是为什么我问:d – 2015-03-13 16:32:04