打印xtext解析器错误的行内容

时间:2014-06-04 08:04:27

标签: java xtext

如果在通过xtext将文件解析到日志文件期间发生错误,有没有办法打印行内容?目前,我得到的只是一个行号,但如果您只有一个日志文件,这还不足以找到问题。

我在documentation找不到这个部分。您有任何想法或资源可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

类似

IParser parser = i.getInstance(IParser.class);
    IParseResult parseResult = parser.parse(new InputStreamReader(new StringInputStream("element a\nelement a\nxxxx")));
    for (INode e : parseResult.getSyntaxErrors()) {
        System.out.println(e.getSyntaxErrorMessage());
        System.out.println(e.getStartLine());
                    System.out.println(e.getText());
    }

如果那不够那么

for (INode x : parseResult.getRootNode().getLeafNodes()) {
            if (x.getStartLine()==e.getStartLine()) {
                System.out.print(x.getText());
            }
        }
        System.out.println();