ANTLR4中的选项卡大小

时间:2015-07-18 17:52:22

标签: antlr antlr4

如何在ANTLR4中设置标签(insert(index,element))大小?例如,在ANTLR2中有'\t'属性。

tabSize

1 个答案:

答案 0 :(得分:0)

我想要类似的东西(在图形用户界面中)显示词法错误的位置。我在词法分析器上使用覆盖来报告错误的StartIndex,然后使用该StartIndex将光标放在错误的位置。它在我的测试中正确处理标签,因为它从输入流的开头计算:

public class BailLexer : LISBASICLexer
{
    public BailLexer(ICharStream input) : base(input)
    {
    }

    public override void Recover(LexerNoViableAltException e)
    {
        string message = string.Format("lex error at position {0} ", e.StartIndex);
        BasicEnvironment.SyntaxError = message;
        BasicEnvironment.ErrorStartIndex = e.StartIndex;  // save off value here for use later...
        throw new ParseCanceledException(BasicEnvironment.SyntaxError);
    }

}