gpt4 book ai didi

c# - ANTLR4 commonTokenStream.GetTokens() 没有得到所有的 token

转载 作者:行者123 更新时间:2023-12-05 05:12:59 24 4
gpt4 key购买 nike

我有一个 ANTLR4 语法,用于语法突出显示的方法。当用户更改文本时,该方法被触发并生成 commonTokenStream。当我调用 GetTokens() 时,我只得到一些预期的标记。当我调用 Consume() 时,我得到了更多但不是全部。如何获取文本中的所有标记?

AntlrInputStream stream = new AntlrInputStream(_input);
GrammarLexer lexer = new GrammarLexer(stream);
CommonTokenStream commonTokenStream = new CommonTokenStream(lexer);
List<IToken> list = commonTokenStream.GetTokens();

最佳答案

commonTokenStream.GetTokens() 之前,先尝试 commonTokenStream.Fill():

CommonTokenStream commonTokenStream = new CommonTokenStream(lexer);
commonTokenStream.Fill();
List<IToken> list = commonTokenStream.GetTokens();

关于c# - ANTLR4 commonTokenStream.GetTokens() 没有得到所有的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com