package nl.uva.softwcons.qls; import java.io.IOException; import java.io.InputStream; import nl.uva.softwcons.generated.QLSLexer; import nl.uva.softwcons.generated.QLSParser; import nl.uva.softwcons.qls.ast.ASTBuilderQLS; import nl.uva.softwcons.qls.ast.stylesheet.Stylesheet; import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.tree.ParseTree; public final class StylesheetBuilder { private StylesheetBuilder() { } public static Stylesheet build(final String input) { return parseStylesheet(new ANTLRInputStream(input)); } public static Stylesheet build(final InputStream input) throws IOException { return parseStylesheet(new ANTLRInputStream(input)); } private static Stylesheet parseStylesheet(final ANTLRInputStream input) { final QLSLexer lexer = new QLSLexer(input); final QLSParser parser = new QLSParser(new CommonTokenStream(lexer)); final ParseTree tree = parser.stylesheet(); return (Stylesheet) new ASTBuilderQLS().visit(tree); } }