[pyar] PPPP: Parser de Python en Python Puro

Gustavo Campanelli gedece en gmail.com
Mie Feb 19 19:44:16 ART 2014


2014-02-19 19:37 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:

> Si, hubo varias charlas interesantes en las dos PyCon a las que asisti, y
> yo di unos 10 minutos de PyPy en 2012, dentro de una charla mas grande.
>
> Pero que lindo es hacer tu propio parser! y cuanto se aprende!
>
> No hacerlo porque hay algo ya hecho, es como no hacer el amor porque otro
> ya lo hizo ;-)
>
> Nos leemos!
>
> Angel "Java" Lopez
> @ajlopez
>
>
> 2014-02-19 19:34 GMT-03:00 Gustavo Campanelli <gedece en gmail.com>:
>
> 2014-02-19 17:36 GMT-03:00 Alejandro Santos <listas en alejolp.com>:
>>
>>> 2014-02-19 21:10 GMT+01:00 Angel Java Lopez <ajlopez2000 en gmail.com>:
>>> > Ah, que bueno!
>>> >
>>> > Bien ahi la grammar
>>> >
>>> > No se por que
>>> >>>> grammarparse.splitInAlternatives(list("(A|B)|C"))
>>> >     [['(', 'A', '|', 'B', ')'], ['C']]
>>> >
>>> > no puede ser
>>> >
>>> > [[['A'], ['B']], ['C']]
>>> >
>>> > o directamente
>>> >
>>> > [['A'], ['B'], ['C']]
>>> >
>>> > (si es que entendi bien)
>>> >
>>>
>>> Si, eso mismo. Es un metodo helper, y es cierto que hay varias formas
>>> de hacerlo, pero esta fue la mas fácil que en su momento encontré,
>>> despues recursivamente lo vuelvo a llamar en buildTree.
>>>
>>> Seguramente el Parser de Grammar/Grammar se pueda mejorar (fijate que
>>> hay un monton de codigo comentado). Esta creo que es la version numero
>>> 3 del parser de Grammar.
>>>
>>> Este codigo comentado fue un intento de convertir la gramatica de EBNF
>>> en BNF clasico, para poder usar literalmente los algoritmos del Libro
>>> del Dragón[1].
>>>
>>> [1] http://www.flickr.com/photos/alejolp/6752649715/
>>>
>>> >
>>> > Yo defino la gramatica directamente en codigo (JavaScript) con alguna
>>> > especie de fluent interface
>>> >
>>>
>>> Uno de mis objetivos era usar literalmente el Grammar/Grammar de
>>> CPython, así cuando eventualmente le agregan cosas nuevas al lenguaje
>>> copio y pego el archivo y ya tengo la gramática actualizada.
>>>
>>> > http://github.com/ajlopez/SimpleGrammar
>>> > ej
>>> > https://github.com/ajlopez/RuScript/blob/master/lib/parsers.js#L187
>>> >
>>>
>>> Excelente! Lo voy a mirar
>>>
>>>
>>> --
>>> Alejandro Santos
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>> ¿Escucharon hablar acerca de PyPy?
>>
>>  Gedece
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar


Genial respuesta, gracias.

Ahora tengo Internet neuvamente luego de casi 15 días sin nada, así que
tengo montones de emails y cosas similares para leer y ponerme al día.
Cuando termine volveré a estos emails y miraré el asunto con más detención.

Gedece
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140219/dc59c692/attachment.html>


More information about the pyar mailing list