Ein Token ist ein Teil eines Code-Blocks. Somit lässt sich ein Code, der durch den Parser von Operno gelaufen ist, Stück für Stück analysieren.
Bezeichnungen: token
def b = {
x = a + 2
z += x
}
def t as token(b)
while(t){
out switch(t:type){
#token\indentifer ("IND: " << t:indentifer)
#token\value ("VAL: " << t:value)
#token\operator ("OPO: " << t:operator)
#token\seperator ("SEPERATOR")
}
t++
}
>>> : IND: x
>>> : OPO: =
>>> : IND: a
>>> : OPO: +
>>> : VAL: 2
>>> : SEPERATOR
>>> : IND: z
>>> : OPO: +=
>>> : IND: x
>>> : SEPERATOR
this:next
Gibt das nächste Token zurück.
this:prev
Gibt das vorherige Token zurück.
this:type
Liefert den Typ des Tokens zurück. Die Werte entsrechen folgenden Bezeichnungen:
Bezeichung | Beschreibung |
---|---|
#token\indentifer |
Ein Name eines Objekts |
#token\value |
Literaler Wert |
#token\operator |
Ein Operator |
#token\seperator |
Ein Token, dass für die Trennung von Anweisungen sorgt (, ; ) ] } ) |
#token\control |
Ein Token zur Angabe von Objektpfaden |
#token\keyword |
Schlüsselwort |
this:indentifer
Gibt den Bezeichner als Zeichenkette zurück.
this:value
Gibt den literalen Wert zurück. Die Modifizierung dieses Wertes ist möglich.
this:operator
Gibt den Operator als Zeichenkette zurück.
this:block
Liefert den Block, der mit Klammern umschlossen ist, als block
zurück.
this:method ++
Setzt den jeweiligen Token zum Nächsten. Falls keiner mehr folgt, wird dieser auf "Null" gesetzt.
this:method --
Setzt den jeweiligen Token zum Vorherigen. Falls keiner mehr davor steht, wird dieser auf "Null" gesetzt.