Einzelnen Beitrag anzeigen

Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Dokumentation für Parser aus Delphi VCL?

  Alt 28. Jan 2010, 20:28
Sprachen sind ein recht komplexes Thema, eben den Parser (oft auch Scanner genannt) musst du noch eine Grammatik aufbauen. Das lässt sich gut durch aufbauen eines Syntaxbaum erreichen.
Als Beispiel nehm ich jetzt Folgende Gramatik:
Code:
funktion : 'funktion' <whitespace> <bezeichner> '(' <parameters> ')'
parameters: ( <bezeichner> ':' <bezeichner> ',' <parameters> ) | <bezeichner> ':' <bezeichner> | 'void'
bezeichner: ('a'...'z')*
Gegeben sei folgende Eingabe:
Code:
funktion    dosomething(a:int,b:float)
Der Scanner liefert dann folgendes
Code:
keyword('funktion')
whitespace('     ')
bezeichner('dosomething')
klammerauf()
...
klammerzu()
Daraus kannst du dann den Syntaxbaum aufbauen. Ich merke gerade das ich noch jede Menge schreiben müsste um das Beispiel zu beenden. Am besten suchst du im Internet nach folgenden Begriffen:

http://de.wikipedia.org/wiki/Syntaxbaum
http://de.wikipedia.org/wiki/Formale_Grammatik

Edit: Um noch mal auf deine Eigentlich Frage zurüchk zukommen, in der VCL ist mit keine solche Klasse bekannt, in Java gibt es jedoch eine Scanner Klasse java.util.Scanner, das xtext Projekt bietet sogar die Möglichkeit aus einer Grammatik einen Interpreter samt IDE! zu erstellen.

Gruß Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat