package project.phase2.ll1parsergenerator; import java.io.File; import java.io.FileInputStream; import java.util.List; import org.junit.Test; public class LL1ParserTest { @Test public void testParenthesesLLParserGenerator() { Rule[] rules = RuleParser.parse("test_ll1parsergenerator/parentheses_test/script.txt") .toArray(new Rule[0]); LL1Parser parse = ParserGenerator.generateParser(rules); try { FileInputStream fis; fis = new FileInputStream(new File("test_ll1parsergenerator/parentheses_test/input1.txt")); AST<String> syn = parse.parse(fis); System.out.println(syn.toString()); } catch (Exception e) { e.printStackTrace(); } } @Test public void testMiniRE() { List<Rule> rulesList = RuleParser.parse("test_ll1parsergenerator/minire_test/script.txt"); Rule[] rules = RuleParser.rules.toArray(new Rule[0]); LL1Parser parse = ParserGenerator.generateParser(rules); FileInputStream fis; try { fis = new FileInputStream(new File("test_ll1parsergenerator/minire_test/input1.txt")); AST<String> syn = parse.parse(fis); System.out.println(syn.toString()); } catch (Exception e) { e.printStackTrace(); } } public void AST() { AST<String> ast = new AST<String>(); ASTNode<String> root = new ASTNode<String>("Rule", false); ast.setRoot(root); ASTNode<String> a = new ASTNode<String>("a", false); ASTNode<String> plus = new ASTNode<String>("+", true); ASTNode<String> b = new ASTNode<String>("b", false); ASTNode<String> c = new ASTNode<String>("c", true); ASTNode<String> minus = new ASTNode<String>("-", true); ASTNode<String> d = new ASTNode<String>("d", true); ASTNode<String> e = new ASTNode<String>("e", false); ASTNode<String> mul = new ASTNode<String>("*", true); ASTNode<String> f = new ASTNode<String>("f", true); ASTNode<String> g = new ASTNode<String>("g", true); ASTNode<String> div = new ASTNode<String>("/", true); ASTNode<String> h = new ASTNode<String>("h", true); root.insert(a); root.insert(plus); root.insert(b); a.insert(c); a.insert(minus); a.insert(d); b.insert(e); b.insert(mul); b.insert(f); e.insert(g); e.insert(div); e.insert(h); ast.printAST(); } } // @Test // public void testConditionalLLParserGenerator() { // Rule[] rules = RuleParser.parse("test/sample/grammarConditional.txt") // .toArray(new Rule[0]); // // LL1Parser parse = ParserGenerator.generateParser(rules); // try { // FileInputStream fis; //// fis = new FileInputStream(new File("test/sample/inputConditional1.txt")); //// AST<String> syn = parse.parse(fis); //// System.out.println(syn.toString()); // // } catch (Exception e) { // e.printStackTrace(); // } // } //