Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: DLEX und DYACC: SQL bzw PL/SQL Parser ?

  Alt 17. Nov 2008, 09:35
Meine Idee basierte darauf, den Syntaxcheck (ich dachte, darum geht es) vom Server durchführen zu lassen. Sofern es keine kompletten Schemas sind, sondern nur Batches, kannst du das ja in ein 'CREATE PROCEDURE FOO' einbetten und schauen, ob der Server diese SP anlegt. Wenn ja, ist der Code ok, wenn nicht, dann eben nicht. Das wäre die billige Möglichkeit. Du benötigst aber offenbar den Syntax-Baum (is ja auch logisch, sonst bräuchtest Du keinen echten Parser).

Hier sind übrigens Yacc-sourcen für MySQL:
http://dev.personnelware.com/carl/sqlparser/

Zitat von MaBuSE:
...hoffe, das der eigentliche Code nicht so katastrophal programmiert ist.
Wenn das auf YACC basiert, *IST* der Code katastrophal, denn er wurde ja von einem Compilergenerator geschrieben.

Im Ernst, bei YACC ist das ein Standardcode, der von verdammt großen Tabellen (bei Lexer ein NDEA, bei Yacc .. vergessen, riesige Tabellen halt ) gefüttert wird (in den Tabellen steht eben die Syntax).

Was andere Compilergeneratoren mittlerweile so produzieren, weiss ich nicht. Bei einfachen Sprachen könnte man glatt reinen Quellcode ausspucken...

Schade, das man von denen offenbar die Y-Dateien nicht bekommt...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat