public Object eval( String statement ) throws EvalError { return eval(statement, globalNameSpace); }
public Object eval( Reader in, NameSpace nameSpace, String sourceFileInfo ) throws EvalError { Object retVal = null; debug("eval: nameSpace = "+nameSpace);   Interpreter localInterpreter = new Interpreter( in, out, err, false, nameSpace, this, sourceFileInfo  );  CallStack callstack = new CallStack(); callstack.push( nameSpace );  boolean eof = false; while(!eof) { SimpleNode node = null; try { eof = localInterpreter.Line(); if (localInterpreter.get_jjtree().nodeArity() > 0) { node = (SimpleNode)localInterpreter.get_jjtree().rootNode();  node.setSourceFile( sourceFileInfo );  if ( TRACE ) println( "  retVal = node.eval( callstack, localInterpreter );   if ( callstack.depth() > 1 ) throw new InterpreterError( "Callstack growing: "+callstack);  if ( retVal instanceof ReturnControl ) { retVal = ((ReturnControl)retVal).value; break; } } } catch(ParseException e) { throw new EvalError( "Sourced file: "+sourceFileInfo+" parser Error: " + e.getMessage( DEBUG ), node ); } catch(InterpreterError e) { e.printStackTrace(); throw new EvalError( "Sourced file: "+sourceFileInfo+" internal Error: " + e.getMessage(), node); } catch( TargetError e ) { if(DEBUG) e.printStackTrace();  if ( e.getNode()==null ) e.setNode( node ); e.reThrow("Sourced file: "+sourceFileInfo); } catch(EvalError e) { if(DEBUG) e.printStackTrace();  if ( e.getNode()==null ) e.setNode( node ); e.reThrow( "Sourced file: "+sourceFileInfo ); } catch(Exception e) { e.printStackTrace(); throw new EvalError( "Sourced file: "+sourceFileInfo+" unknown error: " + e.getMessage(), node); } catch(TokenMgrError e) { throw new EvalError( "Sourced file: "+sourceFileInfo+" Token Parsing Error: " + e.getMessage(), node ); } finally { localInterpreter.get_jjtree().reset();   if ( callstack.depth() > 1 ) { callstack.clear(); callstack.push( nameSpace ); } } } return Primitive.unwrap( retVal ); }
    public Object eval( String statement ) throws EvalError {		return eval(statement, globalNameSpace);	}