使用bnf javacc验证是否存在值

iibxawm4  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(387)

如果我只在javacc中使用bnf语法来解析它。

correctAnswer "Afternoon"
wrongAnswer "Morning"
wrongAnswer "Evening"

当只使用bnf语法(完全不使用java代码)解析时,是否有方法检查是否至少存在一个正确答案。
所以如果我们有这个

wrongAnswer "Morning"
wrongAnswer "Evening"

javacc会抛出一个解析器异常,因为它的格式无效。
任何帮助都将是伟大的,因为我知道如何在java中做到这一点,但失去了只有bnf/javacc语法。
那么,在我的产品中,我需要什么使这个抛出一个解析器异常-没有java代码!!!!!
干杯

dzhpxtsq

dzhpxtsq1#

试试这个

void answers() : {}
{
    (wrong())* correct() (wrong() | correct() )*
}
void wrong() : {}
{
    <WRONG_ANSWER> <STRING>
}
void correct() : {}
{
    <CORRECT_ANSWER> <STRING>
}

相关问题