Está en la página 1de 2

¿Cómo se compila un programa?

1. Conocer la estructura de un compilador


2 fases front end back end
Front end : análisis : léxico, sintáctico; semántico
Back end : generación de código intermedio, optimización de código intermedio,
generación de código de máquina.
análisis léxico
int a; // separar e identificar en elementos lexicográficos (tokens)
PR, int;
ide, a;
ptoycoma, ;
sintáctico: // estructura;
int a;
tipo ide fin_linea
a int ;
semántico; forma almacenamiento
int z; double x,y;
z= x+y; // int ocupa 2 bytes, double 4 bytes

generación de código intermedio //regla crear instrucciones en formato de 3


direcciones

int z, x,y;
z=x+y;
z=x*3.2+y/3
optimización de código // convertir a instrucciones más simples con saltos
mov ax,x // dir de x en la Ram 10101010
mov bx,y
add ax,bx // resultado de la suma ax
mov z,ax
código de maquina
tenga memoria para microinstrucciones (microprograma)
pasan de la 100 :
mov, lea, add, sub, mul, div, push, pop
000, 001, 010, 011, 100, 101,110, 111
2exp 3=8
Registros ax=0000, bx=0001, cx=0010, ds=1000, cs=1001,ss=1010
000 0000 10101010
000 0001 10101100
010 0000 0001
000 10101000 0000

2.-

Programa Fuente  Front end   codigo ejecutable


Back end
masm link

También podría gustarte