NLAISCRIPT::IBlock Class Reference

#include <module.h>

Inheritance diagram for NLAISCRIPT::IBlock:

NLAIC::IBasicInterface NLAIC::IBasicType NLAIC::IPointerGestion NLMISC::IStreamable NLMISC::IClassable

Detailed Description

Class IBlock.

This class allows to store a block of op-code with eachs local variables.

Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 43 of file module.h.

Public Member Functions

void addCode (IOpCode *op)
 Add a op-code pointer, warnning the function increment the ref of the pointer by incRef().

bool allocLocVar (const char *name, NLAIAGENT::IObjectIA *var)
 Allocs a new local var .

sint32 decRef ()
 Decrement the reference of an object.

NLAIAGENT::IObjectIAeraseVar (const char *Name)
CCodeBrancheRungetCode ()
 Builds the code, here we update all IConstarint reference.

CCodeBrancheRunDebuggetCodeDebug (IScriptDebugSource *sourceCode)
 Build a CCodeBrancheRunDebug.

virtual const std::string getInfo ()
const sint32getRef () const
 get the refence count.

NLAIAGENT::IObjectIAgetVar (const char *Name)
 Gets a pointer to a locale variable.

 IBlock (bool debugMode)
 IBlock (bool debugMode, TDicoStr *dico)
 Construct with an active dictionarry and debug mode.

void incRef ()
 Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

sint32 isCodeMonted ()
 If the code is builded.

TListCodelistCode ()
 Get the list of code.

TDicoStrlockDictionarry ()
 Locks the dictionnarry and get it.

virtual void release ()
 Release allow to release the pointer. The last release when the _Ref is nul delete the object.

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
void setCurrentLine (uint16 line)
 Set the current line number in the source code.

void setFirstOpCodeInLine (bool b)
 Set the Flag _FirstOpCodeInLine.

virtual ~IBlock ()
Base class method.
const NLAIC::IBasicTypeclone () const
void getDebugString (std::string &) const
const NLAIC::CIdentTypegetType () const
bool isEqual (const NLAIAGENT::IBasicObjectIA &a) const
void load (NLMISC::IStream &is)
const NLAIC::IBasicTypenewInstance () const
const NLAIAGENT::IObjectIA::CProcessResultrun ()
void save (NLMISC::IStream &os)
Op-code list manipulation.
IOpCodegetBack ()
CBagOfCodegetBagOfCode ()
IOpCodegetFront ()
void pushBagCode (CBagOfCode *bOp)
void pushCode (IOpCode *op)

Static Public Attributes

const NLAIC::CIdentType IdBlock

Protected Types

typedef std::map< NLAISCRIPT::CStringType,
NLAIAGENT::IObjectIA
* >::iterator 
TDicoStrIter
 this typedef define an correct std::map iterator for store local variable in the heap.


Private Attributes

CCodeBrancheRun_Cbr
 Op-code that define the block. This object is build at the end of parse.

uint16 _CurrentLine
 True while no new opCode as been add since the laste
.

bool _Debug
TDicoStr_DicoLocVar
 Local variable is stored here.

bool _FirstOpCodeInLine
 Switch between a normal CCodeBrancheRun and a debug one.

bool _HaveToDeleteDico
 If user want a reference to the local variable dictionary then we don't have to delete it.

TListCode _ListCode
 This list containe the bag of code.


Member Typedef Documentation

typedef std::map<NLAISCRIPT::CStringType , NLAIAGENT::IObjectIA *>::iterator NLAISCRIPT::IBlock::TDicoStrIter [protected]
 

this typedef define an correct std::map iterator for store local variable in the heap.

Definition at line 50 of file module.h.

Referenced by ~IBlock().


Constructor & Destructor Documentation

NLAISCRIPT::IBlock::IBlock bool  debugMode,
TDicoStr dico
[inline]
 

Construct with an active dictionarry and debug mode.

Definition at line 70 of file module.h.

References _Cbr, _CurrentLine, _DicoLocVar, _FirstOpCodeInLine, _HaveToDeleteDico, and NLAISCRIPT::TDicoStr.

Referenced by clone().

00071                 {
00072                         _Debug = debugMode;
00073                         _Cbr = NULL;
00074                         _FirstOpCodeInLine = true;
00075                         _CurrentLine = 0;
00076                         _HaveToDeleteDico = false;
00077                         _DicoLocVar = dico;
00078                 }

NLAISCRIPT::IBlock::IBlock bool  debugMode  )  [inline]
 

Definition at line 80 of file module.h.

