ix.util.lisp
Class LispInterpreter
java.lang.Object
ix.util.lisp.Interpreter
ix.util.lisp.LispInterpreter
- Direct Known Subclasses:
- IScriptInterpreter.IScriptLispInterpreter, LispComputeInterpreter, SafeLispInterpreter
public class LispInterpreter
- extends Interpreter
An interpreter for a simple dialect of Lisp.
Nested classes/interfaces inherited from class ix.util.lisp.Interpreter |
Interpreter.AbstractEnv, Interpreter.AbstractFunction, Interpreter.And, Interpreter.Assignment, Interpreter.Call, Interpreter.Closure, Interpreter.Env, Interpreter.Error, Interpreter.Expr, Interpreter.Function, Interpreter.GlobalEnv, Interpreter.If, Interpreter.JFunction, Interpreter.Lambda, Interpreter.Let, Interpreter.LexicalEnv, Interpreter.Literal, Interpreter.Or, Interpreter.Sequence, Interpreter.VarRef, Interpreter.While |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
QUOTE
public static final Symbol QUOTE
LAMBDA
public static final Symbol LAMBDA
PROGN
public static final Symbol PROGN
COND
public static final Symbol COND
ELLIPSIS
public static final Symbol ELLIPSIS
parserTable
protected java.util.Map<Symbol,LispInterpreter.Parser> parserTable
reader
protected LispReader reader
JAVA_NULL
protected java.lang.Object JAVA_NULL
LispInterpreter
public LispInterpreter()
LispInterpreter
public LispInterpreter(boolean beSafe)
main
public static void main(java.lang.String[] argv)
readEvalPrintLoop
public void readEvalPrintLoop()
loadLisp
public void loadLisp(java.util.List resourcenNames)
loadLisp
public void loadLisp(java.lang.String resourceName)
isTrue
public boolean isTrue(java.lang.Object obj)
- Description copied from class:
Interpreter
- Determines whether this interpreter regards the object
as true; otherwise, the object is considered false.
Note that expressions do not call this method directly.
Instead, they must call the Interpreter.Env.isTrue(Object)
method
of an environment.
- Overrides:
isTrue
in class Interpreter
topLevelEval
public java.lang.Object topLevelEval(java.lang.Object form)
parseForm
public Interpreter.Expr parseForm(java.lang.Object form)
parseList
public java.util.List parseList(java.util.List forms)
installDefinitions
protected void installDefinitions()
define
public void define(LispInterpreter.Syntax syntax)
define
public void define(Interpreter.JFunction builtin)
define
public void define(java.lang.String varName,
java.lang.Object val)
defineSyntax
protected void defineSyntax()
defineBuiltins
protected void defineBuiltins()
defineInitialValues
protected void defineInitialValues()