Inicio > compiladores > Analizador lexico, sintactico, semantico de calculadora

Analizador lexico, sintactico, semantico de calculadora

Analizador Léxico.

Es un programa que recibe como entrada el codigo fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens (componentes lexicos o simbolos). Estos tokens sirve para una posterior etapa del proceso de traduccion, siendo la entrada para le analizador sintáctico.

TOKENS LEXEMA
numeros [0-9]
abre_parentesis (
cierre_parentesis )
opera_suma +
opera_resta
opera_multi *
opera_division /
potencia ˄
asignacion =
Punto


Analizador Sintactico

analisis sintactico es una de las partes de un compilador que transforma su entrada en un arbol de derivacion.

El analizador sintactico convierte el texto en otras estructuras comunmente arboles, que son mas utilies para el posterior analisis, y captura la jerarquia implicita de la entrada. En este los que son procesados son los tokens para construir la estructura de datos por ejemplo un arbol de analisis o arboles de sintaxis abstracta.

Definición de la gramática:

G={VT,VN,S,R}

  • VT= Valores Terminales
  • VN= Valores no Terminales
  • S= inicio
  • R= Reglas

Ejemplo: (5-8/2˄2+3π)

  • VT= {(,),+,-,*,/,˄,ᴇ,.,=, num}
  • VN={EXP, DIV, B,A,C AP,CP,}
  • S= EXP

Reglas

S=EXP

  • EXP= AP EXP+A  π CP CP | DIV
  • DIV=DIV-B | DIV-B|num
  • B=DIV/C|num
  • C=B˄B

árbol

Analizador Semántico

Se compone de un conjunto de rutinas independientes, utiliza como entrada el árbol sintáctico, para comprobar restricciones de tipo y otras limitaciones semánticas y preparar la generación de código. El análisis dirigido por la sintaxis utiliza una gramática independiente del contexto para especificar la estructura sintáctica de la entrada.  A cada símbolo de la gramática le asocia un conjunto de atributos y a cada producción, un conjunto de reglas semánticas para calcular los valores de los atributos asociados con los símbolos que aparecen en esa producción. La gramática y el conjunto de reglas semánticas constituye la definición dirigida por sintaxis.

PRODUCCIÓN REGLA SEMANTICA
S= EXP PRINT(EXP.val)
EXP=EXP+A(π) EXP.val=EXP.val+A.val(π)
EXP=DIV EXP.val=DIV.val
DIV= DIV-B DIV.val – B.val
DIV=B DIV.val=B.val
B=num B.val=num.valex
B=DIV/C B.val= DIV.val/C.val
C= B ˄ B C.val= B.val ˄ B.val


 

árbol

 

  1. Villa
    agosto 30, 2013 a las 2:34 pm

    Buen aporte, gracias me sacaste de una buena duda antes de mi examen…

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: