import com.kls.ast.ASTGenerator; import com.kls.ast.node.ANodeBase; import com.kls.ast.node.StylesheetNode; import com.kls.parser.KLSLexer; import com.kls.parser.KLSParser; import com.kls.typechecker.Typechecker; import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.tree.ParseTree; import java.io.*; /** * Created by Timon on 02.03.2015. */ public class KLSMain { public static void main(String[] args) { File file = new File("stylesheet.kls"); InputStream is; try { is = new FileInputStream(file); } catch (FileNotFoundException fnf){ System.out.println("File not found!"); return; } ANTLRInputStream input; try { input = new ANTLRInputStream(is); } catch (IOException io){ System.out.println("Error while creating the ANTLR input stream."); return; } KLSLexer lexer = new KLSLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); KLSParser parser = new KLSParser(tokens); ParseTree tree = parser.stylesheet(); ASTGenerator astGenerator = new ASTGenerator(file.toString()); StylesheetNode stylesheetAst = (StylesheetNode) astGenerator.visit(tree); Typechecker typechecker = new Typechecker(); typechecker.visit(stylesheetAst); } }