dropped Grammar, removed dependency on org.ibex.js
authoradam <adam@megacz.com>
Mon, 27 Dec 2004 04:40:52 +0000 (04:40 +0000)
committeradam <adam@megacz.com>
Mon, 27 Dec 2004 04:40:52 +0000 (04:40 +0000)
darcs-hash:20041227044052-5007d-51929eeab20a8a999210761eaec2d3308015621f.gz

src/org/ibex/util/Grammar.java [deleted file]
src/org/ibex/util/Log.java
src/org/ibex/util/Task.java

diff --git a/src/org/ibex/util/Grammar.java b/src/org/ibex/util/Grammar.java
deleted file mode 100644 (file)
index 565de4d..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.ibex.util;
-
-import org.ibex.js.*;
-
-public abstract class Grammar extends JS {
-
-    public JS action = null;
-
-    // means we call()ed a Grammar that hasn't been bound to a scope yet
-    public Object call(Object a0, Object a1, Object a2, Object[] rest, int nargs) throws JSExn {
-        throw new Error("this should never happen");
-    }
-
-    private static Object NULL = new Object();
-    
-    public abstract int match(String s, int start, Hash v, JSScope scope) throws JSExn;
-    public int matchAndWrite(final String s, final int start, Hash v, JSScope scope, String key) throws JSExn {
-        final Hash v2 = new Hash();
-        final int ret = match(s, start, v2, scope);
-        Object result = ret == -1 ? NULL : action == null ?
-            s.substring(start, ret) :
-            JS.cloneWithNewParentScope(action, new JSScope(scope) {
-                    public Object get(Object key) throws JSExn {
-                        Object val = v2.get(key);
-                        if (val == NULL) return null;
-                        if (val != null) return val;
-                        if (key.equals("whole")) return s.substring(start, ret);
-                        return super.get(key);
-                    }
-                }).call(null, null, null, null, 0);
-        if (key != null) {
-            Object old = v.get(key);
-            if (old == null || old == NULL) { }
-            else if (old instanceof JSArray) { if (result != NULL) { ((JSArray)old).addElement(result); result = old; } }
-            else if (result != NULL) { JSArray j = new JSArray(); j.addElement(old); j.addElement(result); result = j; }
-            v.put(key, result);
-        }
-        return ret;
-    }
-
-    public static class Alternative extends Grammar {
-        private Grammar r1, r2;
-        public Alternative(Grammar r1, Grammar r2) { this.r1 = r1; this.r2 = r2; }
-        public int match(String s, int start, Hash v, JSScope r) throws JSExn {
-            int s1 = r1.match(s, start, v, r);
-            if (s1 != -1) return s1;
-            int s2 = r2.match(s, start, v, r);
-            if (s2 != -1) return s2;
-            return -1;
-        }
-    }
-
-    public static class Juxtaposition extends Grammar {
-        private Grammar r1, r2;
-        public Juxtaposition(Grammar r1, Grammar r2) { this.r1 = r1; this.r2 = r2; }
-        public int match(String s, int start, Hash v, JSScope r) throws JSExn {
-            int s1 = r1.match(s, start, v, r);
-            if (s1 == -1) return -1;
-            int s2 = r2.match(s, s1, v, r);
-            if (s2 == -1) return -1;
-            return s2;
-        }
-    }
-
-    public static class Repetition extends Grammar {
-        private Grammar r1;
-        private int min, max;
-        public Repetition(Grammar r1, int min, int max) { this.r1 = r1; this.min = min; this.max = max; }
-        public int match(String s, int start, Hash v, JSScope r) throws JSExn {
-            int i;
-            for(i=0; i<max; i++) {
-                start = r1.match(s, start, v, r);
-                if (start == -1) return -1;
-            }
-            if (i < min) return -1;
-            return start;
-        }
-    }
-
-    public static class Literal extends Grammar {
-        String str;
-        public Literal(String str) { this.str = str; }
-        public int match(String s, int start, Hash v, JSScope r) {
-            if (!s.regionMatches(start, str, 0, str.length())) return -1;
-            return start + str.length();
-        }
-    }
-
-    public static class Range extends Grammar {
-        char min, max;
-        public Range(char min, char max) { this.min = min; this.max = max; }
-        public int match(String s, int start, Hash v, JSScope r) throws JSExn {
-            if (!(s.charAt(start) >= min && s.charAt(start) <= max)) return -1;
-            return start + 1;
-        }
-    }
-
-    public static class Reference extends Grammar {
-        String key;
-        public Reference(String key) { this.key = key; }
-        public int match(String s, int start, Hash v, JSScope scope) throws JSExn {
-            return ((Grammar)scope.get(key)).matchAndWrite(s, start, v, scope, key);
-        }
-    }
-}
index aef3ba2..2f6e3e4 100644 (file)
@@ -6,7 +6,6 @@
 // relink clause")
 
 package org.ibex.util;
-import org.ibex.js.*;
 import java.io.*;
 import java.util.*;
 import java.net.*;
@@ -227,33 +226,4 @@ public class Log {
         logstream.println(classname + colorize(levelcolor, bright, str));
     }
 
-    public static void recursiveLog(String indent, String name, Object o) throws JSExn {
-        if (!name.equals("")) name += " : ";
-
-        if (o == null) {
-            JS.log(indent + name + "<null>");
-
-        } else if (o instanceof JSArray) {
-            JS.log(indent + name + "<array>");
-            JSArray na = (JSArray)o;
-            for(int i=0; i<na.length(); i++)
-                recursiveLog(indent + "  ", i + "", na.elementAt(i));
-
-        } else if (o instanceof JS) {
-            JS.log(indent + name + "<object>");
-            JS s = (JS)o;
-            Enumeration e = s.keys();
-            while(e.hasMoreElements()) {
-                Object key = e.nextElement();
-                if (key != null)
-                    recursiveLog(indent + "  ", key.toString(),
-                                 (key instanceof Integer) ?
-                                 s.get(((Integer)key)) : s.get(key.toString()));
-            }
-        } else {
-            JS.log(indent + name + o);
-
-        }
-    }
-
 }
index e710724..7306339 100644 (file)
@@ -4,5 +4,5 @@ import java.io.IOException;
 import org.ibex.js.*;
 
 public interface Task {
-    public abstract void perform() throws IOException, JSExn;
+    public abstract void perform() throws IOException;
 }