java.lang.Object
pl.koder95.interpreter.Tokenizer
Definiuje sposób podziału danych wejściowych na tokeny.
Korzysta ze
źródła znaków, aby dostarczać ciąg odczytywanych znaków.-
Constructor Summary
ConstructorsConstructorDescriptionTworzy nową instancję klasy Tokenizer ustawiając źródło znaków na wartośćnull. -
Method Summary
Modifier and TypeMethodDescriptionenqueue()Tworzy nową kolejkę wyrażeń nieterminalnych (tokenów) i umieszcza w niej odczytane tokeny z wejścia.final Queue<NonTerminalExpression<?>>enqueue(Queue<NonTerminalExpression<?>> queue) Umieszcza w kolejce wszystkie możliwe do odczytania tokeny.protected final ReadableMetoda używana podczas procesu tworzenia tokenów w metodzienext().abstract booleanhasNext()Sprawdza, czy istnieje możliwość pobrania następnego tokenu.abstract NonTerminalExpression<?>next()Przetwarza dane wejściowe i zwraca je w postaciwyrażenia nieterminalnego, czyli tokenu.void
-
Constructor Details
-
Tokenizer
public Tokenizer()Tworzy nową instancję klasy Tokenizer ustawiając źródło znaków na wartośćnull. Dla poprawnego funkcjonowania należy wywołać metodęsetSource(Readable).
-
-
Method Details
-
setSource
- Parameters:
source- źródło znaków wczytywanych podczas procesu tokenizacji
-
getSource
Metoda używana podczas procesu tworzenia tokenów w metodzienext().- Returns:
- zwraca aktualnie ustawione źródło
-
enqueue
Umieszcza w kolejce wszystkie możliwe do odczytania tokeny.- Parameters:
queue- kolejka wyrażeń nieterminalnych (tokenów)- Returns:
queue- Throws:
SyntaxException- w przypadku błędów składniowych w dostarczonych danych
-
enqueue
Tworzy nową kolejkę wyrażeń nieterminalnych (tokenów) i umieszcza w niej odczytane tokeny z wejścia.- Returns:
- nowa instancja kolejki
wyrażeń nieterminalnych (tokenów) - Throws:
SyntaxException- w przypadku błędów składniowych w dostarczonych danych
-
hasNext
public abstract boolean hasNext()Sprawdza, czy istnieje możliwość pobrania następnego tokenu.- Returns:
true– jeśli istnieje następny token,falsew przeciwnym razie
-
next
Przetwarza dane wejściowe i zwraca je w postaciwyrażenia nieterminalnego, czyli tokenu.- Returns:
- token typu
NonTerminalExpression - Throws:
SyntaxException- w przypadku błędów składniowych w dostarczonych danych
-