gpt4 book ai didi

JavaCC:自定义词法分析器错误消息

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

根据JavaCC documentation ,如果我想自定义词法分析器中错误给出的消息:

To customize error reporting by the lexer, the lexer class must be subclassed and this method [LexicalError() in TokenMgrError] redefined in the subclass. To help with creating your error reporting scheme, the following variables are available:

但是,与 TOKEN_FACTORY 选项不同,我没有看到如何让生成的代码使用该子类。

另一方面,查看TokenMgrError源代码,一些注释表明应该直接编辑源文件,而不是子类化。但是,如果我这样做,下次更改 .jj 文件并让 Ant 重新生成解析器和词法分析器代码时,我会收到以下警告:

Warning: TokenMgrError.java: File is obsolete. Please rename or delete this file so that a new one can be generated for you.

那么,我该怎么做呢?

最佳答案

如果需要,您可以修改TokenMgrError。它没有太多缺点。

如果您对 token 管理器进行子类化,那么您也可以对 TokenMgrError 进行子类化。您只需要确保覆盖所有创建 TokenMgrError 的例程即可。要让解析器使用您的子类,您只需像这样创建解析器

MyParser parser = new MyParser( new MySubclassTokenManagr(...) ) ;

关于JavaCC:自定义词法分析器错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448979/

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