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!
Hola! y como sabes si lo que se ingresa es lo correcto o no? si o si tenes q verificar la entrada
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.
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:
[youtube=820,480]http://www.youtube.com/watch?v=Qxoc1wrjBuE&list[/youtube]
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
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!