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