Изменения

Перейти к: навигация, поиск

Формальные грамматики

16 байт добавлено, 05:09, 10 ноября 2011
Арифметические выражения: тире
===Арифметические выражения===
<tex>\Sigma = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, +, *, /, -, (, )\}</tex>
# <tex>S \rightarrow S O S</tex> - два выражения, соединенные действием# <tex>S \rightarrow (S) </tex> - выражение, взятое в скобки# <tex>S \rightarrow 0</tex> - ноль# <tex>S \rightarrow DN</tex> - число, у которого первая цифра не ноль# <tex>O \rightarrow + | - | * | /</tex> - действие# <tex>D \rightarrow 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9</tex> - цифра, не являющаяся нулем# <tex>N \rightarrow NN | \epsilon</tex> - любая последовательность из цифр, возможно пустая# <tex>N \rightarrow 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9</tex> - любая цифра
Вывод строки <tex>2+2*2</tex>: <tex>S \rightarrow SOS \rightarrow SOSOS \rightarrow 2OSOS \rightarrow 2O2OS \rightarrow 2O2O2 \rightarrow 2+2O2 \rightarrow 2+2*2</tex>
Левосторонний вывод для такой же строки: <tex>S \rightarrow SOS \rightarrow 2OS \rightarrow 2+S \rightarrow 2+SOS \rightarrow 2+2OS \rightarrow 2+2*S \rightarrow 2+2*2</tex>
143
правки

Навигация