vips.model.ausdruck
Class Scanner

java.lang.Object
  extended by vips.model.ausdruck.Scanner

 class Scanner
extends java.lang.Object

Der Scanner liest aus einem Eingabestring und zerteilt ihn in einzelne Symbole. In dem Eingabestring vorkommende Variablen/Konstanten werden aufgelöst.


Constructor Summary
Scanner(java.lang.String input, BenamterWertSammlung vars)
          Konstruiert einen neuen Scanner mit dem gegebenen Eingabestring und einer Sammlung von Variablen und Konstanten zum Auflösen von Bezeichnern.
 
Method Summary
 Symbol naechstesSymbol()
          Gibt das nächste Symbol zurück oder null, wenn der Scanner am Ende angekommen ist.
 void zurueckLegen(Symbol sym)
          Diese Methode legt ein Symbol zurück.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Scanner

public Scanner(java.lang.String input,
               BenamterWertSammlung vars)
Konstruiert einen neuen Scanner mit dem gegebenen Eingabestring und einer Sammlung von Variablen und Konstanten zum Auflösen von Bezeichnern.

Throws:
java.lang.IllegalArgumentException - Wenn input oder vars null ist
Method Detail

naechstesSymbol

public Symbol naechstesSymbol()
                       throws FehlerhafterAusdruckException
Gibt das nächste Symbol zurück oder null, wenn der Scanner am Ende angekommen ist.
Wenn ein Symbol vorher mit zurueckLegen wieder zurückgelegt wurde, wird das Symbol zurückgegeben.

Throws:
FehlerhafterAusdruckException - Wenn in dem Eingabestring ein Zeichen vorkommt, das der Scanner nicht erkennt (auch Bezeichner)

zurueckLegen

public void zurueckLegen(Symbol sym)
Diese Methode legt ein Symbol zurück.
Beim nächsten Aufruf von getNaechstesSymbol wird dieses dann zurückgelegt. Auf diese Weise kann ein vorrausschauender Parser geschrieben werden.

Throws:
java.lang.IllegalArgumentException - Wenn sym null ist
java.lang.RuntimeException - Wenn bereits ein Symbol zurückgelegt wurde.