[uylug-programming] Un interprete simple para embeber en una aplicacion python

Carlos M. Martinez carlosmarcelomartinez at gmail.com
Fri Jan 17 10:34:24 PST 2014


Gracias Chicken por el link. No soy para nada experto pero algo puedo
llegar a entender de lex y yacc, pero en realidad lo mio va mas por otro
lado, estoy a la busqueda de un interprete simple, pero ya completo, que
se pueda embeber dentro de un python.

Quizas haya una manera de embeber python en python, no lo se. Algo como
usar eval() pero que en el bloque que le paso al eval() hubieran algunos
comandos definidos por mi. En FING en una epoca habian experimentado con
embeber Lua en otras aplicaciones (Martin G estas por ahi??)

Una idea que se me ocurria hoy, es que una manera facil de lograr una
parte de lo que busco seria usar un motor de templates, que me expanda
el for... de mi ejemplo a una lista de selects individuales. Medio
trucho parece, pero funcionaría.

Sigo pensando, y creo que necesito definir mejor mi problema y que
espero de la solución también.

Salutes acalorados,

~Carlos

On 1/16/14, 6:22 PM, Chicken Urine wrote:
> Te estás metiendo en un terreno complicado. PLY es una implementación
> de Lex y Yacc para Python.
> Espero que te sientas cómodo con gramáticas y lenguajes.
>
> http://www.dabeaz.com/ply/
>
>
> .:-:ChiCkENURiNE:-:.
> + El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.
>
>
> 2014/1/16 Carlos M. Martinez <carlosmarcelomartinez at gmail.com
> <mailto:carlosmarcelomartinez at gmail.com>>
>
>     Hola,
>
>     tengo la siguiente necesidad/problema. Hace unos meses vengo
>     desarrollando una aplicación en python para sacar diferentes
>     estadísticas de adopción de tecnologías en Internet (ipv6, rpki) , el
>     código está en github [1], lo pueden ver alli.
>
>     Dentro de ellas, me hice una especie de 'shell' usando el modulo
>     cmd.Cmd
>     que me permite dar comandos a la aplicación. Si bien lo hice medio
>     como
>     prueba de concepto, fue un hit, y ahora es lo mas usado.
>
>     Por ahora el shell lo unico que hace es procesar lineas de texto una a
>     una, y en realidad soporta un unico comando 'util' que es una
>     especie de
>     SELECT de SQL que se corre contra un sqlite3 que está en RAM.
>
>     Como los usuarios nunca estan conformes, ahora me planteo la siguiente
>     vuelta de tuerca, que es tener una especie de lenguaje de programacion
>     liviano asociado a ese shell.
>
>     Ejemplo: Hoy tuve que sacar historicos de asignaciones IPv6 por pais y
>     por año. Lo hice medio a lo bruto, asi (pseudocodigo, los selects
>     son un
>     poco mas complejos):
>
>     select ipv6 where date in 2013
>     select ipv6 where date in 2012
>     select ipv6 where date in 2011
>     select ipv6 where date in 2010
>     ...
>
>     y lo que me gustaria poder escribir es algo como:
>
>     for y in [2010,2011,2012,2013]
>     select ipv6 where date in $y
>
>     Cualquier idea será apreciada!
>
>     s2
>
>     ~Carlos
>
>     [1] https://github.com/carlosm3011/rir-stats-tools
>     _______________________________________________
>     Uylug-programming mailing list
>     Uylug-programming at listas.uylug.org.uy
>     <mailto:Uylug-programming at listas.uylug.org.uy>
>     http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>
>
>
>
> _______________________________________________
> Uylug-programming mailing list
> Uylug-programming at listas.uylug.org.uy
> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.uylug.org.uy/pipermail/uylug-programming-uylug.org.uy/attachments/20140117/69ad3dfd/attachment-0005.htm>


More information about the Uylug-programming mailing list