2005/5/9

     
 

class LispEnvironment

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::lisp::LispEnvironment Class Reference

#include <LispEnvironment.h>

Inheritance diagram for acdk::lisp::LispEnvironment:

acdk::lang::Object acdk::lang::ObjectBase acdk::lang::dmi::StdDispatch List of all members.

Detailed Description

Represents an Lisp-Interpreter.

Author:
Roger Rene Kommer
Version:
Revision
1.16
Date:
Date
2005/04/08 10:53:20


Public Member Functions

 LispEnvironment (IN(acdk::util::RProperties) environment=Nil, IN(RStringArray) args=Nil, bool trace=false)
 ~LispEnvironment ()
void init (bool loadCode=false)
 loads standard lisp files in /cfg/lib/acdk/lisp/autoload.lsp.

void initEnv ()
 initialize environmnet variables

void deinit ()
 uninizialize the LispEnvironment.

RString parseEval (const char *&ptr, int &rest)
RLispVar parseEval (IN(RString) str)
RLispCode parse (IN(RLispTokenizer) in, IN(acdk::io::RPrintWriter) out, bool interactiv=false, bool parseOneToken=false)
void interactive (IN(acdk::io::RCharReader) in, IN(acdk::io::RCharWriter) out)
virtual RLispVar eval (IN(RLispVar) list)
RLispVar lookupVar (IN(RString) str, bool warn=true)
 Lookup for var in.

RLispVar lookupLocalVar (IN(RString) str)
 Lookup for var in only local scopes returns Nil if not found.

RFunction lookupFunction (IN(RString) str)
bool isMacro (IN(RString) str)
virtual void bindLocal (IN(RString) symbol, IN(RLispVar) value, bool forcelocal=false)
virtual void bindGlobal (IN(RString) symbol, IN(RLispVar) value)
virtual void bindGlobal (IN(RString) symbol, IN(RString) value)
virtual void bindToEnv (IN(RString) symbol, IN(RLispVar) value)
virtual void bindToEnv (IN(RString) symbol, IN(RString) value)
void registerDefun (IN(RLispFunction) func)
RString load (IN(RLispTokenizer) tok)
 load code into Lisp-Environment
  • in the Intput


RString load (IN(RString) filename)
RString loadUnparsedFile (IN(RString) filename)
void dumpEnv (IN(acdk::io::RCharWriter) out)
 Debugging function.

bool trace ()
 Debugging function.

void trace (bool t)
 Debugging function.

bool trace (IN(RString) symbol)
 Debugging function.

void trace (IN(RString) symbol, bool dotrace)
 Debugging function.

void traceln (IN(RString) out)
void traceflush (IN(RString) str)
void trace_begin (IN(RString) out)
void trace_end (IN(RString) out)
void setBreak (int b)
int getBreak ()
RLispVar debug_interactive (IN(RLispVar) var)
RLispVar lastEvaled ()
RString lastEvaledString ()
void returnNow (bool set)
bool returnNow ()
void exitNow (int exitval)
bool exitNow ()
int exitValue ()
acdk::util::RIterator functionIterator ()
 returns an KeyIterator, where value is RFunction

acdk::util::RIterator buildinsIterator ()
acdk::util::RIterator defunsIterator ()
acdk::util::RProperties environment ()
acdk::util::RHashMap globals ()
acdk::util::RHashSet includes ()
void setInOut (IN(RCharReader) rin, IN(RCharWriter) rout, IN(RCharWriter) rerr)
RLispVar _eval (IN(RLispVar) list)
RLispVar _eval (IN(RLispList) list)
RLispVar _eval (IN(RLispSymbol) list)
RLispVar _eval (IN(RLispAtom) list)
void storeCompiled (IN(RString) file)
 store all compiled functions, macros an globals variables a file.

void storeCompiled (IN(::acdk::io::RWriter) out)
void loadCompiled (IN(RString) file, bool replace)
 Loads image file.

void loadCompiled (IN(::acdk::io::RReader) in, bool replace)
 Loads image file.


Static Public Member Functions

RLispList parseToList (IN(RString) str)
RLispAtom t ()
void registerFunction (const char *name, const char *decl, LispNativFunction func, bool preeval=true)
acdk::util::RHashMap _staticFuncs ()
RLispEnvironment lenv ()

Public Attributes

acdk::io::RPrintWriter out
acdk::io::RPrintWriter err
acdk::io::RInputReader in
Stack< RFile > _modulStack
 The current Modul stack.

Stack< RLispStackFrame > _stackFrame
Stack< RLispVar > _evalStack

Private Attributes

acdk::util::RProperties _environment
acdk::util::RHashMap _globals
acdk::util::RHashMap _defuns
acdk::util::RHashMap _macros
acdk::util::RHashSet _includes
 all fq names of included lsp-files

acdk::util::RHashSet _tracedSymbols
bool _trace
RLispVar _lastEvaled
bool _returnNow
int _tracelevel
int _break
bool _exitNow
int _exitValue
RStringArray _cmlineArgs

Static Private Attributes

LispEnvironment * _lenv
 global instance

RLispEnvironment _glenv
 this will be used if not already set

