/* ********************************************** * Duale Hochschule Baden-Württemberg Karlsruhe * Prof. Dr. Jörn Eisenbiegler * * Vorlesung Übersetzerbau * Praxis X Abstiegsparser * * ********************************************** */ package de.dhbw.compiler.xparser; import java.io.PrintWriter; import java.io.StringReader; import java.util.Scanner; public class XParserMain { private static final String TESTMIN = "program beginend;\n"+ "begin\n"+ "end."; private static final String TESTXmin1 = "program xmin1;\n"+ "begin\n"+ " y := 25+2*x-6*x;\n"+ " if xy) y := y+1;\n"+ " begin\n"+ " for (x:=1; x<6; x:=x+1) y:=y+2;\n"+ " end;\n"+ "end."; private static final String BEISPIELFOLIEN = "program test5;\n"+ " read x : int;\n"+ " print y : float;\n"+ " z : int;\n"+ "begin\n"+ " while (x<4) begin\n"+ " for (z:=0; z<4; z:=z+1) x:=x+2;\n"+ " if x=4 then begin\n"+ " x:=z*(x+2);\n"+ " x:=x+10;\n"+ " end else y:=100.e-3;\n"+ " end;\n"+ "end.\n"; public static void main(String[] args) throws Exception { //TODO Initialize scanner and parser //TODO Call parser //TODO Output: Tree, count of tokens and comparisons StringReader reader = new StringReader(BEISPIELFOLIEN); JFlexXScanner scanner = new JFlexXScanner(reader); TokenReader tokenReader = new TokenReader(scanner); XParser parser = new XParser(tokenReader); parser.parseProgram(); } }