add experimental Haskell bindings
[sbp.git] / src / edu / berkeley / sbp / misc / HaskellHelper.java
diff --git a/src/edu/berkeley/sbp/misc/HaskellHelper.java b/src/edu/berkeley/sbp/misc/HaskellHelper.java
new file mode 100644 (file)
index 0000000..b8a6006
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
+package edu.berkeley.sbp.misc;
+
+import edu.berkeley.sbp.*;
+import edu.berkeley.sbp.misc.*;
+import edu.berkeley.sbp.meta.*;
+import edu.berkeley.sbp.chr.*;
+import java.io.*;
+
+public class HaskellHelper {
+
+    public static Tree main(String grammarFile, String targetFile) throws Exception {
+
+        System.err.println("parsing " + grammarFile);
+        Tree<String> res = new CharParser(MetaGrammar.newInstance()).parse(new FileInputStream(grammarFile)).expand1();
+        Union meta = Grammar.create(res, "s", new MetaGrammarBindings());
+        
+        System.err.println("parsing " + targetFile);
+        return new CharParser(meta).parse(new FileInputStream(targetFile)).expand1();
+        
+    }
+
+}