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

Jose Caballero jcaballero.hep en gmail.com
Mie Jul 2 23:52:57 CEST 2014


Si el contenido se puede expresar simplemente como una secuencia de pares  variable=valor (donde valor puede contener espacios en blanco, comas, etc) quizás te valga con ficheros y objetos ConfigParser.
Si no, pues habrá que buscar otra solución.

Saludos,
Jose



On Jul 2, 2014, at 17:27, Juan Luis Cano <juanlu001 en gmail.com> wrote:

> 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?
> 
> 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
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/


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