使用BNF Javacc验证是否存在值
如果我只在JavaCC中使用BNF语法来解析它使用BNF Javacc验证是否存在值,java,parsing,production,bnf,javacc,Java,Parsing,Production,Bnf,Javacc,如果我只在JavaCC中使用BNF语法来解析它 correctAnswer "Afternoon" wrongAnswer "Morning" wrongAnswer "Evening" 在仅使用BNF语法(根本不使用Java代码)解析时,是否有方法检查是否至少存在一个正确答案 所以如果我们有这个 wrongAnswer "Morning" wrongAnswer "Evening" Jav
correctAnswer "Afternoon"
wrongAnswer "Morning"
wrongAnswer "Evening"
在仅使用BNF语法(根本不使用Java代码)解析时,是否有方法检查是否至少存在一个正确答案
所以如果我们有这个
wrongAnswer "Morning"
wrongAnswer "Evening"
Javacc会抛出一个解析器异常,因为它的格式无效
任何帮助都会很好,因为我知道如何在Java中实现这一点,但只有BNF/JavaCC语法无法提供帮助
那么,在我的产品中,我需要什么来让这个抛出一个解析器异常呢?没有java代码
干杯,试试这个
void answers() : {}
{
(wrong())* correct() (wrong() | correct() )*
}
void wrong() : {}
{
<WRONG_ANSWER> <STRING>
}
void correct() : {}
{
<CORRECT_ANSWER> <STRING>
}
void answers():{}
{
(错误())*正确()(错误()|正确())*
}
无效错误():{}
{
}
void correct():{}
{
}
试试这个
void answers() : {}
{
(wrong())* correct() (wrong() | correct() )*
}
void wrong() : {}
{
<WRONG_ANSWER> <STRING>
}
void correct() : {}
{
<CORRECT_ANSWER> <STRING>
}
void answers():{}
{
(错误())*正确()(错误()|正确())*
}
无效错误():{}
{
}
void correct():{}
{
}