Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Operaciones Matematicas Mediante Strings

Iniciado por zupervaca, 16 de Mayo de 2006, 09:33:08 AM

« anterior - próximo »

zupervaca

 Hola me gustaria saber si conoceis algun tutorial, pagina web o lo que sea que trate sobre como desarrollar un interprete de operaciones de matracas mediante strings, es decir que sea capaz de calcular esto: "4+4" o "6*3+7/(5+3)", etc. se que hay generadores de codigo que como el bison (me parece que se llama asi) que permite crear esto mediante un estandar, pero me gustaria saber mas la logica que se ha de seguir para implementar uno propio.

Flint

 No sé si lo que quieres es exactamente un parser de expresiones matemáticas, pero aquí hay uno en C++ que parece bastante interesante:

http://www.eleves.ens.fr/home/ollivier/mat...b/mathexpr.html


El link es resultado de la búsqueda en Google de mathematical parser, por si quieres ver otras alternativas.

Vicente

 En .NET lo suyo es que coges el string, creas una clase y lo compilas usando CodeDom y Reflection.Emit. Así el que se encarga del trabajo es el compilador y no tu ;)

Un saludo!

Vicente

Ruben

 Hi,
lo que puedes hacer tambien es usar un generador de analizadores lexicos (por ejemplo, flex) y un generador de analizadores sintacticos(por ejemplo, bison).

En esta web podras encontrar transparencias que te ayudan a primero construir una calculadora y despues un compilador de un lenguaje muy sencillito.

Lo suyo es que te crees tu diccionario para el analizador lexico y una gramatica para el sintactico. Asocias acciones para las reducciones de la gramatica en el analizador lexico. Y luego coges los ficheros generados y los incluyes en tu proyecto.

Un saludo,
Rubén


Buffon

 Te puedes crear tu un arbol binario en el que cada nodo es un símbolo de operación "*,+,-,/" y cada nodo hoja es un valor.

Luego recorres el arbol y calculas el resultado.

Fue una práctica de primero de mi carrera, cuando la gente no sabía que era programar, y se hace relativamente rápido ;)

zupervaca

 Gracias buffon, realmente lo que estoy buscando es cosas como la que indicas, diferentes formas de llevarlo a cabo y entre todas ver cuala se adapta mas a mis necesidades o mezclar varias de las ideas para sacar una.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.