References _Cbr, _CurrentLine, _DicoLocVar, _FirstOpCodeInLine, _HaveToDeleteDico, and NLAISCRIPT::TDicoStr.

00081                 {
00082                         _Debug = debugMode;
00083                         _Cbr = NULL;
00084                         _FirstOpCodeInLine = true;
00085                         _CurrentLine = 0;
00086                         _HaveToDeleteDico = true;
00087                         _DicoLocVar = new TDicoStr;
00088                 }               

virtual NLAISCRIPT::IBlock::~IBlock  )  [inline, virtual]
 

Definition at line 91 of file module.h.

References _Cbr, _DicoLocVar, _HaveToDeleteDico, _ListCode, NLAIC::IPointerGestion::release(), and TDicoStrIter.

00092                 {
00093                         while(_ListCode.size() != 0)
00094                         {
00095                                 ((IOpCode *)*_ListCode.front())->release();
00096                                 delete _ListCode.front();
00097                                 _ListCode.pop_front();
00098                         }
00099                         
00100                         if(_Cbr)  _Cbr->release();
00101                         TDicoStrIter it = _DicoLocVar->begin();
00102                         while(it != _DicoLocVar->end())
00103                         {
00104 #ifdef NL_DEBUG                         
00105                                 const NLAIAGENT::IObjectIA *o = (*it).second;
00106 #endif                                                          
00107                                 (*it).second->release();
00108                                 it ++;
00109                         }               
00110                         if(_HaveToDeleteDico) delete _DicoLocVar;
00111                         
00112                 }


Member Function Documentation

void NLAISCRIPT::IBlock::addCode IOpCode op  )  [inline]
 

Add a op-code pointer, warnning the function increment the ref of the pointer by incRef().

Definition at line 246 of file module.h.

References _CurrentLine, _FirstOpCodeInLine, _ListCode, and x.

Referenced by NLAISCRIPT::CCompilateur::addOpCode(), NLAISCRIPT::CCompilateur::addParamCont(), NLAISCRIPT::CCompilateur::addParamRuleCont(), NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), NLAISCRIPT::CCompilateur::allocExpression(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CCompilateur::getCode(), NLAISCRIPT::CCompilateur::ifInterrogation(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), NLAISCRIPT::CCompilateur::ifInterrogationPoint(), NLAISCRIPT::CCompilateur::initParam(), NLAISCRIPT::CCompilateur::interrogationEnd(), NLAISCRIPT::CCompilateur::PrivateError(), NLAISCRIPT::CCompilateur::pushParamExpression(), and NLAISCRIPT::CCompilateur::setListVar().

00247                 {                       
00248                         //op->incRef();
00249                         CBagOfCode *x = new CBagOfCode(op);
00250                         _ListCode.push_back(x);
00251 
00252                         // Debug part
00253                         CConstraintDebug* pcdb;
00254                         if (_Debug && _FirstOpCodeInLine)
00255                         {
00256                                 pcdb = new CConstraintDebug(_CurrentLine, 1);
00257                                 x->addConstraint(pcdb);
00258                                 _FirstOpCodeInLine = false;
00259                         }
00260                 }       

bool NLAISCRIPT::IBlock::allocLocVar const char *  name,
NLAIAGENT::IObjectIA var
[inline]
 

Allocs a new local var .

Definition at line 148 of file module.h.

References _DicoLocVar, and getVar().

Referenced by NLAISCRIPT::CCompilateur::affectation(), and NLAISCRIPT::CCompilateur::registerMethod().

00149                 {
00150                         if(getVar(name) != NULL) return false;
00151                         _DicoLocVar->insert(TDicoStr::value_type(NLAISCRIPT::CStringType(name),var));           
00152                         return true;
00153                 }

const NLAIC::IBasicType* NLAISCRIPT::IBlock::clone  )  const [inline, virtual]
 

This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne.

Implements NLAIC::IBasicType.

Definition at line 208 of file module.h.

References IBlock(), and x.

Referenced by newInstance().

00209                 {
00210                         NLAIC::IBasicType *x = new IBlock(_Debug);
00211                         return x;
00212                 }

sint32 NLAIC::IPointerGestion::decRef  )  [inline, inherited]
 

Decrement the reference of an object.

Definition at line 93 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIC::IPointerGestion::release(), and NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00094                 {
00095                         return --_Ref;
00096                 }

NLAIAGENT::IObjectIA* NLAISCRIPT::IBlock::eraseVar const char *  Name  )  [inline]
 

