Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCCIN AL TEMA
Segn el modelo de arquitectura de un compilador en el que ste se divide en
frontend y backend, la etapa inicial traduce un programa fuente a una
representacin intermedia a partir de la cual la etapa final genera el cdigo objeto,
ab*
abcd/+*
ab*cd*+
::=
::=
::=
::=
::=
::=
::=
::=
E +
E T
T *
T /
F
i
(E)
T
T
Push +
Push -
F
F
Push *
Push /
Push i
F ::= - F
Push @
abc*d+:=
La transferencia (GOTO).
GOTO L
se transforma a
L GOTO
la instruccin condicional
if p then inst1 else inst2
se convierte en
p L1 TRZ inst1 L2 TR inst2
L1:
L2:
Subndices:
a[exp1; exp2; ...; expn]
se convierte en
a exp1 exp2 ... expn SUBIN-n
4.
5.
6.
7.
JMP,, (7)
+, Y, 1
:=, Z, (5)
...
Los ciclos se descomponen en un ciclo genrico, por lo que ciclos while, for
y do-while tienen la misma representacin interna. En el caso de C, todo queda en
forma de while. Las condiciones lgicas tambin pueden ser evaluadas por
partes.