[Python-es] Consulta sobre crear un lenguaje de etiquetas

Adrián Espinosa Moreno aespinosamoreno en gmail.com
Jue Jul 3 19:10:22 CEST 2014


Yo apoyo la opción de utilizar YAML, no sé si cumple todos los requisitos
que necesitas, ya que tampoco lo he utilizado mucho, pero lo poco que lo he
utilizado lo veo sencillo de usar y muy útil.



--
Adrián Espinosa Moreno
Software Developer.
http://www.adrianespinosa.com


2014-07-03 11:53 GMT+02:00 Chema Cortes <pych3m4 en gmail.com>:

> El 2 de julio de 2014, 23:27, Juan Luis Cano <juanlu001 en gmail.com>
> escribió:
>
> Hola a todos, como no sé mucho sobre conceptos teóricos de programación me
>> gustaría hacer una consulta a la lista a ver si alguien me puede ayudar.
>>
>> Necesito crear un lenguaje de etiquetas para que el usuario pueda
>> escribir una especie de «plantilla» con él y que el programa extraiga una
>> información de él y genere unos datos. A grandes rasgos algo así:
>>
>> [TITULO]
>> Aquí va el título, bla bla
>>
>> [META1]
>> Más información
>>
>> [BLOQUE1]
>>
>> [PARAM1][XX,00-10,99]
>>
>> [FIN_BLOQUE1]
>>
>> Mi primera aproximación ha sido ir «parseando» el archivo caracter a
>> caracter, porque el programa no sabe lo que va a leer. Abro corchete [,
>> cierro corchete ], si encuentro texto entonces hago esto, si no lo otro...
>> Sin embargo me figuro que a medida que el lenguaje crezca en complejidad
>> puedo verme en serios problemas, y además entiendo que este proceso no es
>> nuevo.
>>
>> ¿Pensáis que para este tipo de cosas es mejor utilizar algo tipo
>> pyparsing o PLY? ¿O tal vez tratar de traducir esto a un lenguaje de marcas
>> ya conocido como XML y utilizar herramientas ya disponibles para ello?
>> ¿Podría limitarme a expresiones regulares o necesitaría una gramática libre
>> de contexto?
>>
>>
> Parece que necesitas un "lenguaje de marcas" para parametrizar una
> aplicación. Lo normal sería usar XML ó JSON/YAML, pero no sé qué grado de
> complicación esperas que pase. JSON es bastante fácil y directo de usar y
> siempre puedes pasar a YAML si requieres tipos de datos más específicos y
> complicados. Por otro lado, XML tiene herramientas de procesado semántico y
> numerosos estándares de integración que lo hacen más compatible con otras
> aplicaciones.
>
> Si la complejidad viene desde la necesidad de ser más "expresivo", la
> solución pasa por crearte un DSL. Con python no es tarea imposible, pero
> hay otros lenguajes que se prestan más a ello como son lua, ruby o scala
> (por decir unos pocos similares a python). Lua es bastante flexible para
> esta tarea y es sencillo empotrarlo a través del módulo Lupa para python.
>
> Es mejor que el usuario "colabore" y escriba la información lo más fácil
> posible (eg: ConfigParser). Lo que sí que te recomiendo es que evites crear
> un lenguaje nuevo. Es mucho trabajo y complicas más tu problema que lo que
> se simplifica.
>
>
>
>
>> Espero haberme explicado bien, me temo que no puedo dar muchos detalles o
>> ejemplos concretos. Si tengo que contar algo un poco mejor haré lo que
>> pueda.
>>
>> Un saludo y gracias de antemano
>>
>> Juanlu
>>
>
>
> --
> Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
> http://ch3m4.org/blog
> Buscador Python Hispano: http://ch3m4.org/python-es
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140703/a16db574/attachment.html>


Más información sobre la lista de distribución Python-es