From 812375e503541e96fe492b5a55ff4e8d087e8b66 Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 27 Dec 2004 04:40:52 +0000 Subject: [PATCH] dropped Grammar, removed dependency on org.ibex.js darcs-hash:20041227044052-5007d-51929eeab20a8a999210761eaec2d3308015621f.gz --- src/org/ibex/util/Grammar.java | 105 ---------------------------------------- src/org/ibex/util/Log.java | 30 ------------ src/org/ibex/util/Task.java | 2 +- 3 files changed, 1 insertion(+), 136 deletions(-) delete mode 100644 src/org/ibex/util/Grammar.java diff --git a/src/org/ibex/util/Grammar.java b/src/org/ibex/util/Grammar.java deleted file mode 100644 index 565de4d..0000000 --- a/src/org/ibex/util/Grammar.java +++ /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= 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); - } - } -} diff --git a/src/org/ibex/util/Log.java b/src/org/ibex/util/Log.java index aef3ba2..2f6e3e4 100644 --- a/src/org/ibex/util/Log.java +++ b/src/org/ibex/util/Log.java @@ -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 + ""); - - } else if (o instanceof JSArray) { - JS.log(indent + name + ""); - JSArray na = (JSArray)o; - for(int i=0; i"); - 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); - - } - } - } diff --git a/src/org/ibex/util/Task.java b/src/org/ibex/util/Task.java index e710724..7306339 100644 --- a/src/org/ibex/util/Task.java +++ b/src/org/ibex/util/Task.java @@ -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; } -- 1.7.10.4