Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: prometheus48 en 23 Mayo 2012, 20:43 pm



Título: Llamar a una función desde un string
Publicado por: prometheus48 en 23 Mayo 2012, 20:43 pm
Hola,

Me gustaría saber cómo puedo ejecutar una función de forma que si el usuario hace:
print("Hola")
No tenga que decir: if(entrada=="print(..."), sino que la ejecute directamente. Por ejemplo:

------------------
Programa:
>>>print("Hola")
------------------

Entonces la función print se ejecuta con el parámetro "Hola" .

Salu2!



Título: Re: Llamar a una función desde un string
Publicado por: durasno en 23 Mayo 2012, 23:29 pm
Hola! y como sabes si lo que se ingresa es lo correcto o no? si o si tenes q verificar la entrada


Título: Re: Llamar a una función desde un string
Publicado por: icoheed en 24 Mayo 2012, 04:14 am
De una u otra manera tienes que hacer un parser e inmediatamente después tienes que verificar la entrada para validar que sea un "comando" valido.


Título: Re: Llamar a una función desde un string
Publicado por: RyogiShiki en 25 Mayo 2012, 17:19 pm
Quieres saber como funciona por ejemplo un lenguaje como Ruby. Te recomiendo la siguiente charla de Matt Aimonetti quien hace parte del grupo principal de desarrolladores de Ruby:
Qxoc1wrjBuE
Si quieres puedes ir directo al minuto 4, donde empieza lo bueno.

Creo que la parte que más te interesa es la primera:
- Lexer / Tokenizer / Parser

Iba a poner esto en el hilo que te bloquearon, pero igual está relacionado con lo que quieres hacer aquí.

Saludos


Título: Re: Llamar a una función desde un string
Publicado por: prometheus48 en 25 Mayo 2012, 20:57 pm
Gracias me sirvió mucho :D.

Ahora necesito saber como usar Lex y YACC/Bison.
Lo malo es que no hay casi nada de documentación.
Y no entiendo muy bien como usarlo.

Salu2!