грамматики EBNF похожи на обычные BNF, но с некоторыми дополнительными функциями (похожими на операторы регулярных выражений) в качестве синтаксического сахара.Поскольку вы не показывали свою грамматику, я могу только догадываться, в каких частях вам нужно десугарировать для преобразования в обычный BNF, но вот наиболее распространенные (для генератора LALR, такого как JavaCUP):
B* becomes Bstar, defined as Bstar ::= epsilon; Bstar ::= Bstar B
B+ becomes Bplus, defined as Bplus ::= B; Bplus ::= Bplus B
B? becomes Bquestion, defined as Bquestion ::= epsilon; Bquestion ::= B
B | C becomes BorC, defined as BorC ::= B; BorC ::= C
epsilon
идентификатор здесь, однако ваш генератор синтаксического анализа обозначает пустую строку.