ejemplo práctico de un compilador pequeño
DESCRIPTION
Lenguaje Fuente. Análisis Léxico. Análisis Sintáctico. Generador de código objeto. Lenguaje Objeto. Ejemplo Práctico de un compilador pequeño. ASG VAR = EXP ;. EXP TER REX. REX + EXP | - EXP | VACIO. TER ( EXP ) | VAR | CTE. VAR A | ... | Z. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Ejemplo Práctico de un compilador pequeño](https://reader036.vdocuments.co/reader036/viewer/2022082405/5681461f550346895db32701/html5/thumbnails/1.jpg)
Ejemplo Práctico de un compilador pequeño
Lenguaje Fuente
Análisis Léxico
Análisis Sintáctico
Generador de código objeto
Lenguaje Objeto
![Page 2: Ejemplo Práctico de un compilador pequeño](https://reader036.vdocuments.co/reader036/viewer/2022082405/5681461f550346895db32701/html5/thumbnails/2.jpg)
Gramática
ASG VAR = EXP ;
EXP TER REX
REX + EXP | - EXP | VACIO
TER ( EXP ) | VAR | CTE
VAR A | ... | Z
CTE 0 | ... | 9
![Page 3: Ejemplo Práctico de un compilador pequeño](https://reader036.vdocuments.co/reader036/viewer/2022082405/5681461f550346895db32701/html5/thumbnails/3.jpg)
Lenguaje Maquina Objeto:
PUSHC CTE top := top + 1;pila[top] := cte;
PUSHA dir.var. top := top + 1;
pila[top] := dir.var.
LOAD pila[top] := mem[pila[top]]
STORE mem[pila[top-1]] := pila[top];top := top-2;
NEG pila[top] := - pila[top];
ADD pila[top-1] := pila[top] + pila[top-1];top := top-1;
Pila
Variables
Programa