Definition at line 127 of file module.h.

References _DicoLocVar.

Referenced by NLAISCRIPT::CCompilateur::affectation().

00128                 {
00129                         TDicoStr::iterator Itr = _DicoLocVar->find(NLAISCRIPT::CStringType(Name));
00130 
00131                         if(Itr != _DicoLocVar->end())
00132                         {
00133                                 _DicoLocVar->erase(Itr);
00134                         }
00135                         
00136                         return NULL;
00137                 }

IOpCode* NLAISCRIPT::IBlock::getBack  )  [inline]
 

Definition at line 269 of file module.h.

References _ListCode.

00270                 {                       
00271                         return (IOpCode *)*_ListCode.back();
00272                 }       

CBagOfCode* NLAISCRIPT::IBlock::getBagOfCode  )  [inline]
 

Definition at line 284 of file module.h.

References _ListCode.

Referenced by NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::allocExpression(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), and NLAISCRIPT::CCompilateur::interrogationEnd().

00285                 {                       
00286                         return _ListCode.back();
00287                 }       

virtual std::string NLAIC::IPointerGestion::getClassName  )  [inline, virtual, inherited]
 

Implements NLMISC::IClassable.

Reimplemented in NLAIC::CIdentType.

Definition at line 116 of file abstract_interface.h.

Referenced by NLAISCRIPT::CAgentClass::isClassInheritedFrom().

00117                 {
00118                         return std::string("<unnamed>");
00119                 }

CCodeBrancheRun* NLAISCRIPT::IBlock::getCode  )  [inline]
 

Builds the code, here we update all IConstarint reference.

Definition at line 156 of file module.h.

References _ListCode, sint32, and x.

Referenced by NLAISCRIPT::CCompilateur::getCode().

00157                 {
00158                         if(/*_Cbr == NULL && */_ListCode.size())
00159                         {
00160                                 sint32 k = _ListCode.size();
00161                                 CCodeBrancheRun *cbr;
00162                                 cbr = new CCodeBrancheRun(k);                                                   
00163                                 for(sint32 i = 0; i < k; i++)
00164                                 {
00165                                         CBagOfCode *x = _ListCode.front();
00166                                         (*cbr)[i] = (IOpCode *)*x;
00167                                         x->setConstraintIndex(i,cbr);
00168                                         delete x;
00169                                         _ListCode.pop_front();
00170                                 }
00171                                 return cbr;
00172 
00173                         }               
00174                         return NULL;
00175                 }

CCodeBrancheRunDebug* NLAISCRIPT::IBlock::getCodeDebug IScriptDebugSource sourceCode  )  [inline]
 

Build a CCodeBrancheRunDebug.

Definition at line 178 of file module.h.

References _ListCode, sint32, and x.

Referenced by NLAISCRIPT::CCompilateur::getCode().

00179                 {
00180                         if(/*_Cbr == NULL && */_ListCode.size())
00181                         {
00182                                 sint32 k = _ListCode.size();
00183                                 CCodeBrancheRunDebug *cbr;
00184                                 cbr = new CCodeBrancheRunDebug(k, sourceCode);
00185 
00186                                 for(sint32 i = 0; i < k; i++)
00187                                 {
00188                                         CBagOfCode *x = _ListCode.front();
00189                                         (*cbr)[i] = (IOpCode *)*x;
00190                                         x->setConstraintIndex(i,cbr);
00191                                         delete x;
00192                                         _ListCode.pop_front();
00193                                 }
00194                                 return cbr;
00195 
00196                         }               
00197                         return NULL;
00198                 }

void NLAISCRIPT::IBlock::getDebugString std::string &   )  const [inline, virtual]
 

This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user.

Implements NLAIC::IBasicType.

Definition at line 224 of file module.h.

00225                 {
00226                 }

IOpCode* NLAISCRIPT::IBlock::getFront  )  [inline]
 

Definition at line 274 of file module.h.

References _ListCode.

00275                 {                       
00276                         return (IOpCode *)*_ListCode.front();
00277                 }       

virtual const std::string NLAIC::IBasicType::getInfo  )  [inline, virtual, inherited]
 

Definition at line 292 of file abstract_interface.h.

References NLAIC::IBasicType::getDebugString(), and s.

00293                 {
00294                         std::string s;
00295                         getDebugString(s);
00296                         return s;
00297                 }

const sint32& NLAIC::IPointerGestion::getRef  )  const [inline, inherited]
 

get the refence count.

Definition at line 99 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00100                 {
00101                         return _Ref;
00102                 }

