Ejemplo Práctico de un compilador pequeño

Post on 13-Jan-2016

61 views 0 download

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 Presentation

Transcript of Ejemplo Práctico de un compilador pequeño

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

Gramática

ASG VAR = EXP ;

EXP TER REX

REX + EXP | - EXP | VACIO

TER ( EXP ) | VAR | CTE

VAR A | ... | Z

CTE 0 | ... | 9

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