Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Variablen Interpolation in Delphi

  Alt 10. Dez 2003, 09:56
Hallo GeorgeWNewbie,

der Einsatz einer kontextfreien Grammatik scheint mir für das blose Auffinden der Textpassagen etwas übertrieben, der reguläre Ausdruck für die von mir oben beschriebene Syntax inkl Arrays mit Zahlen als Indizes lautet schlicht
Code:
\$(\w+)(\[(\d+)\])?
und kann dank eines Wrappers mit Referenzzählung in einer einfachen Schleife der Form
Delphi-Quellcode:
with RegExp('\$(\w+)(\[(\d+)\])?') do
  if Execute(AnInput) do
  repeat
    DoSthWidth(AnInput, MatchPos[0], MatchLen[0]);
  until not ExecuteNext;
angewendet werden...

Das Problem mit den benannten Identifiern ist damit aber nach wie vor nicht gelöst. Ich müsste einen entsprechenden Container selbst verwalten (zuvor jedoch eine geeignete Lösung zur Erzeugung dieser Information erarbeiten), die Bezeichnungen parsen...

Trotzdem, Danke! Wenn Du Dich für Grammatiken und Parsern für Delphi interssierst, ist vielleicht der GOLD parser eine gute Lösung...
gruß, choose
  Mit Zitat antworten Zitat