Формальные грамматики: Как я могу применить рекурсию, чтобы использовать эти терминальные символы в качестве скобок
Привет у меня есть следующий набор нетерминалов: {A,B,C,X} и терминалов: {$,i,m,u}
Правила производства, которые я сделал до сих пор:
- Х-> A $
- A-> AB
- А-> Б
- B-> я C u
- C-> m A
- C-> m C
В этом примере "i, u" должны выступать в качестве скобок, и поэтому должен быть одинаковый баланс с каждой стороны и по крайней мере один m между ними.
I.e. Correct string : imu; iiimuuu; iimmmuiimuuimuu
( ) ((( ))) (( )(( ))( ))
Что мне нужно добавить в правила производства, чтобы иметь возможность производить желаемые деривации? Спасибо.