Cтраница 1
Инфиксные выражения соответствуют обычным алгебраическим выражениям, к написанию которых мы привыкли. Умножение и деление связывают теснее, чем сложение или вычитание, а скобки употребляются для изменения порядка вычислений. Суффиксные выражения несколько менее привычны для глаза. Однако они обладают тем преимуществом, что им не требуются скобки для обозначения старшинства операций и что правила их вычисления очень просты. [1]
Трансляция инфиксных выражений в постфиксные. Один из обычных методов трансляции выражений состоит в том, что инфиксные выражения сначала транслируются в постфиксную ( обратную польскую) запись. Затем обратная польская запись сразу или после оптимизации транслируется в машинные команды. Процесс трансляции в обратную польскую запись основан на использовании стека и таблицы приоритетов. [2]
Для оценки сложного инфиксного выражения компилятор должен сначала перевести его в постфиксную форму, а затем оценить постфиксный вариант выражения. Каждый из этих алгоритмов требует всего одного прохода выражения слева направо. [3]
Для вычисления сложного инфиксного выражения компилятор должен сначала преобразовать выражение в постфиксную форму, а затем вычислить его в этой постфиксной форме. Каждый из этих алгоритмов требует всего одного прохода выражения слева направо. Кроме того каждый алгоритм использует объект стека для обеспечения необходимых операций и для других целей. [4]
Образец УДАЛ удаляет из инфиксного выражения внешние скобки. Образцы ПМОБР и УДОБР разбивают инфиксное выражение на два выражения и знак операции в соответствии с соглашением о левой ассоциативности. Эти образцы отличаются только тем, что первый из них позволяет найти операции сложения и вычитания, а второй - умножения и деления. [5]
Функцию convertToPostfix, которая преобразует инфиксное выражение в постфиксное. [6]
Простои иерархический распознаватель-генератор. [7] |
Повторять следующее действие до тех пор, пока инфиксное выражение не будет исчерпано. [8]
Заметим, что теперь наша трансляция ( инфиксных выражений в одноадресный код) стала достаточно сложной, и нам потребуются все средства: поиск в таблице, стирание ( куда уходят все скобки. [9]
Модифицировать данный в упражнении 12.12 алгоритм преобразования инфиксного выражения в постфиксное, чтобы он мог работать с многозначными целыми операндами и операндами в виде од-нобуквенной переменной. [10]
ЖЕ самом порядке h что и & инфиксном выражении, Забнпно также отметить, что левые скобки в инфиксном выражении не нужны, Однако они необходимы. [11]
Забавно также отметить, что левые скобки в инфиксном выражении не нужны. [12]
Помимо того, что алгоритм, разработанный в данном разделе для вычисления инфиксных выражений, предоставил два разных примера использования абстракции стека, он и сам по себе является упражнением по абстракциям. Во-вторых, для интерпретации и вычисления этого выражения имитируется работа абстрактной машины, функционирующей на основе стека. В целях эффективности и мобильности эта же схема работы наследуется многими современными компиляторами: задача компиляции программы на C для некоторого компьютера разбивается на две задачи, которые концентрируются вокруг промежуточного представления. Поэтому задача трансляции программы отделяется от задачи выполнения этой программы, точно так же как это делалось в данном разделе. В разделе 5.7 будет показано родственное, но другое промежуточное представление. [13]
ЖЕ самом порядке h что и & инфиксном выражении, Забнпно также отметить, что левые скобки в инфиксном выражении не нужны, Однако они необходимы. [14]
Образец УДАЛ удаляет из инфиксного выражения внешние скобки. Образцы ПМОБР и УДОБР разбивают инфиксное выражение на два выражения и знак операции в соответствии с соглашением о левой ассоциативности. Эти образцы отличаются только тем, что первый из них позволяет найти операции сложения и вычитания, а второй - умножения и деления. [15]