SoloCodigo
Programación Web y Scripting => Perl => Mensaje iniciado por: mariovas en Martes 18 de Mayo de 2010, 06:22
-
hola.... bueno tengo que hacer un proyecto que evalue operaciones como esta
(2-1)*(3*3) pero la verdad no tengo la menor idea de como empesar ya que busque en google y e encotrado algo como esto:
h t t p://nereida.deioc.ull.es/~pl/perlexamples/node131.html (http://p://nereida.deioc.ull.es/~pl/perlexamples/node131.html" onclick="window.open(this.href);return false;)
h t t p://nereida.deioc.ull.es/~pl/perlexamples/node41.html (http://p://nereida.deioc.ull.es/~pl/perlexamples/node41.html" onclick="window.open(this.href);return false;)
pero no entendi nada :'(
agradecira mucho su ayuda si me podria guiar a como comenzar este proyecto ya que lo unico que e logrado compreden es que lo tenque que poner de esta forma para poder evaluarlo
21-33*+ pero no se como lograrlo o no se si voy en lo correcto de antemano gracias por su ayuda.
-
Los links que haz puesto usan un modulo (Parse::RecDescent) que hace de procesador sintactico, el segundo usa expresiones regulares con "codigo embebido".
Lo mejor es que ignores esos codigos ya que, al menos el segundo, incluye variables especiales (como $^N) y tiene una forma de trabajar que es dificil (parece sacado de un Perl Golf) lo mejor es que lo hagas todo desde cero.
La pregunta es... tienes que calcular valores o analizar expresiones?
Si solo tienes que calcular valores, te basta la funcion eval (http://perldoc.perl.org/functions/eval.html)