@Test
public void twelveFactorial() throws IOException {
final GMLLexer gmlLexer = new GMLLexer(new ANTLRInputStream(getClass().getResourceAsStream("fact.gml")));
final GMLParser gmlParser = new GMLParser(new CommonTokenStream(gmlLexer));
gmlParser.addErrorListener(new BaseErrorListener() {
@Override
public void syntaxError(final Recognizer<?, ?> theRecognizer, final Object theOffendingSymbol, final int theLine,
final int theCharPositionInLine, final String theMsg, final RecognitionException theE) {
Assert.fail(theMsg);
}
});
final GMLExtractor gmlExtractor = new GMLExtractor(gmlParser);
final GMLInterpreter gmlInterpreter = new GMLInterpreter(gmlExtractor);
final Stack<Token> tokenStack = gmlInterpreter.interpret();
Assert.assertEquals(tokenStack.size(), 1);
final NumberToken result = (NumberToken) tokenStack.pop();
Assert.assertEquals(result.getValue(), 479001600d);
}
GMLInterpreterTest.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:gml-tracer
作者:
评论列表
文章目录