如何制作自定义 JavaCC 异常消息?

How to make custom JavaCC Exception messages?

首先我想说我知道这里存在类似的问题:

但是我没有达到要求的 50 名代表来评论我的问题。

我试图从本质上做到这一点,如果令牌不是大写,它会说 "Input must be uppercase."。我的代码还有一些内容,但这基本上就是我想要做的。

我试着按照答案的建议去做,并在末尾有一个或,它只包含抛出自定义消息异常的代码,但它似乎并没有完全到达它,并打印出正常的异常消息.

<UPPER: (["A"-"Z"])+>是我的代币

void start(): {} { <UPPER> | {throw new ParseException("custom message");} }

我觉得这可能与我的令牌是任意数量的大写字符有关,但我不确定。

在此先感谢您的帮助。

几天后我查看了我的答案,并意识到问题是一些不匹配的括号导致了最后的 |未包含在正确的位置。

将来需要确保所有括号都匹配到正确的位置...