2017-01-04 3 views
0
R: S ---> aSb 
    S ---> SS 
    S ---> ε 

Как написать грамматику для этих выражений?Является ли терминал терминалом без контекста?

Верно ли писать так?

G = ({S}, {a, b}, {S ---> aSb, S ---> SS, S ---> ε}, {S}) 

или, как это (добавление к терминалам эпсилон):

G = ({S}, {a, b, ε}, {S ---> aSb, S ---> SS, S ---> ε}, {S}) 

, который является правильным?

ответ

1

ε - способ отображения последовательности нулевой длины. Это не символ грамматики.

Фактическое производство: S →   — то есть S не может произвести ничего — но незаметность ничего делает его трудно читать. Поэтому мы обычно пишем ε, что является более разборчивым. Вы должны прочитать это как ничто.

+0

Вы имеете в виду, что ε не является терминалом грамматики, не так ли? – alkokura49

+0

@ alkokura49: Это не терминал и не терминал: он представляет собой * последовательность символов грамматики, которая оказывается пустой. Точно так же 'aSb' не является ни терминалом, ни терминалом: это последовательность из трех символов грамматики. ε - последовательность нулевых символов. – rici

Смежные вопросы