PDA

Ver la Versión Completa : Componente analizador matemático recursivo descendente, ¿dónde?


Casimiro Notevi
27-09-2011, 18:52:36
Creo que se llama así, analizador descendente recursivo de expresiones.
Necesito un componente al que pasarle, por ejemplo: 3*((2-15)+(4-2))/8
y que devuelva el resultado (el resultado correcto, a ser posible :)).

Tengo un libro de Herbert Schildt, sobre lenguaje C, (con su libro el lenguaje C me pareció lo más fácil del mundo :)) y viene un ejemplo en C, pero tendría que pasarlo a delphi, además de crear un componente.

La pregunta es si conocéis alguno ya implementado que sea bueno, bonito, barato, que ocupe poquito, que sea libre y gratis :D

EDITO: También me vale una función, sin componente :)

oscarac
27-09-2011, 19:01:24
recuerdo tener algo de eso en mi casa..
porque estaba haciendo un sistema para una vidrieria y necesitaba colocar formulas
apenas lo tenga te comunico

roman
27-09-2011, 19:15:44
¡Vaya con el nombrecito! Alguna vez se ha mencionado en los foros el TJVInterpreter de la biblioteca JEDI, pero, eso sí, no sé si sea recursivo y descendente :eek:

// Saludos

Casimiro Notevi
27-09-2011, 19:24:46
Con tal de que funcione, que le pongan el nombre que quieran :)

Al González
27-09-2011, 20:17:53
Hola Casi, tengo algo así en una antigua aplicación. Lo desarrollamos en Delphi un amigo y yo como parte integral de la misma, allá por el año 2000. Sería cuestión de separar la parte que necesitas del resto (algo que debí hacer desde el principio).

Pero viendo que hoy día hay varias alternativas, como la que menciona Román, quizá no valga la pena ponerme a hacer trabajo de arqueología. De cualquier manera, si llegas a necesitarlo (y puedes esperar a que lo desempolve y lo deje funcional), con gusto te lo paso.

Saludos.

Al. :)

Casimiro Notevi
27-09-2011, 20:22:05
Gracias, Al, voy a probar las soluciones de oscarac y Román, si salgo del paso con eso, ojalá, entonces no hará falta que vayas en busca del pico y la pala :)

Gracias por el ofrecimiento y gracias a todos :)

cloayza
27-09-2011, 21:42:35
Yo utilizo un componente que hace mucho encontre, no recuerdo donde se llama TCalcExpress

Es bastante bueno sencillo.

Lo subi al ftp del Club...por favor ubiquenlo en la carpeta correspondiente ya que no me fije al subirlo...

Gracias

Casimiro Notevi
27-09-2011, 21:48:01
Ya lo moví a delphi->componentes
Gracias.

roman
27-09-2011, 21:58:39
Aquí (http://www.aidaim.com/products/delphi.php#CalcExpress), el autor del componente.

// Saludos

Casimiro Notevi
27-09-2011, 22:12:26
También es pequeñita.
La de los componentes Jedi ni la he mirado porque no quiero instalar tropecientos componentes para usar sólo uno.

fjcg02
28-09-2011, 08:58:50
Si no recuerdo mal, ( ahora no puedo mirar ) en la contabilidad completa que está en el ftp hay una unidad que resuelve expresiones regulares. Yo la utilicé en un proyecto, y creo recordar que tragaba con estos temas.

Si tienes tiempo, podrías echarle un vistazo.

Saludos

fjcg02
28-09-2011, 09:06:53
Lo he encontrado, hay que instanciar el objeto con la fórmula, y pasarle las variables como parámetros.

A ver si tienes suerte y te vale.

Saludos

newtron
28-09-2011, 10:01:42
Hola.

De mis proyectos he extraido esto, a ver si te mola/funciona.

Saludos

Casimiro Notevi
28-09-2011, 10:28:46
Vaya, voy a tener que elegir entre un montón, ahora toca hacer pruebecitas con ellos, a ver cual es el afortunado :)

¡¡¡Gracias a todos!!! :)


.

newtron
28-09-2011, 11:08:06
Vaya, voy a tener que elegir entre un montón, ahora toca hacer pruebecitas con ellos, a ver cual es el afortunado :).


Pues si quieres bailar con la más fea ya sabes. :p

Casimiro Notevi
28-09-2011, 12:08:58
Pues si quieres bailar con la más fea ya sabes. :p

Lo importante es lo de dentro :D

Delphius
29-09-2011, 06:12:56
Vaya amigo... que te complicaste demasiado con el nombre. :D
¿No es más fácil decir directamente pedir algo que implemente el algoritmo Notación Polaca Inversa (http://es.wikipedia.org/wiki/Notaci%C3%B3n_postfija) o Notación Postfija o RNP y resuelva dicha expresión? ;)

Saludos,

Casimiro Notevi
29-09-2011, 09:42:23
Vaya amigo... que te complicaste demasiado con el nombre. :D ¿No es más fácil decir directamente pedir algo que implemente el algoritmo Notación Polaca Inversa (http://es.wikipedia.org/wiki/Notaci%C3%B3n_postfija) o Notación Postfija o RNP y resuelva dicha expresión? ;) Saludos,

Lo hice para llamar la atención :D:D:D

(Es broma :))


.