Вы находитесь на странице: 1из 3

Universidad Tcnica Del Norte. Guamn Vernica, Hernndez Cinthia, Ortega Jefferson.

Anlisis Sintctico y
Anlisis Semntico

Anlisis Sintctico y Anlisis Semntico

Guamn Vernica, Hernndez Cinthia, Ortega Jefferson


vlguamang@utn.edu.ec, cchernandezo@utn.edu.ec, jsortegach@utn.edu.ec.
Universidad Tcnica del Norte

Resumen En este artculo trataremos de continuar con la compilacin. En


conocer cun importante es el anlisis sintctico y resumen, el analizador sintctico efecta
semntico ya que estos nos ayudan a identificar casi todas las operaciones de compilacin,
cules son los tipos de expresiones que
intervienen para que sean compatibles entre s al dando lugar a un mtodo de trabajo
momento de ejecutar un compilador. denominado compilacin dirigida por
Cuando construimos un compilador existe una sintaxis.
estrecha relacin entre el anlisis semntico y la III. MANEJO DE ERRORES
generacin de cdigo intermedio y final podemos SINTCTICOS
decir que es una gua en el proceso del anlisis
semntico por lo que hablaremos que es una Si el compilador tuviera que procesar solo
traduccin que es dirigida por la sintaxis. programas correctos su implementacin
no fuese tan complicada. Algunos errores
ndice de Trminos compilador, Semntico, que se pueden presentar en la
Sintctico. programacin de un compilador pueden
ser los siguientes:
Lxicos, producidos al escribir
I. INTRODUCCIN
mal un identificador o un
La materia de compiladores bsicamente se
enfoca en traductores y los diversos lenguajes operador.
de programacin, dentro de este tema Sintcticos, por una expresin
conoceremos los diferentes analizadores estos aritmtica.
nos ayudaran a determinar la estructura de un Semnticos, por un operador
programa, verificar errores gramaticales
mediante gramticas, bsicamente el aplicado a un operando
analizador sintctico convierte los textos incompatible.
de entrada en rboles Lgicos, procesos recursivos.
De correccin, el programa no
II. ANALIZADOR SINTCTICO realiza lo que se supone que se
El analizador sintctico es el que se deseaba al momento de realizarlo.
encargar de verificar la secuencia de
tokens en base a la gramtica IV. DISEO DE GRAMTICAS
correspondiente al lenguaje fuente Las gramticas son independientes por
determinado, esta es la tarea principal del eso es indispensable definir cuatro
analizador sintctico. En la prctica el elementos que son, axioma inicial que
analizador sintctico es el que se encarga utiliza las variables sintcticas instr para
del proceso de compilacin, de una poder expresar una instruccin, una
manera que las fases van reconociendo las variable expr para indicar la presencia de
gramticas de entradas. expresiones y los elementos terminales y
Tambin informa de los errores no terminales, en la Figura1 se especifica
sintcticos y trata de corregirlos para
Universidad Tcnica Del Norte. Guamn Vernica, Hernndez Cinthia, Ortega Jefferson. Anlisis Sintctico y
Anlisis Semntico

la estructura de una instruccin izquierda cuando aparece tres o ms


condicional. operandos y se calcula de izquierda a
derecha. Si es derecha a izquierda, la
asociatividad es por la derecha. [1].
instr if (expr) instr else instr Por ejemplo, s tenemos 12/4/2, si el
operador / tiene asociatividad por la
Figura1. Estructura condicional
izquierda, primero se opera 12/4 y el
resultado se opera con 2. En este caso
sera 3. Si fuera asociativo por la
izquierda, sera primero 4/2 y luego
V. DIFICULTADES PARA LA 12 operara con el resultado, en este
CREACIN DE GRAMTICAS caso sera 2 [1].
La recursividad
La precedencia
Un lenguaje de programacin permite
crear una amplia gama de programas, es La precedencia de un operador indica el
necesaria una infinita gama de reglas por orden en que se aplicar respecto a los
tal motivo, hay un factor que permite dems operandos en el caso de aplicar
reconocer infinitos lenguajes con un ms de uno. Es decir, si en una regla
nmero infinito de reglas. aplicamos ms de un operador,
Es as que, la recursividad se pronuncia comenzaremos aplicando el de ms
por una o ms reglas no recursivas y precedencia y se terminar por aplicar el
recursivas creando una estructura de de menor precedencia [1].
lenguaje que se pueda aplicar a si misma
varias veces. [1] Para reflejar la precedencia en una
gramtica es recomendado utilizar una
La ambigedad variable para cada operador y ubicarla
cerca del smbolo inicial.
Una gramtica ambigua produce ms de
una derivacin por la izquierda, o ms de
La parentizacin
una derivacin por la derecha como se
muestra en el siguiente ejemplo. [1]: Para incluir parntesis al momento de
E => E+E evaluar las expresiones en una gramtica,
=> id + E se incluye una variable que produzca
=> id +E*E expresiones entre parntesis. Los
=> id+id*E operandos se ponen a la mayor distancia
=> id+id*id posible del smbolo inicial debido a que
tiene la mayor precedencia [1].
E => E*E
=> E+E VI. TIPOS DE ANALISIS
=> id +E*E SINTCTICO
=> id+id*E
=> id+id*id Segn el tipo de rbol sintctico
construido existen dos tipos de
analizadores.
La asociatividad
Analizador Sintctico descendente: este
Este elemento cuando se operan 3 o ms analizador parte desde el axioma inicial, y
operandos, la asociatividad por la va efectuando derivaciones hacia la
Universidad Tcnica Del Norte. Guamn Vernica, Hernndez Cinthia, Ortega Jefferson. Anlisis Sintctico y
Anlisis Semntico

izquierda hasta obtener varias secuencias de cdigo. El analizador est basado en


de derivaciones que reconoce la sentencia una estructura jerrquica la cual es
dada. En la figura 2 se especifica los tipos definida por el analizador sintctico.
de analizadores descendentes. El componente ms importante en un
analizador semntico es la verificacin de
tipos, es decir verificar si cada operador
Con retroceso tienen operandos permitidos por el
lenguaje fuente. [2]

Dentro de compiladores el anlisis lxico


Analizador Sintctico Descendente
Con funciones recursivas y sintctico son sistematizados, mientras
el que analizador semntico tiene
muchas fallas y es por eso que se ve en la
necesidad de darle un significado a la
De gramticas LL(1) gramtica para as poder implementar el
anlisis semntico sobre la gramtica
Figura2. Tipos de analizadores descendentes. establecida.
Analizador Sintctico ascendente: este Mediante la prctica las fases del anlisis
analizador parte de la sentencia de entrada sintctico, semntico y la generacin de
y va aplicado derivaciones inversas, hasta cdigo realizan la misma tarea a la vez
llegar al axioma inicial. En la figura3 se utilizando la misma herramienta para todo
especifica los tipos de analizadores el proceso. [1]
ascendentes.

Con retroceso

Analizador Sintctico Ascendente


I BIBLIOGRAFA
De gramticas LR(1)
[1] J. R. Cataln, Compiladores Teora e
Implementacin, Espaa: Alfaomega, 2010.
Figura3. Tipos de analizadores ascendentes. [2] J. D. U. Alfred V. Aho Ravi Sethi,
VII. ANALIZADOR SEMNTICO Compilers: Principles, Techniques and
Tools, de Compilers: Principles, Techniques
and Tools, Mexico, Addison Wesley
El analizador semntico es el encargado
Iberoamericana, S.A , 1986, pp. 7-8.
de revisar el programa fuente y
determinar si existen errores de semntica
y de esta manera permitir la generacin

Вам также может понравиться