Cтраница 2
Трансляция инфиксных выражений в постфиксные. Один из обычных методов трансляции выражений состоит в том, что инфиксные выражения сначала транслируются в постфиксную ( обратную польскую) запись. Затем обратная польская запись сразу или после оптимизации транслируется в машинные команды. Процесс трансляции в обратную польскую запись основан на использовании стека и таблицы приоритетов. [16]
Для оператора let компилятор создает код выполнения произвольных арифметических операций с комплексными числами, содержащими целые переменные и константы. Выражения должны отделять каждый операнд от символа операции пробелами. В упражнениях 15.12 и 15.13 представлены алгоритмы преобразования инфиксного выражения в постфиксное и вычисления постфиксного выражения, используемые компиляторами для вычисления выражения. Прежде, чем разрабатывать компилятор, вам следует выполнить эти два упражнения. Когда компилятор встречает выражение, он преобразует его из инфиксной записи в постфиксную, а затем вычисляет постфиксное выражение. [17]
Для оператора let компилятор генерирует код вычисления арифметического выражения произвольной сложности, состоящего из целых переменных и / или констант. В выражении все операнды и операции должны быть отделены друг от друга пробелами. В упражнениях 12.12 и 12.13 были изложены алгоритмы преобразования инфиксных выражений в постфиксные и вычисления постфиксных выражений, применяемых в компиляторах для оценки арифметических выражений. Прежде чем приниматься за разработку своего компилятора, вы должны выполнить оба этих упражнения. [18]