Diciamo che sto leggendo una riga da un file:analisi del testo per fare una struttura ad albero dei dati
{Parent{{ChildA}{ChildB}}}
esempio più complesso:
{Parent{{ChildA{ChildC}{ChildD}}{ChildB{ChildE}{ChildF}}}}
Qual è la grammatica usata per costruire un albero .
Qualsiasi nome all'interno delle parentesi {}
è un nodo e se all'interno di tale parentesi ci sono altri nodi (parentesi), tali nodi sono figli.
Sono in grado di analizzare il primo esempio specifico utilizzando un contatore, ma solo per trovare i nomi di testo dei nodi. Come posso analizzare questo in modo che possa determinare quali nodi sono figli l'uno dell'altro? Non riesco a spiegarmi il codice che userò. Ho la sensazione che userò la ricorsione.
Qualsiasi aiuto o consiglio sarebbe apprezzato.
C++ è preferito.
Grazie mille.
Sembra una semplice grammatica senza contesto, quindi è possibile utilizzare qualsiasi numero di strumenti standard per creare un lexer e un parser per questo. –
In che modo? Mi dispiace, sono totalmente nuovo a questo. –
@LearningPython: sei nuovo anche in C++, o relativamente familiare con la lingua? – ildjarn