diff options
Diffstat (limited to 'parser')
| -rw-r--r-- | parser/src/main/java/lv/enes/orang/parser/Parser.java | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/parser/src/main/java/lv/enes/orang/parser/Parser.java b/parser/src/main/java/lv/enes/orang/parser/Parser.java index 9103123..25b57d4 100644 --- a/parser/src/main/java/lv/enes/orang/parser/Parser.java +++ b/parser/src/main/java/lv/enes/orang/parser/Parser.java | |||
| @@ -8,7 +8,6 @@ import lv.enes.orang.lexer.Token; | |||
| 8 | import lv.enes.orang.utils.NonEmptyList; | 8 | import lv.enes.orang.utils.NonEmptyList; |
| 9 | import lv.enes.orang.utils.PeekableStream; | 9 | import lv.enes.orang.utils.PeekableStream; |
| 10 | 10 | ||
| 11 | import java.io.InputStream; | ||
| 12 | import java.io.Reader; | 11 | import java.io.Reader; |
| 13 | import java.util.ArrayList; | 12 | import java.util.ArrayList; |
| 14 | import java.util.Collections; | 13 | import java.util.Collections; |
| @@ -17,35 +16,22 @@ import java.util.List; | |||
| 17 | import java.util.function.Predicate; | 16 | import java.util.function.Predicate; |
| 18 | 17 | ||
| 19 | public class Parser { | 18 | public class Parser { |
| 20 | public static Program parseProgram(InputStream in) throws ParserException { | ||
| 21 | var parser = new Parser(in); | ||
| 22 | return parser.parseProgram(); | ||
| 23 | } | ||
| 24 | |||
| 25 | public static Program parseProgram(Reader in) throws ParserException { | 19 | public static Program parseProgram(Reader in) throws ParserException { |
| 26 | var parser = new Parser(in); | 20 | var parser = new Parser(in); |
| 27 | return parser.parseProgram(); | 21 | return parser.parseProgram(); |
| 28 | } | 22 | } |
| 29 | 23 | ||
| 30 | public static Program parseReplProgram(String in) throws ParserException { | 24 | public static Program parseReplProgram(Reader in) throws ParserException { |
| 31 | var parser = new Parser(in); | 25 | var parser = new Parser(in); |
| 32 | return parser.parseReplProgram(); | 26 | return parser.parseReplProgram(); |
| 33 | } | 27 | } |
| 34 | 28 | ||
| 35 | private final PeekableStream<Token> input; | 29 | private final PeekableStream<Token> input; |
| 36 | 30 | ||
| 37 | public Parser(InputStream in) { | ||
| 38 | this(new Lexer(in)); | ||
| 39 | } | ||
| 40 | |||
| 41 | public Parser(Reader in) { | 31 | public Parser(Reader in) { |
| 42 | this(new Lexer(in)); | 32 | this(new Lexer(in)); |
| 43 | } | 33 | } |
| 44 | 34 | ||
| 45 | public Parser(String in) { | ||
| 46 | this(new Lexer(in)); | ||
| 47 | } | ||
| 48 | |||
| 49 | public Parser(Iterator<Token> input) { | 35 | public Parser(Iterator<Token> input) { |
| 50 | this.input = new PeekableStream<>(input); | 36 | this.input = new PeekableStream<>(input); |
| 51 | } | 37 | } |