resolved some conflicts, added CommandLine
authoradam <adam@megacz.com>
Sun, 15 Oct 2006 05:08:23 +0000 (01:08 -0400)
committeradam <adam@megacz.com>
Sun, 15 Oct 2006 05:08:23 +0000 (01:08 -0400)
darcs-hash:20061015050823-5007d-16f6013ba6fa7ac236b35e102d500015c15b381f.gz

Makefile
src/edu/berkeley/sbp/misc/Cartesian.java
src/edu/berkeley/sbp/misc/CommandLine.java [new file with mode: 0644]
src/edu/berkeley/sbp/misc/ParserServlet.java

index f0537d0..75d88af 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -85,7 +85,8 @@ boot: edu.berkeley.sbp.jar
 edu.berkeley.sbp.jar: $(shell find src -name \*.java)
        mkdir -p bin
        javac  -cp javax.servlet.jar -d bin -sourcepath src $^
-       cd bin; jar cf ../$@ .
+       echo 'Main-Class: edu.berkeley.sbp.misc.CommandLine' > bin/manifest
+       cd bin; jar cmf manifest ../$@ .
 #-Xlint:unchecked
 javadoc:
        rm -rf doc/api
index 1bac161..5f5b739 100644 (file)
@@ -32,7 +32,7 @@ public class Cartesian {
             long now = System.currentTimeMillis();
             if (now-then > 10) {
                 then = now;
-                //System.out.print(s + "                                \r");
+                System.err.print(s + "                                \r");
             }
             if (isCR()) { 
                 line++;
diff --git a/src/edu/berkeley/sbp/misc/CommandLine.java b/src/edu/berkeley/sbp/misc/CommandLine.java
new file mode 100644 (file)
index 0000000..ca9086d
--- /dev/null
@@ -0,0 +1,43 @@
+// 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 CommandLine {
+
+    public static void main(String[] argv) throws Throwable {
+        String grammarFile = argv[0];
+        String targetFile = argv[1];
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        try {
+            System.setErr(new PrintStream(baos));
+            Tree<String> 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);
+                                            }
+                                            */
+                                        });
+            CharInput input = new CharInput(new FileInputStream(targetFile), "", true);
+            Tree ret = new CharParser(meta).parse(input).expand1();
+            if (ret==null) throw new NullPointerException("CharParser returned null");
+            System.out.println(ret);
+            System.exit(0);
+        } catch (Throwable e) {
+            e.printStackTrace();
+            System.out.println(new String(baos.toByteArray()));
+            System.exit(-1);
+        }
+    }
+
+
+}
index 9eeb7b8..d2f7d39 100644 (file)
@@ -6,17 +6,19 @@ import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.chr.*;
 import java.util.*;
 import java.io.*;
-//import javax.servlet.*;
-//import javax.servlet.http.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import java.io.*;
 import java.net.*;
 import java.util.*;
 
-public class ParserServlet /*extends HttpServlet*/ {
-    /*
+public class ParserServlet extends HttpServlet {
+
     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException {
         doPost(req, resp);
     }
     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException {
+        /*
         try {
         try {
             System.out.println("a");
@@ -70,7 +72,7 @@ public class ParserServlet /*extends HttpServlet*/ {
         } catch (Exception e) {
             throw new ServletException(e);
         }
-       
-  }
+        */
+    }
     */
 }