#include <codage.h>
Inheritance diagram for NLAISCRIPT::CCodeBrancheRun:
Define a table for storage and run op-code.
Nevrax France
Definition at line 504 of file codage.h.
IBasicInterface method. | |
const NLAIC::IBasicType * | clone () const |
void | getDebugString (std::string &) const |
const NLAIC::CIdentType & | getType () const |
void | load (NLMISC::IStream &f) |
const NLAIC::IBasicType * | newInstance () const |
void | save (NLMISC::IStream &f) |
Public Member Functions | |
virtual TQueue | canProcessMessage (const IVarName &) |
CCodeBrancheRun (NLMISC::IStream &is) | |
the constructor built a class with a stream. | |
CCodeBrancheRun (int N) | |
the constructor built a class with N NUL op code. | |
CCodeBrancheRun (int N, const IOpCode &op) | |
the constructor built a class with N op code copy of the op parametre. | |
CCodeBrancheRun (const TListCode &l) | |
you can construct the class with a liste of op code. | |
CCodeBrancheRun (const CCodeBrancheRun &l) | |
copy constructor of the class. | |
sint32 | decRef () |
Decrement the reference of an object. | |
virtual const std::string | getInfo () |
virtual std::string | getMethodeMemberDebugString (sint32, sint32) const |
virtual sint32 | getMethodIndexSize () const |
const sint32 & | getRef () const |
get the refence count. | |
const IObjectIA * | getStaticMember (const IVarName &compName) const |
virtual const IObjectIA * | getStaticMember (sint32) const |
virtual sint32 | getStaticMemberIndex (const IVarName &) const |
virtual sint32 | getStaticMemberSize () const |
void | incRef () |
Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list. | |
virtual void | init (IObjectIA *) |
void | init () |
void | initCode (const CCodeBrancheRun &l) |
void | initCode (const TListCode &l) |
virtual sint32 | isClassInheritedFrom (const IVarName &) const |
virtual bool | isEqual (const IBasicObjectIA &a) const=0 |
virtual bool | isLocal () |
If the result is true the object is loclal else its a representation of an object on the server. By the method return true. | |
virtual TQueue | isMember (const IVarName *, const IVarName *, const IObjectIA &) const |
IOpCode & | nextCode () |
get the op code from the curent position. | |
operator uint32 () | |
get the ip pointer. | |
void | operator+= (uint32 l) |
move the ip pointer at l element. | |
void | operator= (uint32 l) |
set the code pointer to l range. | |
bool | operator== (const IBasicObjectIA &classType) const |
IOpCode *& | operator[] (int i) |
allow us to acces to an element in the internal table of the class. | |
virtual void | release () |
Release allow to release the pointer. The last release when the _Ref is nul delete the object. | |
virtual CProcessResult | runMethodeMember (sint32 index, IObjectIA *) |
virtual CProcessResult | runMethodeMember (sint32, sint32, IObjectIA *) |
virtual const CProcessResult & | runStep () |
virtual CProcessResult | sendMessage (const IVarName &, IObjectIA *) |
virtual CProcessResult | sendMessage (IObjectIA *) |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
virtual bool | setStaticMember (sint32, IObjectIA *) |
bool | setStaticMember (const IVarName &compName, IObjectIA *change) |
virtual | ~CCodeBrancheRun () |
ICodeBranche method. | |
void | getDebugResult (std::string &str, CCodeContext &context) const |
gets debug string from the op-code. | |
virtual const NLAIAGENT::IObjectIA::CProcessResult & | run (CCodeContext &) |
Run with a given context. | |
virtual const NLAIAGENT::IObjectIA::CProcessResult & | run (NLAIAGENT::IObjectIA &self) |
Run for a given self class. The method create a new context. | |
NLAIAGENT::TProcessStatement | runOpCode (CCodeContext &context) |
Computation of the op-code with a given context. | |
Static Public Attributes | |
const NLAIC::CIdentType | IdCodeBrancheRun |
NLAIC::IIO * | InputOutput = NULL |
TProcessStatement | ProcessBuzzy = processBuzzy |
TProcessStatement | ProcessEnd = processEnd |
TProcessStatement | ProcessError = processError |
TProcessStatement | ProcessIdle = processIdle |
TProcessStatement | ProcessLocked = processLocked |
CProcessResult | ProcessNotComplit = IObjectIA::CProcessResult(processNotComplete) |
CProcessResult | ProcessRun = IObjectIA::CProcessResult() |
Protected Member Functions | |
void | del () |
del allow the class to del and reinitialize the class. | |
Protected Attributes | |
int | _Count |
The count of the op code table. | |
int | _Ip |
The code pointer index of the curent op code in run. | |
NLAIAGENT::IObjectIA::CProcessResult | _RunState |
The state of tje last run method called. | |
IOpCode ** | _TableCode |
Table for storage the op code. |
|
copy constructor of the class.
Definition at line 540 of file codage.h. References NLAISCRIPT::l. Referenced by newInstance().
00540 :_TableCode(NULL),_Ip(0),_Count(l._Count) 00541 { 00542 _TableCode = new IOpCode * [_Count]; 00543 for(int i = 0 ;i < _Count; i ++) 00544 { 00545 _TableCode[i] = (IOpCode *)l._TableCode[i];//->clone(); 00546 _TableCode[i]->incRef(); 00547 } 00548 } |
|
you can construct the class with a liste of op code.
Definition at line 551 of file codage.h. References NLAISCRIPT::l, size, and NLAISCRIPT::TListCode.
00551 : 00552 _TableCode(NULL),_Ip(0),_Count(l.size()) 00553 { 00554 initCode(l); 00555 } |
|
the constructor built a class with N op code copy of the op parametre.
Definition at line 205 of file codage.cpp. References _TableCode, and NLAIC::IBasicType::clone().
00205 :_TableCode(NULL),_Ip(0),_Count(N) 00206 { 00207 _TableCode = new IOpCode * [N]; 00208 for(int i = 0 ;i < _Count; i ++) 00209 { 00210 _TableCode[i] = (IOpCode *)op.clone(); 00211 } 00212 00213 } |
|
the constructor built a class with N NUL op code.
Definition at line 215 of file codage.cpp. References _TableCode.
00215 :_TableCode(NULL),_Ip(0),_Count(N) 00216 { 00217 _TableCode = new IOpCode * [N]; 00218 for(int i = 0 ;i < _Count; i ++) 00219 { 00220 _TableCode[i] = NULL; 00221 } 00222 00223 } |
|
the constructor built a class with a stream.
Definition at line 563 of file codage.h.
00563 :_TableCode(NULL),_Ip(0),_Count(0) 00564 { 00565 load(is); 00566 } |
|
Definition at line 568 of file codage.h.
00569 { 00570 del(); 00571 } |
|
The method canProcessMessage(const IVarName &msgName) allow us to know if agent can preocess given by msgName. TQueue contain the liste of method (same as a run(msg)) that coud process the msg. Reimplemented in NLAIAGENT::CLocalAgentMail. Definition at line 350 of file baseai.cpp. References NLAIAGENT::TQueue. Referenced by NLAIAGENT::CLocalAgentMail::canProcessMessage().
00351 { 00352 return TQueue(); 00353 } |
|
This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne. Implements NLAIC::IBasicType. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 653 of file codage.h. References x.
00654 { 00655 NLAIC::IBasicType *x = new CCodeBrancheRun(*this); 00656 return x; 00657 } |
|
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 }
|
|
del allow the class to del and reinitialize the class.
Definition at line 522 of file codage.h. Referenced by NLAISCRIPT::CCodeBrancheRunDebug::initCode(), and load().
00523 { 00524 if(_TableCode != NULL) 00525 { 00526 for(int i = 0 ;i < _Count; i ++) 00527 { 00528 if(_TableCode[i]) _TableCode[i]->release(); 00529 } 00530 delete []_TableCode; 00531 } 00532 } |
|
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 } |
|
gets debug string from the op-code.
Implements NLAISCRIPT::IOpCode. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 225 of file codage.cpp. References _Ip, _TableCode, and NLAISCRIPT::IOpCode::getDebugResult().
00226 { 00227 _TableCode[_Ip]->getDebugResult(str,P); 00228 } |
|
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 90 of file codage.cpp. References NLAIC::stringGetBuild(), and t.
00091 { 00092 t += NLAIC::stringGetBuild("<CCodeBrancheRun _count = %d>", _Count); 00093 } |
|
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 } |
|
The methode getMethodeMemberDebugString(sint32 heritance, sint32 index) return a string that define the name and the argument of the method Reimplemented in NLAIAGENT::CAgentScript. Definition at line 311 of file baseai.cpp. References sint32. Referenced by NLAISCRIPT::CCallHeapMethodi::getDebugResult(), NLAISCRIPT::CCallStackMethodi::getDebugResult(), NLAISCRIPT::CCallMethodi::getDebugResult(), NLAISCRIPT::CLibHeapMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackNewMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackMemberMethod::getDebugResult(), NLAISCRIPT::CLibCallMethodi::getDebugResult(), NLAISCRIPT::CLibCallInheritedMethod::getDebugResult(), NLAISCRIPT::CLibCallMethod::getDebugResult(), NLAISCRIPT::CLibMemberMethodi::getDebugResult(), NLAISCRIPT::CLibMemberInheritedMethod::getDebugResult(), and NLAISCRIPT::CLibMemberMethod::getDebugResult().
00312 { 00313 switch(id) 00314 { 00315 case 0: 00316 { 00317 return std::string("IObjectIA::sendMessage(IMessage)"); 00318 } 00319 break; 00320 case 1: 00321 break; 00322 case 2: 00323 return std::string("IObjectIA::run()"); 00324 break; 00325 00326 case 3: 00327 { 00328 return std::string("IObjectIA::getStaticMember(Integer)"); 00329 } 00330 } 00331 return std::string("Mathod_?????(Param_?????)"); 00332 } |
|
getMethodIndexSize define the nomber of method define in the class. Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IBasicAgent, NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::CPairType, NLAIAGENT::IBaseGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::IObjetOp, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CLibTimerManager, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentTimerHandle, NLAILOGIC::CGoalStack, NLAIAGENT::IListBasicManager, NLAIAGENT::CMessageScript, NLAIAGENT::IMessageBase, NLAIAGENT::CAgentOperation, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CFact, NLAIAGENT::CFsmScript, NLAILOGIC::CGoal, NLAILOGIC::CInternalGoal, NLAILOGIC::CGoalPath, NLAILOGIC::CGoalStack, NLAIAGENT::COperatorScript, NLAILOGIC::IBaseVar, NLAISCRIPT::CAgentClass, and NLAISCRIPT::CLibTest. Definition at line 251 of file baseai.cpp. References sint32.
00252 {
00253 return 4;
00254 }
|
|
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 }
|
|
to get the pointer of a given components referened by an string. Definition at line 261 of file baseai.h. References NLAIAGENT::IObjectIA::getStaticMember(), and NLAIAGENT::IObjectIA::getStaticMemberIndex().
00262 { 00263 return getStaticMember(getStaticMemberIndex(compName)); 00264 } |
|
|
to get the index of a given components name. Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CMessageScript. Definition at line 188 of file baseai.cpp. References sint32. Referenced by NLAISCRIPT::CCompilateur::affectation(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::IObjectIA::getStaticMember(), NLAIAGENT::CLocalAgentMail::getStaticMemberIndex(), NLAISCRIPT::CCompilateur::getValidateHierarchyBase(), NLAISCRIPT::CCompilateur::isValidateVarName(), NLAISCRIPT::CCodeBrancheRunDebug::printVariable(), NLAISCRIPT::CCompilateur::processingVar(), NLAISCRIPT::CConstraintStackComp::run(), and NLAIAGENT::IObjectIA::setStaticMember().
00189 {
00190 return -1;
00191 }
|
|
Static member is the component that the agent is create and die with. getStaticMemberSize to get the size of the static member components Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMessageScript, NLAISCRIPT::IClassInterpret, and NLAISCRIPT::CAgentClass. Definition at line 180 of file baseai.cpp. References NLAIC::IBasicType::getType(), sint32, and NLAIC::stringGetBuild(). Referenced by NLAIAGENT::CLocalAgentMail::getStaticMemberSize().
00181 { 00182 std::string text; 00183 text = NLAIC::stringGetBuild("sint32 IObjectIA::getStaticMemberSize() note implementaited for the '%s' interface",(const char *)getType()); 00184 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00185 return 0; 00186 } |
|
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. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 230 of file codage.cpp. References IdCodeBrancheRun. Referenced by NLAISCRIPT::CConstraintDebug::addIndex(), and save().
00231 { 00232 return IdCodeBrancheRun; 00233 } |
|
|
Init method alows to init the attribut of an object. the maparmetre is in more time a list of IObjectIA. Reimplemented in NLAIFUZZY::CSimpleFuzzyCond, NLAIFUZZY::CFuzzyRule, NLAIFUZZY::CFuzzyRuleSet, NLAIFUZZY::CFuzzyInterval, NLAIFUZZY::CRightFuzzySet, NLAIFUZZY::CTriangleFuzzySet, NLAIFUZZY::CTrapezeFuzzySet, NLAIFUZZY::CLeftFuzzySet, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CFirstOrderAssert, NLAILOGIC::CRule, and NLAILOGIC::CFactPattern. Definition at line 116 of file baseai.cpp. Referenced by NLAIFUZZY::IFuzzySet::runMethodeMember(), and NLAISCRIPT::CLdbNewOpCode::runOpCode().
00117 { 00118 00119 } |
|
Definition at line 627 of file codage.h.
00628 { 00629 _Ip = 0; 00630 } |
|
Definition at line 589 of file codage.h. References NLAISCRIPT::l.
00590 { 00591 del(); 00592 00593 _Ip = 0; 00594 _Count = l._Count; 00595 00596 _TableCode = new IOpCode * [_Count]; 00597 for(int i = 0; i < _Count;i ++) 00598 { 00599 _TableCode[i ++] = (IOpCode *)l._TableCode[i]->clone(); 00600 } 00601 } |
|
Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 574 of file codage.h. References NLAISCRIPT::l, and NLAISCRIPT::TListCode.
00575 { 00576 del(); 00577 _Count = l.size(); 00578 00579 TListCode::const_iterator i; 00580 _TableCode = new IOpCode * [l.size()]; 00581 i = l.begin(); 00582 int k = 0; 00583 while(i != l.end()) 00584 { 00585 _TableCode[k ++] = (IOpCode *)*i++; 00586 } 00587 } |
|
isClassInheritedFrom(className) allow us to known if this class have a base class with the name className. If true the method return the range of the base class, this range is an arbitrary reference id define by the programmer or bay the scrypt. the false return is define by -1. Reimplemented in NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::IBaseGroupType, and NLAIAGENT::CMessageScript. Definition at line 246 of file baseai.cpp. References sint32. Referenced by NLAISCRIPT::CCompilateur::getValidateHierarchyBase(), NLAIAGENT::CLocalAgentMail::isClassInheritedFrom(), NLAIAGENT::CActorScript::Launch(), NLAIAGENT::CFsmScript::setTopLevel(), and NLAIAGENT::CActorScript::setTopLevel().
00247 {
00248 return -1;
00249 }
|
|
|
Definition at line 664 of file codage.h.
00664 { return true;} |
|
If the result is true the object is loclal else its a representation of an object on the server. By the method return true.
Definition at line 356 of file baseai.cpp.
00357 { 00358 return true; 00359 } |
|
The method isMember(nameSubClass,methodName,param) return the best method correspondent to the search. remember we use the overloadind method. NameSubClass: if this pointer is not NULL then NameSubClass is the name of the base class were the method are defined. methodName: is the name of the class. param: is an IObjectIA where it defined the parametre of the method. lot of method use a IObjectIA vector object with an NLAIC::CIdentType as the the template argm. Reimplemented in NLAIAGENT::IBasicAgent, NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::CPairType, NLAIAGENT::IBaseGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentTimerHandle, NLAIAGENT::IListBasicManager, NLAIAGENT::CMessageScript, and NLAIAGENT::IMessageBase. Definition at line 206 of file baseai.cpp. References _CONSTRUCTOR_, _RUN_, _SEND_, param, r, NLAIAGENT::IObjectIA::run(), and NLAIAGENT::TQueue. Referenced by NLAIAGENT::CAgentWatchTimer::addAttrib(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::CAgentClass::isMember(), NLAIAGENT::CLocalAgentMail::isMember(), and NLAISCRIPT::CFindRunMsg::runOpCode().
00207 { 00208 static CStringVarName send(_SEND_); 00209 static CStringVarName constructor(_CONSTRUCTOR_); 00210 static CStringVarName run(_RUN_); 00211 static CStringVarName statM("GetStaticMember"); 00212 00213 if(*methodName == send) 00214 { 00215 TQueue r; 00216 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00217 r.push(CIdMethod(0,0.0,NULL,c)); 00218 return r; 00219 } 00220 else 00221 if(*methodName == constructor && !((const NLAISCRIPT::CParam &)param).size()) 00222 { 00223 TQueue r; 00224 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00225 r.push(CIdMethod(1,0.0,NULL,c)); 00226 return r; 00227 } 00228 else 00229 if(*methodName == run && !((const NLAISCRIPT::CParam &)param).size()) 00230 { 00231 TQueue r; 00232 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00233 r.push(CIdMethod(2,0.0,NULL,c)); 00234 return r; 00235 } 00236 if(*methodName == statM && ((const NLAISCRIPT::CParam &)param).size()) 00237 { 00238 TQueue r; 00239 CObjectType *c = new CObjectType(new NLAIC::CIdentType(*IAgent::IdAgent)); 00240 r.push(CIdMethod(3,0.0,NULL,c)); 00241 return r; 00242 } 00243 return TQueue(); 00244 } |
|
Load the class from a stream. Implements NLAIC::IBasicInterface. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 61 of file codage.cpp. References _TableCode, count, del(), NLAIC::IBasicInterface::load(), s, NLMISC::IStream::serial(), and sint32.
00062 { 00063 NLAIC::CIdentTypeAlloc id; 00064 del(); 00065 00066 sint32 count; 00067 is.serial( count ); 00068 _Count = count; 00069 _TableCode = new IOpCode * [_Count]; 00070 for(int i = 0 ;i < _Count; i ++) 00071 { 00072 std::string s; 00073 is.serial( s ); 00074 #ifdef NL_DEBUG 00075 const char *ss = s.data(); 00076 #endif 00077 is.serial( id ); 00078 _TableCode[i] = (IOpCode *)id.allocClass(); 00079 _TableCode[i]->load(is); 00080 } 00081 00082 } |
|
This function allow a new instance, that mean that the class is a class factory. Implements NLAIC::IBasicType. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 84 of file codage.cpp. References CCodeBrancheRun(), and x.
00085 { 00086 NLAIC::IBasicType *x = new CCodeBrancheRun(1,CHaltOpCode()); 00087 return x; 00088 } |
|
get the op code from the curent position.
Implements NLAISCRIPT::ICodeBranche. Definition at line 633 of file codage.h. Referenced by NLAISCRIPT::CCodeBrancheRunDebug::runOpCode(), and runOpCode().
00634 { 00635 return *_TableCode[_Ip++]; 00636 } |
|
get the ip pointer.
Definition at line 622 of file codage.h.
00623 { 00624 return _Ip; 00625 } |
|
move the ip pointer at l element.
Definition at line 616 of file codage.h. References NLAISCRIPT::l, and uint32.
|
|
set the code pointer to l range.
Definition at line 610 of file codage.h. References NLAISCRIPT::l, and uint32.
|
|
Lot of algo use this function to determine the equality between 2 class, in particular the extraction from stl list. the == operator call the bool isEqual(const IBasicObjectIA &a) const member method to determine the equality between tow class. Definition at line 134 of file baseai.cpp. References NLAIC::IBasicType::getType(), and NLAIAGENT::IBasicObjectIA::isEqual().
|
|
allow us to acces to an element in the internal table of the class.
Definition at line 604 of file codage.h.
00605 { 00606 return _TableCode[i]; 00607 } |
|
|
Some where Run method define the process of the agen. Implements NLAIAGENT::IObjectIA. Definition at line 95 of file codage.cpp. References NLAIAGENT::IObjectIA::CProcessResult::Result, and NLAIAGENT::IObjectIA::CProcessResult::ResultState. Referenced by NLAISCRIPT::CCodeBrancheRunDebug::run(), and run().
00096 { 00097 _RunState.ResultState = NLAIAGENT::processBuzzy; 00098 _RunState.Result = NULL; 00099 CStackPointer stack,heap; 00100 CCodeContext p(stack,heap,this,NULL,InputOutput); 00101 00102 CVarPStack::_LocalTableRef = &heap[0]; 00103 stack --; 00104 00105 run(p); 00106 00107 stack -= (int)stack; 00108 heap -= (int)heap; 00109 return _RunState; 00110 } |
|
Run with a given context.
Implements NLAISCRIPT::ICodeBranche. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 138 of file codage.cpp. References _Ip, NLAIAGENT::IObjectIA::CProcessResult::ResultState, runOpCode(), sint, NLAISCRIPT::CCodeContext::Stack, and NLAIC::stringGetBuild().
00139 { 00140 NLAIAGENT::TProcessStatement i = NLAIAGENT::processIdle; 00141 #ifdef NL_DEBUG 00142 if(NL_AI_DEBUG_SERVER) 00143 { 00144 Marker += "\t"; 00145 kMarker ++; 00146 #ifdef NL_OS_WINDOWS 00147 std::string chaine = std::string("\n\n") + Marker; 00148 chaine += NLAIC::stringGetBuild("Begin with sp = %d \n\n", p.Stack.CIndexStackPointer::operator int()); 00149 OutputDebugString(chaine.c_str()); 00150 #endif 00151 } 00152 #endif 00153 00154 while(i != NLAIAGENT::processEnd) 00155 { 00156 i = runOpCode(p); 00157 } 00158 00159 00160 #ifdef NL_DEBUG 00161 if(NL_AI_DEBUG_SERVER) 00162 { 00163 std::string chaine = std::string("\n\n") + Marker; 00164 #ifdef NL_OS_WINDOWS 00165 chaine += NLAIC::stringGetBuild("End with sp = %d \n\n", p.Stack.CIndexStackPointer::operator int()); 00166 OutputDebugString(chaine.c_str()); 00167 #endif 00168 kMarker --; 00169 sint i; 00170 chaine = ""; 00171 for(i = 0; i < (sint)kMarker; i ++) 00172 { 00173 chaine += Marker [i]; 00174 } 00175 Marker = chaine; 00176 } 00177 #endif 00178 _Ip = 0; 00179 _RunState.ResultState = NLAIAGENT::processIdle; 00180 return _RunState; 00181 } |
|
Run for a given self class. The method create a new context.
Implements NLAISCRIPT::ICodeBranche. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 112 of file codage.cpp. References NLAIAGENT::IObjectIA::CProcessResult::Result, NLAIAGENT::IObjectIA::CProcessResult::ResultState, and run(). Referenced by NLAIAGENT::CAgentScript::callConstructor(), NLAIAGENT::CAgentScript::callFunction(), NLAISCRIPT::CAgentClass::initStatics(), and NLAIAGENT::CMainAgentScript::runExec().
00113 { 00114 _RunState.ResultState = NLAIAGENT::processBuzzy; 00115 _RunState.Result = NULL; 00116 CStackPointer stack,heap; 00117 CCodeContext p(stack,heap,this,&self,InputOutput); 00118 CVarPStack::_LocalTableRef = &heap[0]; 00119 stack --; 00120 00121 run(p); 00122 00123 stack -= (int)stack; 00124 heap -= (int)heap; 00125 return _RunState; 00126 } |
|
|
|
Computation of the op-code with a given context.
Implements NLAISCRIPT::IOpCode. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 183 of file codage.cpp. References NLAISCRIPT::IOpCode::getDebugResult(), nextCode(), and NLAISCRIPT::IOpCode::runOpCode(). Referenced by run().
00184 { 00185 IOpCode &op = nextCode(); 00186 00187 #ifdef NL_DEBUG 00188 if(NL_AI_DEBUG_SERVER) 00189 { 00190 std::string chaine,chainedebug; 00191 op.getDebugResult(chainedebug,p); 00192 if(kMarker) chaine = Marker + chainedebug; 00193 else chaine = chainedebug; 00194 chaine += "\n"; 00195 00196 #ifdef NL_OS_WINDOWS 00197 OutputDebugString(chaine.c_str()); 00198 #endif 00199 } 00200 #endif 00201 00202 return op.runOpCode(p); 00203 } |
|
Some where Run method define the process of the agen. Reimplemented in NLAIAGENT::IAgent, and NLAIAGENT::CAgentScript. Definition at line 163 of file baseai.cpp. References NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild(). Referenced by NLAIAGENT::IAgent::runChildrenStepByStep().
00164 { 00165 std::string text; 00166 text = NLAIC::stringGetBuild("const CProcessResult &IObjectIA::runStep() note implementaited for the '%s' interface",(const char *)getType()); 00167 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00168 return IObjectIA::ProcessNotComplit; 00169 } |
|
Save the class in a stream. Implements NLAIC::IBasicInterface. Reimplemented in NLAISCRIPT::CCodeBrancheRunDebug. Definition at line 42 of file codage.cpp. References _TableCode, count, getType(), NLMISC::IStream::serial(), sint32, NLAIC::stringGetBuild(), and x.
00043 { 00044 if(_TableCode != NULL) 00045 { 00046 sint32 count = _Count; 00047 os.serial( count ); 00048 for(int i = 0 ;i < _Count; i ++) 00049 { 00050 std::string text; 00051 text = NLAIC::stringGetBuild("Opcode '%s' No: %d",(const char *)_TableCode[i]->getType(),i); 00052 count = i; 00053 std::string x( text ); 00054 os.serial(x ); 00055 os.serial( (NLAIC::CIdentType &) _TableCode[i]->getType() ); 00056 os.serial( *_TableCode[i] ); 00057 } 00058 } 00059 } |
|
This method allow to send a message to an compoment given by an string IVarName. Reimplemented in NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::IMessageBase. Definition at line 334 of file baseai.cpp. References NLAIAGENT::IVarName::getString(), NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild().
00335 { 00336 std::string text; 00337 text = NLAIC::stringGetBuild("method 'sendMessage(%s,const IObjectIA &)' '%s' interface",name.getString(), (const char *)getType()); 00338 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00339 return CProcessResult(); 00340 } |
|
The method sendMessage(const IObjectIA &msg) allow us to achive a message defined in msg. Reimplemented in NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentTimerHandle, NLAIAGENT::IConnectIA, NLAIAGENT::IListManager, NLAIAGENT::CMainAgentScript, and NLAIAGENT::IMessageBase. Definition at line 342 of file baseai.cpp. References NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild(). Referenced by NLAIAGENT::IObjectIA::runMethodeMember(), NLAIAGENT::CAgentScript::sendBroadCast(), NLAIAGENT::IMessageBase::sendMessage(), NLAIAGENT::IListManager::sendMessage(), and NLAIAGENT::CAgentScript::sendMessage().
00343 { 00344 std::string text; 00345 text = NLAIC::stringGetBuild("method 'sendMessage(const IObjectIA &)' '%s' interface", (const char *)getType()); 00346 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00347 return CProcessResult(); 00348 } |
|
Reimplemented from NLAIC::IPointerGestion. Definition at line 328 of file abstract_interface.h. References NLAIC::IBasicInterface::load(), and NLAIC::IBasicInterface::save().
|
|
to cahnge a given components given by a string. Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMessageScript, and NLAISCRIPT::CAgentClass. Definition at line 198 of file baseai.cpp. References NLAIC::IBasicType::getType(), sint32, and NLAIC::stringGetBuild().
00199 { 00200 std::string text; 00201 text = NLAIC::stringGetBuild("Function void IObjectIA::setStaticMember(sint32,IObjectIA *) note implementaited for the '%s' interface",(const char *)getType()); 00202 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00203 return false; 00204 } |
|
to cahnge a given components given by an index. Definition at line 268 of file baseai.h. References NLAIAGENT::IObjectIA::getStaticMemberIndex(). Referenced by NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), and NLAIAGENT::CLocalAgentMail::setStaticMember().
00269 { 00270 return setStaticMember(getStaticMemberIndex(compName),change); 00271 } |
|
The count of the op code table.
|
|
The code pointer index of the curent op code in run.
Definition at line 513 of file codage.h. Referenced by getDebugResult(), and run(). |
|
The state of tje last run method called.
|
|
Table for storage the op code.
Definition at line 511 of file codage.h. Referenced by CCodeBrancheRun(), getDebugResult(), load(), and save(). |
|
Referenced by getType(). |
|
Definition at line 40 of file codage.cpp. |
|
Define the an buzzy state for an agent all time in this state. Definition at line 147 of file baseai.cpp. |
|
Define the an end state for an agent all time in this state. Definition at line 148 of file baseai.cpp. |
|
Define the an error state for an agent all time in this state. Definition at line 149 of file baseai.cpp. |
|
Define the an idle state for an agent all time in this state. Definition at line 145 of file baseai.cpp. |
|
Define the an locked state for an agent all time in this state. Definition at line 146 of file baseai.cpp. |
|
Definition at line 144 of file baseai.cpp. |
|
Definition at line 143 of file baseai.cpp. |