<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;color:#000000">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.</div>

</div><div class="gmail_extra"><br clear="all"><div><div><br></div>.:-:ChiCkENURiNE:-:.<div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>

</div>
<br><br><div class="gmail_quote">2014/1/17 Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    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.<br>
    <br>
    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??)<br>
    <br>
    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.<br>
    <br>
    Sigo pensando, y creo que necesito definir mejor mi problema y que
    espero de la solución también.<br>
    <br>
    Salutes acalorados,<br>
    <br>
    ~Carlos<div><div class="h5"><br>
    <br>
    <div>On 1/16/14, 6:22 PM, Chicken Urine
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_default">Te estás metiendo en un
          terreno complicado. PLY es una implementación de Lex y Yacc
          para Python.</div>
        <div class="gmail_default">
          Espero que te sientas cómodo con gramáticas y lenguajes.</div>
        <div class="gmail_default"><br>
        </div>
        <div class="gmail_default"><font color="#000000" face="courier
            new, monospace"><a href="http://www.dabeaz.com/ply/" target="_blank">http://www.dabeaz.com/ply/</a></font><br>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div><br>
          </div>
          .:-:ChiCkENURiNE:-:.
          <div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>
        </div>
        <br>
        <br>
        <div class="gmail_quote">2014/1/16 Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            Hola,<br>
            <br>
            tengo la siguiente necesidad/problema. Hace unos meses vengo<br>
            desarrollando una aplicación en python para sacar diferentes<br>
            estadísticas de adopción de tecnologías en Internet (ipv6,
            rpki) , el<br>
            código está en github [1], lo pueden ver alli.<br>
            <br>
            Dentro de ellas, me hice una especie de 'shell' usando el
            modulo cmd.Cmd<br>
            que me permite dar comandos a la aplicación. Si bien lo hice
            medio como<br>
            prueba de concepto, fue un hit, y ahora es lo mas usado.<br>
            <br>
            Por ahora el shell lo unico que hace es procesar lineas de
            texto una a<br>
            una, y en realidad soporta un unico comando 'util' que es
            una especie de<br>
            SELECT de SQL que se corre contra un sqlite3 que está en
            RAM.<br>
            <br>
            Como los usuarios nunca estan conformes, ahora me planteo la
            siguiente<br>
            vuelta de tuerca, que es tener una especie de lenguaje de
            programacion<br>
            liviano asociado a ese shell.<br>
            <br>
            Ejemplo: Hoy tuve que sacar historicos de asignaciones IPv6
            por pais y<br>
            por año. Lo hice medio a lo bruto, asi (pseudocodigo, los
            selects son un<br>
            poco mas complejos):<br>
            <br>
            select ipv6 where date in 2013<br>
            select ipv6 where date in 2012<br>
            select ipv6 where date in 2011<br>
            select ipv6 where date in 2010<br>
            ...<br>
            <br>
            y lo que me gustaria poder escribir es algo como:<br>
            <br>
            for y in [2010,2011,2012,2013]<br>
            select ipv6 where date in $y<br>
            <br>
            Cualquier idea será apreciada!<br>
            <br>
            s2<br>
            <br>
            ~Carlos<br>
            <br>
            [1] <a href="https://github.com/carlosm3011/rir-stats-tools" target="_blank">https://github.com/carlosm3011/rir-stats-tools</a><br>
            _______________________________________________<br>
            Uylug-programming mailing list<br>
            <a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a><br>
            <a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a><br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Uylug-programming mailing list
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
Uylug-programming mailing list<br>
<a href="mailto:Uylug-programming@listas.uylug.org.uy">Uylug-programming@listas.uylug.org.uy</a><br>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a><br>
<br></blockquote></div><br></div>