AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StackReturn

Ein Thema von stahli · begonnen am 26. Feb 2021 · letzter Beitrag vom 1. Mär 2021
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: StackReturn

  Alt 27. Feb 2021, 23:12
Wenn ich aber XML parsen muss, habe ich nicht viel gewonnen.

Im Prinzip habe ich Schlüsselwörter definiert und zu jedem Schlüsselwort ein Parse-Objekt.
Das prüft dann alles ab, in welchem Kontext es steht, ob es sich für irgend etwas überhaupt zuständig fühlt, wie es seinen Inhalt formatieren muss usw.

Zunächst wird eine Stringlist in einzelne Wörter zerlegt und diese werden in einer Liste gesammelt.
Dann starte ich das Parsing von einem TUnitFile-Objekt aus, dem die Liste mit Startpunkt 0 übergeben wird.
Der Rest geht dann automatisch. Ich muss halt die Regeln nur in den Parsing-Klassen verpacken.

Worte, die keinem Schlüsselwort entsprechen oder im Kontext nicht passen, bleiben einfacher Text.
Ob der Code insgesamt konkret gültig ist, muss ich ja nicht prüfen. Mich interessieren nur einige Teile und z.B. ob Begin-End-Blöcke korrekt aufgehen.

Das heißt, neue Sprachfeatures sollten i.d.R. unschädlich bzw. in einfacher Weise noch nachträglich zu berücksichtigen sein.
Ich war ja schon sehr weit, will aber jetzt nochmal ein paar Dinge optimieren.

Im Bild sieht man unter dem Mauszeiger eine erkannte Interface-Deklaration.(Man sieht, dass das "end;" dann auch wieder als eigenständige Anweisung erkannt wurde.)
Aus dem "prop" wird jetzt als nächstes ein komplettes Property mit Getter und Setter erzeugt.
Macht richtig Spaß jetzt.
Angehängte Grafiken
Dateityp: png 27-02-_2021_23-55-54.png (11,1 KB, 18x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz