Академический Документы
Профессиональный Документы
Культура Документы
Facultad de Ingeniera
Escuela Profesional Ingeniera de Sistemas / Informtica
Teora de Lenguajes y Compiladores 2012 - II
Unidad II:
Sesin: 09, 10
Analizador Sintctico
semana 09, 10
Nivel 5 Nivel 4
Nivel 3 Nivel 2 Nivel 1
3
Nivel de sistema operativo: lo que el usuario percibe como la computadora. Nivel de microprogramacin: lenguaje de mquina (0,1). Microcdigo ejecutado sobre el hardware.
Nivel 0
FASES DE COMPILACION
ESTRUCTURAS DE DATOS COMPARTIDAS
Analizador lexicogrfico
Programa fuente
explorador scanner
Analizador
semntico
Cdigo objeto
MANEJADOR DE ERRORES
FRONT-END
4
BACK-END
SCANNER
ANALISIS LEXICOGRAFICO TOKENS
Identificador signo de igual identificador id1 = id2 + id3 signo de ms identificador
PARSER
ANALISIS SINTACTICO
ARBOL DE PARSE
= + id1 28/02/2013 id2 id3 5
CUARTETOS
28/02/2013
0003 Store AC C
.Obj .Exe
28/02/2013
SISTEMA OPERATIVO
CORRIDA REAL
Estructura de Programas
Sintaxis Cmo se escribe el programa Una manera til de representar la sintaxis es el uso de gramticas libres de contexto, desarrolladas por el linguista Noam Chomsky. El Backus Naur Form o BNF nombrado por John Backus y Peter Naur, es equivalente.
Aspectos de un programa
Declaraciones - Informacion para el compilador var A: integer; typedef struct { int A; float B } C; Control Cambios al estado de la mquina if (A<B) { ... } while (C>D) { ... } La estructura se define frecuentemente usando gramtica BNF. Usado por primera vez en 1958 en la definicin de Algol.
8
10
11
12
13
Cdigo en Assembler
15
Arbol de Parseo
(
123.3
)
23.6
16
17
18
19
20
21
Analizador Sintctico (Parser) Toma la tabla de smbolos y mediante el uso de una gramtica, recupera la estructura sintctica de la oracin. Utilizando la siguiente gramtica para analizar la oracin en el ejemplo: <exp> = <const> <exp> = <ident> <exp> = <ident> : = <exp> <exp> = <exp> * <exp> <exp> = <exp> + <exp>
22
<exp> <ident>
<exp> <const>
id1
:=
id2
id3
60
23
24
ID
ID
ID
25
CTE
26
27
28
29
30
31
32
33
34
Facultad de Ingeniera
Escuela Profesional Ingeniera de Sistemas / Informtica
Teora de Lenguajes y Compiladores 2012 - II