Skip to content

Commit 36ed9fd

Browse files
committed
Usunięcie metody getTokenizer() z Interpreter.java
1 parent 7f87511 commit 36ed9fd

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

src/main/java/pl/koder95/interpreter/Interpreter.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,6 @@ public interface Interpreter<C extends Context, R> {
1212
* @return kontekst używany podczas interpretacji wyrażeń terminalnych
1313
*/
1414
C getContext();
15-
16-
/**
17-
* @return {@link Tokenizer tokenizer} używany przez {@link Parser parser} do budowy drzewa składni
18-
*/
19-
default Tokenizer getTokenizer() {
20-
Parser<C, R> parser = getParser();
21-
return parser == null? null : parser.getTokenizer();
22-
}
2315

2416
/**
2517
* @return {@link Parser parser}, który pobiera tokeny, aby stworzyć drzewo składniowe
@@ -44,12 +36,12 @@ default Tokenizer getTokenizer() {
4436
* @throws SyntaxException w przypadku błędów składniowych w dostarczonych danych
4537
*/
4638
default R interpret(Readable readable) {
47-
Tokenizer tokenizer = getTokenizer();
39+
Parser<C, R> parser = getParser();
40+
if (parser == null) throw new IllegalStateException("Cannot use readable when parser is null", new NullPointerException());
41+
Tokenizer tokenizer = parser.getTokenizer();
4842
ScannerFactory factory = getScannerFactory();
4943
if (tokenizer != null && factory != null) tokenizer.useScanner(factory.create(readable));
5044
else throw new IllegalStateException("Cannot use readable when tokenizer or scanner factory are null", new NullPointerException());
51-
Parser<C, R> parser = getParser();
52-
if (parser == null) throw new IllegalStateException("Cannot use readable when parser is null", new NullPointerException());
5345
TerminalExpression<C, R> ast = parser.buildAbstractSyntaxTree();
5446
return ast.interpret(getContext());
5547
}

0 commit comments

Comments
 (0)