я должен перевести эту EBNF на зубр:EBNF к Bison - свёртка/свёртка ошибки
<compound-statement> ::= begin [ <statement> (; <statement>)*] end
<statement> ::=
| <assignment>
| <if-statement>
| <while-statement>
| <proc-func-call>
| <compound-statement>
, когда я перевести присваивания, если, в то время как заявления и proc_func_ нет ошибок в зубре. Однако, когда я набираю это в бизоне, перевод составного оператора:
compound_statement : BEGINKEY state ENDKEY ;
state : | statement stm ;
stm : | BQUESTIONMARK statement stm ;
есть ошибка уменьшения/уменьшения.
Может кто-нибудь объяснить мне, почему возникает ошибка уменьшения/уменьшения, потому что это не имеет смысла для меня. Я был бы очень признателен.
Заранее спасибо.
Что такое 'BQUESTIONMARK'? – templatetypedef