![]() |
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:
Vielleicht hat einer von euch sowas schon mal gemacht. :hi:
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); 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. |
Re: PL/SQL: parsen von variablen & typen
vergessen als offen frage zu speichern :oops:
|
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. |
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?
|
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. |
Re: PL/SQL: parsen von variablen & typen
Thx Spock,
Ich habe ![]() 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. |
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 04: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