Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: Eigener (kleiner) SQL-Parser

  Alt 17. Mär 2007, 23:30
Also, einen 'Screener' kenne ich nicht. Ein 'Sieb' wäre auch ein 'Sieve'.

So, Wortklauberei vorbei.

SQL ist eine Sprache und jede Sprache besteht aus Sätzen, Wörtern und Satzzeichen. Der Scanner zerlegt die Eingabezeichenkette (Satz) erstmal in einzelne 'Wörter' und Satzzeichen. Das macht es dem Parser viel leichter, den Satz zu erkennen.

Nochmal: Der Scanner zerlegt die Zeichenkette in Wörter und der Parser baut diesen Syntaxbaum auf.

Dem Unwissenden würde ich bei der Beurteilung der Parser und Parsergeneratoren widersprechen:
1. Ein selbstgebastelter Parser ist unermesslich wertvoll: Denn er vermittelt dir Kenntnisse, die Du in 20 Jahren Programmierung nicht erhalten wirst. Also: Bau Dir einen!
2. Selbstgebastelte Parser sind, wenn man die Technik kapiert hat, immer unterschiedlich. Es gibt simple precedence und LL(1) Parser, sowie Stackmaschinen, NDE-Automaten etc.
3. Mühsam sind sie, das stimmt.

Ansonsten hat der 'Unwissende, der seinen Namen zu Unrecht trägt', Dir alles wichtige erzählt: Wer gute Parser/Compiler bauen will, der mussdie Theorie beherrschen.

Übrigens gibt es eine sehr schöne Komponente TJanSQL, die SQL auf Textdateien abbildet. Da solltest du fündig werden.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat