2010-06-13 4 views
4

Я читал пару книг/онлайн-ссылок на теорию компилятора и продолжал видеть, что конкретный оператор поднимается каждый раз в то время (как видно here), в частности, когда текущая тема представляет собой контекстно-свободные грамматики. Что это значит? Также, как он отличается от =>?Что означает = *> в отношении контекстных свободных грамматик?

Объяснения с примерами отличия => от =*> были бы наиболее полезными.

ответ

5

=> означает, что происходит за один шаг, а = *> происходит с нуля или более шагов (reflexive transitive closure of =>).

+0

О, это имеет смысл! Собственно, не могли бы вы уточнить, как что-то может быть получено в 0 шагах? – Cam

+0

Другими словами, '*' изменяет '=>' таким же образом, как изменяет элементы в регулярных выражениях. –

+1

@incrediman: Это когда что-то происходит. например 01b = *> 01b (нулевые шаги) против 01b = *> 011 (один шаг) –

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