Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Parsen eines folgenden Konstruktes
dragi - Mo 27.03.06 10:42
Titel: Parsen eines folgenden Konstruktes
Hallo,
ich benötige dringend Hilfe beim Parsen eines Dokumentes. In diesem Dokument befinden sich folgende Konstrukte:
Einfaches Objekt:
Quelltext
1: 2: 3: 4: 5:
| object NAME: TYP Wert1 = 1 Wert2 = 2 ... end |
Kompliziertes Objekt:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| objekt NAME: TYP objekt NAME: TYP Wert1 = 1 Wert2 = 2 ... end objekt NAME: TYP Wert1 = 1 Wert2 = 2 ... end end |
Das bedeutet das es Objekte gibt, die aus Unterobjekten bestehen. Nun habe ich absolut keine Ahnung wie ich das vernünftig parsen soll. Ich habe schon Klassen die die Objekte und Unterobjekte repräsentieren, mir fehlt aber die reine Parser Logik :(
1. ich finde die Zeile object NAME: Typ
2. Prüfen ob die 2te Zeile leer, ein "=", object oder end enthält
3. ...
Ich weiß einfach nicht was wirklich Sinn macht. Ich habe das File in einem Array, mit einem regulären Ausdruck finde ich das erste object und muß ab jetzt Zeile für Zeile vorgehen, oder?
Ich bin verwirrt und ein nervliches Wrack... :)
Gruß
Dragi
dragi - Mo 27.03.06 11:21
Hmm, es geht bei mir gar nciht um DFM´s aber wenn die ähnlich sind ist es ja von Vorteil :)
Ich schau mir das mal an
Danke
zemy - Di 28.03.06 18:18
Kann man da nicht ein bissel OO betreiben? Hättest dann 2 Typen:
- 1. Das Objekt enthält Werte (einfacher Fall)
- 2. Das Objekt enthält weitere Objekte (komplizierter), die dann entsprechend rekursiv angelegt werden (entweder Typ 1 oder 2)
Der aktuelle Objektcontainer (Typ 2, Toplevel oder intern) Schaut ein paar vorraus, ob als nächstes ein wert= oder einer object kommt. Danach entscheidet sich es, ob es Typ1 oder2 wird...
Hoffe mal, es gibt nichts, was beides hat ;)
Ne alternative währe aber auch, das du durch suchen und ersetzen zu nem Valid-XML kommst und einen von den 10'000 Parsern nimmst^^ Das währe die gemeine Methode mit der Brechstange...
MfG
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!