X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FHaskellHelper.java;h=f98c3cf145a839a84a360872ba96b88567da96af;hp=5b2e0d782b9d6ea3e49e73b369d76d69bc4a83da;hb=44f1ba1ec309f9be850bd9c9400dfc5289f85dd0;hpb=972303162555284f8066047d3caead8df139afd4 diff --git a/src/edu/berkeley/sbp/misc/HaskellHelper.java b/src/edu/berkeley/sbp/misc/HaskellHelper.java index 5b2e0d7..f98c3cf 100644 --- a/src/edu/berkeley/sbp/misc/HaskellHelper.java +++ b/src/edu/berkeley/sbp/misc/HaskellHelper.java @@ -6,27 +6,17 @@ import edu.berkeley.sbp.*; import edu.berkeley.sbp.misc.*; import edu.berkeley.sbp.meta.*; import edu.berkeley.sbp.chr.*; +import edu.berkeley.sbp.tib.*; import java.io.*; public class HaskellHelper { - - public static Tree main(String grammarFile, String targetFile) throws Throwable { + public static void main(String[] argv) throws Throwable { help(argv[0], argv[1]); } + public static boolean isNull(Object o) { return o==null; } + public static Tree help(String grammarFile, String targetFile) throws Throwable { try { Tree res = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream(grammarFile)).expand1(); - Union meta = Grammar.create(res, "s", - new Grammar.Bindings() { - /* - public Sequence createSequence(Production p) { - Sequence ret = super.createSequence(p); - if (ret != null) return ret; - return Sequence.create(p.nonTerminal, p.elements, p.drops, false); - } - */ - }); - System.out.println(); - System.out.println(); - System.out.println(); - CharInput input = new CharInput(new FileInputStream(targetFile), "", true); + Union meta = GrammarBuilder.buildFromAST(res, "s", new File[0]); + Input input = new Tib(new FileInputStream(targetFile)); Tree ret = new CharParser(meta).parse(input).expand1(); if (ret==null) throw new NullPointerException("CharParser returned null"); return ret; @@ -35,6 +25,4 @@ public class HaskellHelper { throw e; } } - - }