Digamos que estoy leyendo una línea de un archivo:análisis de texto para crear una estructura de datos de árbol
{Parent{{ChildA}{ChildB}}}
Un ejemplo más complejo:
{Parent{{ChildA{ChildC}{ChildD}}{ChildB{ChildE}{ChildF}}}}
¿Qué es la gramática utilizada para construir un árbol .
Cualquier nombre dentro de {}
paréntesis es un nodo, y si dentro de ese paréntesis hay otros nodos (paréntesis), esos nodos son hijos.
Puedo analizar el primer ejemplo específico usando un contador, pero solo para encontrar los nombres de texto de los nodos. ¿Cómo puedo analizar esto para poder determinar qué nodos son hijos el uno del otro? Parece que no puedo concentrarme en el código que usaría. Tengo la sensación de que usaría la recursión.
Cualquier ayuda o consejo sería apreciado.
Se prefiere C++.
Muchas gracias.
Esto parece una gramática libre de contexto simple, por lo que podría usar cualquier cantidad de herramientas estándar para crear un analizador y un analizador. –
¿Cómo es eso? Lo siento, soy totalmente nuevo en esto. –
@LearningPython: ¿Eres nuevo en C++ también, o estás familiarizado con el idioma? – ildjarn