Нужна помощь в понимании приоритета - PullRequest
1 голос
/ 19 декабря 2010

Может ли кто-нибудь дать мне краткое описание того, как определить приоритет одной вещи по отношению к другой в грамматике?Я не могу найти хороший ответ в своих книгах или в Интернете, хотя я уверен, что это очень просто.Пример

S-> B
B-> B and T | T
T-> T or F | F
F-> not F| (B)|true|false

Вопрос заключался в том, «каков приоритет» и «относительно» или «в приведенной выше грамматике?».

»и« имеет более низкий приоритет, чем »", но я не уверен почему.

1 Ответ

1 голос
/ 20 декабря 2010

Символ B представляет оператор and, и его определение содержит T, то есть or.Вы можете получить от and до or, но не наоборот.Поэтому, если вы думаете о выражении языка как о стеке, вы будете продолжать делать замены и добавления в верхнюю часть стека до тех пор, пока не закончите вычислять весь оператор, а когда вы вытолкнете элементы, вы измените направление и *Заявление 1007 * всегда будет выше (и, следовательно, будет оцениваться раньше) and.Надеюсь, что это имеет смысл.

...