const NLAIC::CIdentType& NLAISCRIPT::IBlock::getType  )  const [inline, virtual]
 

getType return a unique string how represente the class, it can be the name of the class. This function is used for the sytem regstry class (see the definition of the template class Gen::CRegistry).

Implements NLAIC::IBasicType.

Definition at line 219 of file module.h.

References IdBlock.

00220                 {
00221                         return IdBlock;
00222                 }

NLAIAGENT::IObjectIA* NLAISCRIPT::IBlock::getVar const char *  Name  )  [inline]
 

Gets a pointer to a locale variable.

Definition at line 115 of file module.h.

References _DicoLocVar.

Referenced by allocLocVar(), and NLAISCRIPT::CCompilateur::getVar().

00116                 {
00117                         TDicoStr::iterator Itr = _DicoLocVar->find(NLAISCRIPT::CStringType(Name));
00118 
00119                         if(Itr != _DicoLocVar->end())
00120                         {
00121                                 return (*Itr).second;
00122                         }
00123                         
00124                         return NULL;
00125                 }

void NLAIC::IPointerGestion::incRef  )  [inline, inherited]
 

Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

Definition at line 80 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref.

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAILOGIC::CFactBase::addAssert(), NLAIAGENT::IAgentComposite::addChild(), NLAILOGIC::IBaseAssert::addInput(), NLAILOGIC::CBoolOperator::addPostcondition(), NLAILOGIC::CBoolOperator::addPrecondition(), NLAILOGIC::CInternalGoal::addPredecessor(), NLAILOGIC::CGoal::addPredecessor(), NLAIFUZZY::CFuzzyVar::addSet(), NLAISCRIPT::CCompilateur::affectation(), NLAILOGIC::CFact::asValueSet(), NLAIAGENT::CAgentWatchTimer::attach(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CAgentClass::buildVMethode(), NLAIAGENT::CAgentOperation::CAgentOperation(), NLAIAGENT::CAgentTimerHandle::CAgentTimerHandle(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CClassInterpretFactory::CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::CCompilateur(), NLAISCRIPT::CFactorType::CFactorType(), NLAISCRIPT::CFunctionTag::CFunctionTag(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIC::CIdentType::CIdentType(), NLAIAGENT::CIdMethod::CIdMethod(), NLAIAGENT::CKeyObject::CKeyObject(), NLAISCRIPT::CFindRunMsg::clone(), NLAISCRIPT::CObjectUnknown::clone(), NLAISCRIPT::CConstraintStackComp::clone(), NLAISCRIPT::CConstraintFindRun::clone(), NLAISCRIPT::CConstraintMethode::clone(), NLAILINK::IOTrace::clone(), NLAISCRIPT::CMethodeName::CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::CMethodType(), NLAISCRIPT::CObjectUnknown::CObjectUnknown(), NLAIAGENT::CPairType::CPairType(), NLAISCRIPT::CAgentClass::createComponents(), NLAILOGIC::CValueSet::CValueSet(), NLAILOGIC::CVar::CVar(), NLAILOGIC::CValueSet::forward(), NLAIAGENT::IMessageBase::IMessageBase(), NLAIAGENT::CAgentScript::initAgentScript(), NLAISCRIPT::CCompilateur::initMessageManager(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAILOGIC::CValueSet::load(), NLAILOGIC::IBaseOperator::load(), NLAISCRIPT::CAgentClass::load(), NLAISCRIPT::CComponent::load(), NLAISCRIPT::CMethodeName::load(), NLAIAGENT::CVectorGroupType::operator+(), NLAIAGENT::CGroupType::operator+(), NLAISCRIPT::CPramContainer::operator+=(), NLAIAGENT::IMessageBase::operator=(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CAgentClass::CMethodType::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAISCRIPT::CCompilateur::pushParamExpression(), NLAISCRIPT::CConstraintFindRun::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runAskGetValue(), NLAIAGENT::IAgent::runChildren(), NLAIAGENT::CMainAgentScript::runExec(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAIAGENT::CAgentWatchTimer::runMethodBase(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IMessageBase::runMethodeMember(), NLAIAGENT::IBaseGroupType::runMethodeMember(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAISCRIPT::CLdbRefOpCode::runOpCode(), NLAISCRIPT::CLdbMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CCallStackNewMethodi::runOpCode(), NLAISCRIPT::CLibStackNewMemberMethod::runOpCode(), NLAISCRIPT::CLibStackMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CAddParamNameDebug::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellComponent(), NLAIAGENT::CAgentScript::runTellSetValue(), NLAISCRIPT::CMethodContextDebug::saveContext(), NLAISCRIPT::CMethodContext::saveContext(), NLAIAGENT::CAgentScript::sendBroadCast(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentScript::sendMethodCompoment(), NLAIAGENT::CVolatilMemmory::sendUpdateMessage(), NLAISCRIPT::CFactorType::set(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setParamVarName(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAILOGIC::CVar::setValue(), NLAILOGIC::CValueSet::setValue(), NLAIAGENT::CAgentWatchTimer::tellBroker(), NLAISCRIPT::CCompilateur::typeOfMethod(), NLAILOGIC::CVar::unify(), NLAILOGIC::CValueSet::unify(), and NLAIAGENT::CAgentOperation::update().

00081                 {
00082                         _Ref ++;
00083                 }

sint32 NLAISCRIPT::IBlock::isCodeMonted  )  [inline]
 

If the code is builded.

Definition at line 201 of file module.h.

References _Cbr, and sint32.

Referenced by NLAISCRIPT::CCompilateur::getCode().

00202                 {               
00203                         return _Cbr != NULL;
00204                 }

bool NLAISCRIPT::IBlock::isEqual const NLAIAGENT::IBasicObjectIA a  )  const [inline]
 

Definition at line 236 of file module.h.

00236 { return true;}

TListCode& NLAISCRIPT::IBlock::listCode  )  [inline]
 

Get the list of code.

Definition at line 240 of file module.h.

References _ListCode, and NLAISCRIPT::TListCode.

00241                 {
00242                         return _ListCode;
00243                 }

void NLAISCRIPT::IBlock::load NLMISC::IStream is  )  [inline, virtual]
 

Load the class from a stream.

Implements NLAIC::IBasicInterface.

Definition at line 232 of file module.h.

00233                 {                       
00234                 }

TDicoStr* NLAISCRIPT::IBlock::lockDictionarry  )  [inline]
 

Locks the dictionnarry and get it.

Definition at line 141 of file module.h.

References _DicoLocVar, _HaveToDeleteDico, and NLAISCRIPT::TDicoStr.

00142                 {
00143                         _HaveToDeleteDico = false;
00144                         return _DicoLocVar;
00145                 }

const NLAIC::IBasicType* NLAISCRIPT::IBlock::newInstance  )  const [inline, virtual]
 

This function allow a new instance, that mean that the class is a class factory.

Implements NLAIC::IBasicType.

Definition at line 214 of file module.h.

References clone().

00215                 {
00216                         return clone();
00217                 }

void NLAISCRIPT::IBlock::pushBagCode CBagOfCode bOp  )  [inline]
 

Definition at line 279 of file module.h.

References _ListCode.

00280                 {
00281                         _ListCode.push_back(bOp);
00282                 }

void NLAISCRIPT::IBlock::pushCode IOpCode op  )  [inline]
 

Definition at line 264 of file module.h.

References _ListCode.

Referenced by NLAISCRIPT::CCompilateur::ifInterrogationEnd(), and NLAISCRIPT::CCompilateur::interrogationEnd().

00265                 {                                               
00266                         _ListCode.push_back(new CBagOfCode(op));
00267                 }       

virtual void NLAIC::IPointerGestion::release void   )  [inline, virtual, inherited]
 

Release allow to release the pointer. The last release when the _Ref is nul delete the object.

Definition at line 86 of file abstract_interface.h.

References NLAIC::IPointerGestion::decRef().

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAISCRIPT::CAgentClass::addBrancheCode(), NLAISCRIPT::CConstraintDebug::addIndex(), NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), NLAISCRIPT::COperatorClass::backward(), NLAILOGIC::CFirstOrderOperator::backward(), NLAILOGIC::CFirstOrderAssert::backward(), NLAISCRIPT::CCompilateur::buildObject(), NLAILINK::buildScript(), NLAISCRIPT::CCompilateur::callFunction(), NLAIC::CIdentType::CIdentType(), NLAISCRIPT::CCompilateur::clean(), NLAISCRIPT::CParam::clear(), NLAIAGENT::CVectorGroupType::clear(), NLAIAGENT::CGroupType::clear(), NLAIAGENT::CVolatilMemmory::CVolatilMemmory(), NLAISCRIPT::CFactorType::del(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIPYSERVER::endPythonInterface(), NLAIAGENT::CVectorGroupType::erase(), NLAIAGENT::CGroupType::erase(), NLAIAGENT::CVectorGroupType::eraseAll(), NLAIAGENT::CGroupType::eraseAll(), NLAISCRIPT::CCompilateur::errorMethodConstraint(), NLAISCRIPT::CCompilateur::errorTypeConstraint(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::COperatorClass::forward(), NLAILOGIC::CFirstOrderOperator::forward(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::COperatorScript::getDebugString(), NLAIAGENT::CAgentScript::getDebugString(), NLAILOGIC::IBaseOperator::IBaseOperator(), NLAISCRIPT::CCompilateur::ifInterrogation(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), NLAILOGIC::CFactPattern::init(), NLAILOGIC::CRule::init(), NLAIFUZZY::CTrapezeFuzzySet::init(), NLAIFUZZY::CLeftFuzzySet::init(), NLAIFUZZY::CTriangleFuzzySet::init(), NLAIFUZZY::CRightFuzzySet::init(), NLAIFUZZY::CFuzzyInterval::init(), NLAIFUZZY::CFuzzyRule::init(), NLAIFUZZY::CSimpleFuzzyCond::init(), NLAISCRIPT::CCompilateur::interrogationEnd(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAIAGENT::IAgent::Kill(), NLAILOGIC::CVar::load(), NLAILOGIC::CValueSet::load(), NLAISCRIPT::CLdbOpCode::load(), NLAISCRIPT::CLibCallMethodi::load(), NLAISCRIPT::CLibCallInheritedMethod::load(), NLAISCRIPT::CLibCallMethod::load(), NLAISCRIPT::CLdbNewOpCode::load(), NLAISCRIPT::CAddParamNameDebug::load(), NLAISCRIPT::CFindRunMsg::load(), NLAIAGENT::IListBasicManager::load(), NLAIAGENT::CVectorGroupType::load(), NLAIAGENT::CGroupType::load(), NLAIAGENT::CAgentScript::load(), NLAIAGENT::CStringType::load(), NLAIAGENT::CLocalAgentMail::load(), NLAISCRIPT::CMethodContextDebug::loadContext(), NLAISCRIPT::CCompilateur::onEndClass(), NLAIAGENT::CLocalMailBox::onKill(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::CLocalAgentMail::onKill(), NLAIAGENT::CVectorGroupType::operator-(), NLAIAGENT::CGroupType::operator-(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::PrivateError(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::IRefrence::refLoadStream(), NLAISCRIPT::CCompilateur::registerMethod(), NLAIAGENT::IAgentComposite::removeChild(), NLAILOGIC::CFirstOrderAssert::removeFact(), NLAISCRIPT::CConstraintStackComp::run(), NLAISCRIPT::CConstraintFindRun::run(), NLAISCRIPT::CConstraintMethode::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CVolatilMemmory::runMessage(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAISCRIPT::CCompilateur::runMethodConstraint(), NLAILOGIC::CInternalGoal::runMethodeMember(), NLAILOGIC::CGoal::runMethodeMember(), NLAILOGIC::CFact::runMethodeMember(), NLAIAGENT::IObjectIA::runMethodeMember(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CLibHeapMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CJFalseOpCode::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CDiffOpCode::runOpCode(), NLAISCRIPT::CInfEqOpCode::runOpCode(), NLAISCRIPT::CSupEqOpCode::runOpCode(), NLAISCRIPT::CEqOpCode::runOpCode(), NLAISCRIPT::CInfOpCode::runOpCode(), NLAISCRIPT::CSupOpCode::runOpCode(), NLAISCRIPT::CMulOpCode::runOpCode(), NLAISCRIPT::CDivOpCode::runOpCode(), NLAISCRIPT::CSubOpCode::runOpCode(), NLAISCRIPT::CAddOpCode::runOpCode(), NLAISCRIPT::CNegOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAISCRIPT::CCompilateur::runTypeConstraint(), NLAIAGENT::CHashTimerManager::sendMessage(), NLAIAGENT::CVolatilMemmory::sendMessage(), NLAIAGENT::CLocalMailBox::sendMessage(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentTimerHandle::sendMessage(), NLAIAGENT::CAgentScript::sendMessage(), NLAIAGENT::CAgentScript::sendMethod(), NLAISCRIPT::COperandSimple::serial(), NLAISCRIPT::CObjectUnknown::setBaseType(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CClassInterpretFactory::setClass(), NLAIC::CSelfClassFactory::setClass(), NLAISCRIPT::IClassInterpret::setClassName(), NLAISCRIPT::CObjectUnknown::setClassType(), NLAIAGENT::IMessageBase::setContinuation(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::COperatorClass::setGoal(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CParam::setInfo(), NLAISCRIPT::CAgentClass::setInheritanceName(), NLAISCRIPT::CCompilateur::setListVar(), NLAIAGENT::IMessageBase::setMessageGroup(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAILOGIC::IBaseVar::setName(), NLAIAGENT::CAgentOperation::setName(), NLAISCRIPT::CMethodeName::setName(), NLAIAGENT::IRefrence::setNumRef(), NLAISCRIPT::CConstraintFindRun::setOpCode(), NLAISCRIPT::CConstraintMethode::setOpCode(), NLAISCRIPT::CCompilateur::setPerformative(), NLAILOGIC::CInternalGoal::setProperty(), NLAIAGENT::IMessageBase::setReceiver(), NLAIAGENT::IMessageBase::setSender(), NLAILOGIC::CValueSet::setSize(), NLAISCRIPT::CCompilateur::setStackVar(), NLAIAGENT::CMessageScript::setStaticMember(), NLAIAGENT::CAgentScript::setStaticMember(), NLAISCRIPT::IClassInterpret::setType(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAISCRIPT::CMethodeName::setTypeOfMethode(), NLAILOGIC::CVar::setValue(), NLAIAGENT::CAgentOperation::setValue(), NLAIAGENT::IAgentInput::setValue(), NLAILOGIC::CValueSet::unify(), NLAISCRIPT::COperatorClass::unifyBackward(), NLAILOGIC::CFirstOrderOperator::unifyBackward(), NLAISCRIPT::COperatorClass::unifyForward(), NLAILOGIC::CFirstOrderOperator::unifyForward(), NLAILOGIC::CRule::unifyLiaisonBack(), NLAISCRIPT::CAddParamNameDebug::~CAddParamNameDebug(), NLAISCRIPT::CAgentClass::~CAgentClass(), NLAIAGENT::CAgentOperation::~CAgentOperation(), NLAIAGENT::CAgentScript::~CAgentScript(), NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(), NLAIAGENT::CAgentWatchTimer::~CAgentWatchTimer(), NLAISCRIPT::CClassInterpretFactory::~CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::~CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::~CCompilateur(), NLAIAGENT::CComponentHandle::~CComponentHandle(), NLAISCRIPT::CConstraintChkMethodeType::~CConstraintChkMethodeType(), NLAISCRIPT::CConstraintMethode::~CConstraintMethode(), NLAISCRIPT::CConstraintStackComp::~CConstraintStackComp(), NLAILOGIC::CFact::~CFact(), NLAISCRIPT::CFindRunMsg::~CFindRunMsg(), NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert(), NLAISCRIPT::CFunctionTag::~CFunctionTag(), NLAIC::CIdentType::~CIdentType(), NLAIAGENT::CIdMethod::~CIdMethod(), NLAILOGIC::CInternalGoal::~CInternalGoal(), NLAIAGENT::CKeyObject::~CKeyObject(), NLAISCRIPT::CLdbNewOpCode::~CLdbNewOpCode(), NLAISCRIPT::CLdbOpCode::~CLdbOpCode(), NLAISCRIPT::CLibCallInheritedMethod::~CLibCallInheritedMethod(), NLAISCRIPT::CLibCallMethod::~CLibCallMethod(), NLAISCRIPT::CLibCallMethodi::~CLibCallMethodi(), NLAIAGENT::CLocalMailBox::~CLocalMailBox(), NLAIAGENT::CMainAgentScript::~CMainAgentScript(), NLAISCRIPT::CLibTest::CMethodCall::~CMethodCall(), NLAIAGENT::CAgentScript::CMethodCall::~CMethodCall(), NLAISCRIPT::CMethodeName::~CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::~CMethodType(), NLAISCRIPT::CObjectUnknown::~CObjectUnknown(), NLAISCRIPT::COperandSimple::~COperandSimple(), NLAISCRIPT::COperandUnknown::~COperandUnknown(), NLAISCRIPT::COperationType::~COperationType(), NLAISCRIPT::COperationTypeGD::~COperationTypeGD(), NLAISCRIPT::COperatorClass::~COperatorClass(), NLAIAGENT::CPairType::~CPairType(), NLAIC::CSelfClassFactory::~CSelfClassFactory(), NLAIAGENT::CStringType::~CStringType(), NLAILOGIC::CValueSet::~CValueSet(), NLAILOGIC::CVar::~CVar(), NLAIAGENT::CVolatilMemmory::~CVolatilMemmory(), NLAIAGENT::IAgentInput::~IAgentInput(), NLAILOGIC::IBaseAssert::~IBaseAssert(), NLAILOGIC::IBaseOperator::~IBaseOperator(), NLAILOGIC::IBaseVar::~IBaseVar(), NLAIAGENT::IBasicAgent::~IBasicAgent(), ~IBlock(), NLAISCRIPT::IClassInterpret::~IClassInterpret(), NLAILOGIC::IGoal::~IGoal(), NLAIAGENT::IListBasicManager::~IListBasicManager(), NLAIAGENT::IMessageBase::~IMessageBase(), NLAIAGENT::IRefrence::~IRefrence(), and NLAICHARACTER::IZone::~IZone().

00087                 {
00088                         if(decRef() == 0) 
00089                                         delete this;
00090                 }

const NLAIAGENT::IObjectIA::CProcessResult & NLAISCRIPT::IBlock::run  ) 
 

Definition at line 28 of file module.cpp.

00029         {
00030                 return NLAIAGENT::IObjectIA::ProcessRun;
00031         }

void NLAISCRIPT::IBlock::save NLMISC::IStream os  )  [inline, virtual]
 

Save the class in a stream.

Implements NLAIC::IBasicInterface.

Definition at line 228 of file module.h.

00229                 {                       
00230                 }

virtual void NLAIC::IBasicInterface::serial NLMISC::IStream f  )  throw (NLMISC::EStream) [inline, virtual, inherited]
 

Reimplemented from NLAIC::IPointerGestion.

Definition at line 328 of file abstract_interface.h.

References NLAIC::IBasicInterface::load(), and NLAIC::IBasicInterface::save().

00329                 {
00330                         if ( f.isReading() )
00331                                 load( f );
00332                         else
00333                                 save( f );
00334                 }

void NLAISCRIPT::IBlock::setCurrentLine uint16  line  )  [inline]
 

Set the current line number in the source code.

Definition at line 291 of file module.h.

References _CurrentLine, and uint16.

Referenced by NLAISCRIPT::CCompilateur::setNewLine().

00292                 {
00293                         _CurrentLine = line;
00294                 }

void NLAISCRIPT::IBlock::setFirstOpCodeInLine bool  b  )  [inline]
 

Set the Flag _FirstOpCodeInLine.

Definition at line 297 of file module.h.

References _FirstOpCodeInLine.

Referenced by NLAISCRIPT::CCompilateur::setNewLine().

00298                 {
00299                         _FirstOpCodeInLine = b;
00300                 }


Field Documentation

CCodeBrancheRun* NLAISCRIPT::IBlock::_Cbr [private]
 

Op-code that define the block. This object is build at the end of parse.

Definition at line 54 of file module.h.

Referenced by IBlock(), isCodeMonted(), and ~IBlock().

uint16 NLAISCRIPT::IBlock::_CurrentLine [private]
 

True while no new opCode as been add since the laste
.

Definition at line 64 of file module.h.

Referenced by addCode(), IBlock(), and setCurrentLine().

bool NLAISCRIPT::IBlock::_Debug [private]
 

Definition at line 62 of file module.h.

TDicoStr* NLAISCRIPT::IBlock::_DicoLocVar [private]
 

Local variable is stored here.

Definition at line 58 of file module.h.

Referenced by allocLocVar(), eraseVar(), getVar(), IBlock(), lockDictionarry(), and ~IBlock().

bool NLAISCRIPT::IBlock::_FirstOpCodeInLine [private]
 

Switch between a normal CCodeBrancheRun and a debug one.

Definition at line 63 of file module.h.

Referenced by addCode(), IBlock(), and setFirstOpCodeInLine().

bool NLAISCRIPT::IBlock::_HaveToDeleteDico [private]
 

If user want a reference to the local variable dictionary then we don't have to delete it.

Definition at line 60 of file module.h.

Referenced by IBlock(), lockDictionarry(), and ~IBlock().

TListCode NLAISCRIPT::IBlock::_ListCode [private]
 

This list containe the bag of code.

Definition at line 56 of file module.h.

Referenced by addCode(), getBack(), getBagOfCode(), getCode(), getCodeDebug(), getFront(), listCode(), pushBagCode(), pushCode(), and ~IBlock().

const NLAIC::CIdentType NLAISCRIPT::IBlock::IdBlock [static]
 

Referenced by getType().


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 12:33:35 2004 for NeL by doxygen 1.3.6