acdk::util::RHashMap __staticFuncs
 normal buildin function

RLispAtom __trueVar

Friends

class LispBinaryCode


Constructor & Destructor Documentation

acdk::lisp::LispEnvironment::LispEnvironment (  IN(acdk::util::RProperties)  environment = Nil,
IN(RStringArray)  args = Nil,
bool  trace = false
) 
 

acdk::lisp::LispEnvironment::~LispEnvironment (   ) 
 


Member Function Documentation

RLispVar acdk::lisp::LispEnvironment::_eval (  IN(RLispAtom)  list  ) 
 

RLispVar acdk::lisp::LispEnvironment::_eval (  IN(RLispSymbol)  list  ) 
 

RLispVar acdk::lisp::LispEnvironment::_eval (  IN(RLispList)  list  ) 
 

RLispVar acdk::lisp::LispEnvironment::_eval (  IN(RLispVar)  list  ) 
 

acdk::util::RHashMap acdk::lisp::LispEnvironment::_staticFuncs (   )  [static]
 

virtual void acdk::lisp::LispEnvironment::bindGlobal (  IN(RString)  symbol,
IN(RString)  value
)  [inline, virtual]
 

virtual void acdk::lisp::LispEnvironment::bindGlobal (  IN(RString)  symbol,
IN(RLispVar)  value
)  [virtual]
 

virtual void acdk::lisp::LispEnvironment::bindLocal (  IN(RString)  symbol,
IN(RLispVar)  value,
bool  forcelocal = false
)  [virtual]
 

virtual void acdk::lisp::LispEnvironment::bindToEnv (  IN(RString)  symbol,
IN(RString)  value
)  [inline, virtual]
 

virtual void acdk::lisp::LispEnvironment::bindToEnv (  IN(RString)  symbol,
IN(RLispVar)  value
)  [virtual]
 

acdk::util::RIterator acdk::lisp::LispEnvironment::buildinsIterator (   ) 
 

RLispVar acdk::lisp::LispEnvironment::debug_interactive (  IN(RLispVar)  var  ) 
 

acdk::util::RIterator acdk::lisp::LispEnvironment::defunsIterator (   ) 
 

void acdk::lisp::LispEnvironment::deinit (   ) 
 

uninizialize the LispEnvironment.

needed to release this instance.

void acdk::lisp::LispEnvironment::dumpEnv (  IN(acdk::io::RCharWriter)  out  ) 
 

Debugging function.

acdk::util::RProperties acdk::lisp::LispEnvironment::environment (   )  [inline]
 

virtual RLispVar acdk::lisp::LispEnvironment::eval (  IN(RLispVar)  list  )  [virtual]
 

bool acdk::lisp::LispEnvironment::exitNow (   )  [inline]
 

void acdk::lisp::LispEnvironment::exitNow (  int  exitval  )  [inline]
 

int acdk::lisp::LispEnvironment::exitValue (   )  [inline]
 

acdk::util::RIterator acdk::lisp::LispEnvironment::functionIterator (   ) 
 

returns an KeyIterator, where value is RFunction

int acdk::lisp::LispEnvironment::getBreak (   )  [inline]
 

acdk::util::RHashMap acdk::lisp::LispEnvironment::globals (   )  [inline]
 

acdk::util::RHashSet acdk::lisp::LispEnvironment::includes (   )  [inline]
 

void acdk::lisp::LispEnvironment::init (  bool  loadCode = false  ) 
 

loads standard lisp files in /cfg/lib/acdk/lisp/autoload.lsp.

Exceptions:
Error if ACDK_HOME is not defined.
Parameters:
loadCode load code instead of image

void acdk::lisp::LispEnvironment::initEnv (   ) 
 

initialize environmnet variables

void acdk::lisp::LispEnvironment::interactive (  IN(acdk::io::RCharReader)  in,
IN(acdk::io::RCharWriter)  out
) 
 

bool acdk::lisp::LispEnvironment::isMacro (  IN(RString)  str  )  [inline]
 

RLispVar acdk::lisp::LispEnvironment::lastEvaled (   )  [inline]
 

RString acdk::lisp::LispEnvironment::lastEvaledString (   )  [inline]
 

RLispEnvironment acdk::lisp::LispEnvironment::lenv (   )  [inline, static]
 

RString acdk::lisp::LispEnvironment::load (  IN(RString)  filename  ) 
 

RString acdk::lisp::LispEnvironment::load (  IN(RLispTokenizer)  tok  ) 
 

load code into Lisp-Environment

  • in the Intput

Returns:
The result of the evaluated code

void acdk::lisp::LispEnvironment::loadCompiled (  IN(::acdk::io::RReader)  in,
bool  replace
) 
 

Loads image file.

Parameters:
replace replace current env.

void acdk::lisp::LispEnvironment::loadCompiled (  IN(RString)  file,
bool  replace
) 
 

Loads image file.

Parameters:
replace replace current env.

RString acdk::lisp::LispEnvironment::loadUnparsedFile (  IN(RString)  filename  ) 
 

RFunction acdk::lisp::LispEnvironment::lookupFunction (  IN(RString)  str  ) 
 

