Calculadora

Páginas: 4 (907 palabras) Publicado: 11 de octubre de 2015
LABORATORIO DE PROCESADORES DE LENGUAJE

CURSO 2010-11

Introducción a los generadores de analizadores léxicos y
sintácticos FLEX y BISON:
Implementación de una pequeña calculadora
Objetivo
Con laayuda de FLEX, el generador automático de analizadores léxicos, y BISON, el
generador automático de analizadores sintácticos, implementar una pequeña calculadora
que permita realizar las operacionesaritméticas básicas y las trigonométricas como el
seno y el coseno.

Especificación Léxica
Se han de reconocer los siguientes componentes léxicos definidos como:
TKN_NUM
TKN_ASIGN
TKN_PTOCOMA
TKN_IDTKN_MULT
TKN_DIV
TKN_MAS
TKN_MENOS
TKN_PAA
TKN_PAC
TKN_SEN
TKN_COS

[0-9]+("."[0-9]+)?
"="
";"
[a-zA-z][a-zA-Z0-9]*
"*"
"/"
"+"
"-"
"("
")"
"sen"
"cos"

Especificación Sintáctica
El lenguaje a reconocerviene definido por la siguiente gramática:
Calculadora



id = Expresion ;

Expresion



num |
Expresion + Expresion | Expresion - Expresion |
Expresion * Expresion | Expresion / Expresion |
(Expresion ) | sen ( Expresion ) | cos ( Expresion )

LABORATORIO DE PROCESADORES DE LENGUAJE

CURSO 2010-11

No olvidar establecer las precedencias y asociatividad de los operadores. Los
operadores suma +y resta – tienen igual prioridad y son asociativos por la izquierda.
Los operadores multiplicación * y división / son asociativos por la izquierda, tienen
igual prioridad entre sí y mayor que la delos anteriores.
Se pide:


Implementar el analizador léxico con Flex



Implementar el analizador sintáctico con Bison.



Compilar bison con la opción --verbose y editar el fichero para ver elautómata
LR. ¿Cuántos estados tiene?



Insertar las acciones semánticas necesarias para calcular el valor numérico de la
expresión.



Modificar la gramática para que se puedan reconocer una lista deasignaciones
separadas por el punto y coma ;



Modificar la gramática para incluir el operador potencia (^) y la función raíz
cuadrada (sqrt).

Ejemplo
Ante la siguiente entrada
a =12+2*cos(3.14) ;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Calculo
  • Calculo
  • Calculos
  • Calculo
  • Calculo
  • Calculo
  • Calculo
  • Calculo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS