В теории синтаксического анализа, что является противоположностью «производного»? - PullRequest
3 голосов
/ 22 декабря 2010

Предположим, у вас есть такая грамматика:

SA

AE "=" E

В этом примере S получает последовательность (E "=" E).Однако что является противоположностью этому?То есть, какое слово подходит для заполнения пробела:

"Последовательность (E" = "E) _ __ _ __ S. "

Если бы мы позаимствовали антоним из исчисления, можно было бы сказать, что (E" = "E) объединяет S, но это не кажется правильным.

1 Ответ

2 голосов
/ 22 декабря 2010

Я не верю, что, строго говоря, существует такой антоним.Вместо этого они оба упоминаются как деривация.Более конкретно, то, что вы описываете в вопросе, называется «нисходящим» синтаксическим анализом , тогда как обратное известно как «восходящим» синтаксическим анализом .

ВВ отличие от синтаксического анализа сверху вниз, в котором анализ начинается с начального символа и применяет деривации до тех пор, пока не будет определена вся входная строка, синтаксический анализ начинается снизу с входной строки и использует деривации в обратном направлении, останавливаясь, когда в конечном итоге выводится начальный символ.

См. Также: http://lambda.uta.edu/cse5317/notes/node12.html

Однако я видел противоположное дифференцированию, обозначаемое как сокращение .Возможно, это был термин, о котором вы думали?

(Так, может быть, этот курс формальной логики, который я прошел в колледже, наконец-то пригодился?)

...