gpt4 book ai didi

java - 此 ANTLR 4 Lexer 文件中的 "parser rule ' Channels' not allowed in lexer"错误是什么?

转载 作者:行者123 更新时间:2023-11-29 10:29:10 26 4
gpt4 key购买 nike

我正在尝试从 https://github.com/antlr/grammars-v4/tree/master/mysql 处的 MySQL .g4 文件构建解析器和词法分析器。 。我收到错误“词法分析器中不允许解析器规则' channel '”,如附图所示。

This is the error in the Lexer file

最佳答案

仅词法分析器语法只能包含词法分析器规则。我认为这里发生的情况是,您正在使用的工具将“规则”channels 解释为解析器规则,因为它不以大写字母开头,因此在这个仅词法分析器中不合适语法。

但是,迈克的评论是正确的。此 channels 构造(当前)是词法分析器文件的有效 ANTLR 语法。 See this page. 。它应该放在词法分析器语法文件中,因此我对您遇到的错误唯一可以猜测的是您使用的工具(IDE)不理解 channel 自定义规范语法。

请注意,并非 github 列表中的每个语法都是完美的,并且不是 ANTLR 本身的一部分,而是由不同作者贡献的,有时是由与您在任何特定时刻使用的版本不同的 ANTLR 版本贡献的。

关于java - 此 ANTLR 4 Lexer 文件中的 "parser rule ' Channels' not allowed in lexer"错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739837/

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