Операционная система UNIX. Руководство программиста


         

СТАРШИНСТВО ОПЕРАЦИЙ - часть 3


  • Если есть конфликт свертка-перенос и как грамматическому правилу, так и входному символу сопоставлен приоритет и ассоциативность, то конфликт разрешается в пользу той операции перенос или свертка, которой соответствует больший приоритет. Если приоритеты равны, используется информация об ассоциативности. Левая ассоциативность обозначает свертку, правая - перенос, неассоциативность - ошибку.
  • Конфликты, разрешенные при помощи приведенного метода, не учитываются при подсчете сообщаемого yacc'ом числа конфликтов перенос-свертка и свертка-свертка. Это означает, что ошибки в спецификации приоритетов могут замаскировать ошибки во входной грамматике. Хорошо было бы воздерживаться от задания приоритетов или использовать их весьма осторожно, пока не приобретен определенный опыт. Чтобы убедиться, что получен именно тот алгоритм разбора, который требуется, следует изучить содержимое файла y.output.




    Содержание  Назад  Вперед