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

Juan Luis Cano juanlu001 en gmail.com
Mie Jul 2 23:27:12 CEST 2014


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


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