RLispVar acdk::lisp::LispEnvironment::lookupLocalVar (  IN(RString)  str  ) 
 

Lookup for var in only local scopes returns Nil if not found.

RLispVar acdk::lisp::LispEnvironment::lookupVar (  IN(RString)  str,
bool  warn = true
) 
 

Lookup for var in.

  • locals in scopes from inner to outer
  • functions
  • global variables (setg)
  • environmnet

RLispCode acdk::lisp::LispEnvironment::parse (  IN(RLispTokenizer)  in,
IN(acdk::io::RPrintWriter)  out,
bool  interactiv = false,
bool  parseOneToken = false
) 
 

RLispVar acdk::lisp::LispEnvironment::parseEval (  IN(RString)  str  ) 
 

RString acdk::lisp::LispEnvironment::parseEval (  const char *&  ptr,
int &  rest
) 
 

RLispList acdk::lisp::LispEnvironment::parseToList (  IN(RString)  str  )  [static]
 

void acdk::lisp::LispEnvironment::registerDefun (  IN(RLispFunction)  func  ) 
 

void acdk::lisp::LispEnvironment::registerFunction (  const char *  name,
const char *  decl,
LispNativFunction  func,
bool  preeval = true
)  [static]
 

bool acdk::lisp::LispEnvironment::returnNow (   )  [inline]
 

void acdk::lisp::LispEnvironment::returnNow (  bool  set  )  [inline]
 

void acdk::lisp::LispEnvironment::setBreak (  int  b  )  [inline]
 

void acdk::lisp::LispEnvironment::setInOut (  IN(RCharReader)  rin,
IN(RCharWriter)  rout,
IN(RCharWriter)  rerr
) 
 

void acdk::lisp::LispEnvironment::storeCompiled (  IN(::acdk::io::RWriter)  out  ) 
 

void acdk::lisp::LispEnvironment::storeCompiled (  IN(RString)  file  ) 
 

store all compiled functions, macros an globals variables a file.

Environment and build in functions will not be stored

RLispAtom acdk::lisp::LispEnvironment::t (   )  [static]
 

void acdk::lisp::LispEnvironment::trace (  IN(RString)  symbol,
bool  dotrace
)  [inline]
 

Debugging function.

bool acdk::lisp::LispEnvironment::trace (  IN(RString)  symbol  )  [inline]
 

Debugging function.

void acdk::lisp::LispEnvironment::trace (  bool  t  )  [inline]
 

Debugging function.

bool acdk::lisp::LispEnvironment::trace (   )  [inline]
 

Debugging function.

void acdk::lisp::LispEnvironment::trace_begin (  IN(RString)  out  ) 
 

void acdk::lisp::LispEnvironment::trace_end (  IN(RString)  out  ) 
 

void acdk::lisp::LispEnvironment::traceflush (  IN(RString)  str  ) 
 

void acdk::lisp::LispEnvironment::traceln (  IN(RString)  out  ) 
 


Friends And Related Function Documentation

friend class LispBinaryCode [friend]
 


Member Data Documentation

acdk::util::RHashMap acdk::lisp::LispEnvironment::__staticFuncs [static, private]
 

normal buildin function

RLispAtom acdk::lisp::LispEnvironment::__trueVar [static, private]
 

int acdk::lisp::LispEnvironment::_break [private]
 

RStringArray acdk::lisp::LispEnvironment::_cmlineArgs [private]
 

acdk::util::RHashMap acdk::lisp::LispEnvironment::_defuns [private]
 

acdk::util::RProperties acdk::lisp::LispEnvironment::_environment [private]
 

Stack<RLispVar> acdk::lisp::LispEnvironment::_evalStack
 

bool acdk::lisp::LispEnvironment::_exitNow [private]
 

int acdk::lisp::LispEnvironment::_exitValue [private]
 

RLispEnvironment acdk::lisp::LispEnvironment::_glenv [static, private]
 

this will be used if not already set

acdk::util::RHashMap acdk::lisp::LispEnvironment::_globals [private]
 

acdk::util::RHashSet acdk::lisp::LispEnvironment::_includes [private]
 

all fq names of included lsp-files

RLispVar acdk::lisp::LispEnvironment::_lastEvaled [private]
 

LispEnvironment* acdk::lisp::LispEnvironment::_lenv [static, private]
 

global instance

acdk::util::RHashMap acdk::lisp::LispEnvironment::_macros [private]
 

Stack<RFile> acdk::lisp::LispEnvironment::_modulStack
 

The current Modul stack.

bool acdk::lisp::LispEnvironment::_returnNow [private]
 

Stack<RLispStackFrame> acdk::lisp::LispEnvironment::_stackFrame
 

bool acdk::lisp::LispEnvironment::_trace [private]
 

acdk::util::RHashSet acdk::lisp::LispEnvironment::_tracedSymbols [private]
 

int acdk::lisp::LispEnvironment::_tracelevel [private]
 

acdk::io::RPrintWriter acdk::lisp::LispEnvironment::err
 

acdk::io::RInputReader acdk::lisp::LispEnvironment::in
 

acdk::io::RPrintWriter acdk::lisp::LispEnvironment::out