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

Chicken Urine chickenurine at gmail.com
Fri Jan 17 10:41:01 PST 2014


Usar un lexer es lo ideal si vas a definir un lenguaje/gramática, pero
podés ver de buscar algo alternativo (casero) que te de los mismos
resultados.


.:-:ChiCkENURiNE:-:.
+ El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.


2014/1/17 Carlos M. Martinez <carlosmarcelomartinez at gmail.com>

>  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>
>
>> 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
>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>
>
>
>
> _______________________________________________
> Uylug-programming mailing listUylug-programming at listas.uylug.org.uyhttp://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/3d891d20/attachment-0005.htm>


More information about the Uylug-programming mailing list