Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi PL/SQL: parsen von variablen & typen (https://www.delphipraxis.net/11984-pl-sql-parsen-von-variablen-typen.html)

Robert_G 18. Nov 2003 11:45


PL/SQL: parsen von variablen & typen
 
Hi,
ich würde gerne sämtliche Variablen und Typen in einen Stück PL/SQL code erkennen und in getrennte arrays schreiben.
Einen für die variablen - mit typ und einen für die typen.
Bei einem Record wäre es nett, wenn ich auch noch eine Liste der Felder bekommen könnte.
Das ganze sieht ungefähr so aus:
SQL-Code:
type date_rec is RECORD
 (DT  date,
  DTc Varchar2(8));

act_VDat DATE_REC;

TYPE ae_tab_type IS TABLE OF bn_08.AE_update%ROWTYPE
  INDEX BY BINARY_INTEGER;
ae_tab AE_TAB_TYPE;
BlaBla NUMBER(2);
Vielleicht hat einer von euch sowas schon mal gemacht. :hi:

Zweck: Ich möchte einen query-builder schreiben in dem man auch die verfügbaren Variablen aufgelistet bekommt und ACCESS-like mit den Spalten einer Tabelle verknüpfen kann.

Robert_G 18. Nov 2003 12:02

Re: PL/SQL: parsen von variablen & typen
 
vergessen als offen frage zu speichern :oops:

MrSpock 18. Nov 2003 20:16

Re: PL/SQL: parsen von variablen & typen
 
Hallo GeorgeWNewbie,

so etwas nennt man Parsen, einen String in seine Bestandteile zu zerlegen. Was du dazu benötigst, ist eine formale Sprache, die alle syntaktisch korrekten Strings erzeugen kann. Für Records könnte eine Regel wie folgt aussehen:

typdekla = type identifier record felddef
felddef = (felder);
felder = identifier fieldtype, felder

usw.

dann kannst du einen String wortweise lesen und die zugehörige Regel finden. So findest du dann alle identifier. Tja, um so komplizierter die Regeln, desto größer ist der Aufwand.

Robert_G 18. Nov 2003 20:43

Re: PL/SQL: parsen von variablen & typen
 
Gibt es in Delphi dafür irgendwelche Funktionen oder muss ich zu einer kontextfreien (oder wie das heißt :gruebel: ) Grammatik greifen?

MrSpock 18. Nov 2003 21:13

Re: PL/SQL: parsen von variablen & typen
 
Hallo GeorgeWNewbie,

nein, dazu gibt es keine Befehle in Delphi. Du musst tatsächlich die Syntax selbst in einem Regelsystem beschreiben. Je nach Anforderung könnte es eine abgespeckte Syntax sein. Häufig ist in der Hilfe deiner Datenbank die Syntax in diesen Regeln beschrieben. Aber nicht erschrecken! Der Umfang ist sehr groß. Es kann aber durchaus sein, dass es da bereits Komponenten oder Tools gibt. Ich selbst kenne jedoch keine.

Robert_G 18. Nov 2003 21:27

Re: PL/SQL: parsen von variablen & typen
 
Thx Spock,
Ich habe dieses Package gefunden und gleich installiert.
Es liefert eine Komponente in der man BNF-Grammatiken erstellen kann.
Man hat sogar zur Laufzeit Zugriff auf den Editor und der hat auch noch einen Debugger!!!

Ach so - das genialste es ist freeware und hat eine ausführlliche Hilfe dabei.

So, jetzt muss ich mich erstmal mit Terminals & Co. auseinandersetzen.

Robert_G 26. Nov 2003 20:42

Re: PL/SQL: parsen von variablen & typen
 
Ich komme in den nächsten 2 Wochen nicht mehr dazu, an diesem Projekt zu schreiben.
Deshalb entferne ich mal das flag "offene Frage".

Wenn ich es fertig habe werde ich aber meine Lösung hier posten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz