У меня был вопрос, когда я готовился к университетскому проекту. Я узнал о грамматике BNF и EBNF, выполнив поиск в Интернете.
(1) Мне нужно преобразовать эту фразу в EBNF.
<id> ::= <letter> | <id><letter> | <id><digit>
Итак, я сделал это преобразование.
<id>::= <letter>( <letter> | <digit> )*
Правильна ли эта грамматика, но также как я могу выразить ее с помощью синтаксической диаграммы?
(2) И наоборот, как я могу изменить этот EBNF на BNF?
<complex sentence> ::= ‘{’ <sentence> { <sentence> } ‘}’
Было много способов конвертировать BNF в EBNF в Интернете, но я чувствовал, что мне не хватает информации о том, как конвертировать EBNF в BNF. Я также хочу знать, как это представлено синтаксической диаграммой.