ejemplo práctico de un compilador pequeño

3
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

Upload: cassia

Post on 13-Jan-2016

60 views

Category:

Documents


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

Page 1: 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

Page 2: Ejemplo Práctico de un compilador pequeño

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

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