summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-09-03 20:21:54 +0000
committerRich Hickey <richhickey@gmail.com>2008-09-03 20:21:54 +0000
commitadbe5ac82a068512a96fee1fa826bd7f590f01e0 (patch)
treeeefb8876f8f0e4869ac1b9cbad97f8351edeb86c /src
parent3469988d9ca4e03658e6e7fe380cce39dd58b340 (diff)
removed static init dependency on Compiler
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/LispReader.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java
index cc11603a..b0592ee1 100644
--- a/src/jvm/clojure/lang/LispReader.java
+++ b/src/jvm/clojure/lang/LispReader.java
@@ -22,7 +22,8 @@ import java.lang.*;
public class LispReader{
-static Symbol QUOTE = Symbol.create(null, "quote");
+static final Symbol QUOTE = Symbol.create("quote");
+static final Symbol THE_VAR = Symbol.create("var");
//static Symbol SYNTAX_QUOTE = Symbol.create(null, "syntax-quote");
//static Symbol UNQUOTE = Symbol.create(null, "unquote");
//static Symbol UNQUOTE_SPLICING = Symbol.create(null, "unquote-splicing");
@@ -63,7 +64,7 @@ static
{
macros['"'] = new StringReader();
macros[';'] = new CommentReader();
- macros['\''] = new WrappingReader(Compiler.QUOTE);
+ macros['\''] = new WrappingReader(QUOTE);
macros['@'] = new WrappingReader(DEREF);//new DerefReader();
macros['^'] = new WrappingReader(META);
macros['`'] = new SyntaxQuoteReader();
@@ -81,7 +82,7 @@ static
dispatchMacros['^'] = new MetaReader();
- dispatchMacros['\''] = new WrappingReader(Compiler.THE_VAR);
+ dispatchMacros['\''] = new WrappingReader(THE_VAR);
dispatchMacros['"'] = new RegexReader();
dispatchMacros['('] = new FnReader();
dispatchMacros['{'] = new SetReader();
@@ -871,6 +872,13 @@ public static List readDelimitedList(char delim, PushbackReader r, boolean isRec
}
/*
+public static void main(String[] args) throws Exception{
+ //RT.init();
+ PushbackReader rdr = new PushbackReader( new java.io.StringReader( "(+ 21 21)" ) );
+ Object input = LispReader.read(rdr, false, new Object(), false );
+ System.out.println(Compiler.eval(input));
+}
+
public static void main(String[] args){
LineNumberingPushbackReader r = new LineNumberingPushbackReader(new InputStreamReader(System.in));
OutputStreamWriter w = new OutputStreamWriter(System.out);