//=======================================================================
InterpreterVirtual::ExitStatus InterpreterVirtual::InterpretFile( const std::string& filename, bool source )
{
- bbtkDebugMessage("interpreter",4,"==> InterpreterVirtual::InterpretFile(\""<<filename<<"\")"<<std::endl);
+
+ printf("EED InterpreterVirtual::InterpretFile 1\n");
+ bbtkDebugMessage("interpreter",4,"==> InterpreterVirtual::InterpretFile(\""<<filename<<"\")"<<std::endl);
bool exm = mCommandLine;
mCommandLine = false;
mCommandLine = exm;
-
+
+ printf("EED InterpreterVirtual::InterpretFile 2\n");
+
return mStatus;
}
//=======================================================================
}
//=======================================================================
- void InterpreterVirtual::commandNew(std::string boxType, std::string boxName)
+ void InterpreterVirtual::commandNew(std::string boxType, std::string boxName) // virtual
{
+ printf("EED %p InterpreterVirtual::commandNew 1 %s %s\n", this, boxType.c_str(),boxName.c_str() );
}
void InterpreterVirtual::commandDelete(std::string boxName)
//=======================================================================
void InterpreterVirtual::DoInterpretLine( const std::string& line )
{
+
+ printf("EED %p InterpreterVirtual::DoInterpretLine 0 \n", this);
+ printf("EED %p InterpreterVirtual::DoInterpretLine line=%s \n", this, line.c_str() );
bbtkDebugMessage("interpreter",6,"==> InterpreterVirtual::DoInterpretLine(\""
<<line<<"\")"<<std::endl);
std::vector<std::string> words;
SplitLine(line,words);
+printf("EED %p InterpreterVirtual::DoInterpretLine word.size %d \n", this, (int)words.size() );
+
+
// Empty line
if (words.size()<1)
{
bbtkMessage("interpreter",9,"Multiline Comment"<<std::endl);
return;
}
+
+printf("EED %p InterpreterVirtual::DoInterpretLine word.size %d \n", this, (int)words.size() );
// Command
CommandInfoType command;
//std::cout<<" mVirtualExecuter->Create(words[1],words[2]); "<<line<<std::endl;
// other cammands
+printf("EED %p InterpreterVirtual::DoInterpretLine 4 command.code=%d\n", this, (int)command.code);
+
switch (command.code)
{
case cNew :
+printf("EED %p InterpreterVirtual::DoInterpretLine 5 %s %s\n", this, words[1].c_str() , words[2].c_str() );
commandNew(words[1],words[2]);
//EED Borrame mVirtualExecuter->Create(words[1],words[2]);
break;
bbtkDebugMessage("interpreter",6,"<== InterpreterVirtual::DoInterpretLine(\""
<<line<<"\")"<<std::endl);
+printf("EED %p InterpreterVirtual::DoInterpretLine 10\n", this);
+
+
}
//=======================================================================
// =========================================================================
void InterpreterVirtual::SwitchToFile( const std::string& name , bool source )
{
+ printf("EED InterpreterVirtual::SwitchToFile 1\n");
+ printf("EED InterpreterVirtual::SwitchToFile name=%s\n", name.c_str() );
+
// Note : in the following :
// name : the user supplied name
// - abreviated name e.g. scr scr.bbs
std::stringstream* stream = new std::stringstream;
//if (upath.size()!=0) // avoid troubles for "*"
-
+
+printf("EED InterpreterVirtual::SwitchToFile 2\n");
+
// ==== no path provided : look in root bbs path
if (upath.size()==0)
{
}
}
-
+printf("EED InterpreterVirtual::SwitchToFile 3\n");
+
// === search paths list complete : now explore it
int nbBssFiles = 0;
// ==== relative name, iterate + load all .bbs/.bbp files
//EED Borrame if (source) GetExecuter()->SetCurrentFileName(fullPathScriptName);
if (source) SetCurrentFileName(fullPathScriptName);
}
+
+printf("EED InterpreterVirtual::SwitchToFile 4\n");
+
return;
}
//=======================================================================
//=======================================================================
void InterpreterVirtual::SetCurrentFileName(std::string fullPathScriptName) // virtual
{
+ printf("EED InterpreterVirtual::SetCurrentFileName 1\n");
}
//=======================================================================
//=======================================================================
void InterpreterVirtual::SwitchToStream( std::stringstream* stream )
{
+printf("EED InterpreterVirtual::SwitchToStream 1\n");
+
bbtkDebugMessage("interpreter",4,"==> InterpreterVirtual::SwitchToStream()"
<<std::endl);
mFile.push_back(stream);
void InterpreterVirtual::InterpretCommand( const std::vector<std::string>& words,
CommandInfoType& info )
{
+
+ printf("EED InterpreterVirtual::InterpretCommand 1 \n");
bbtkDebugMessage("interpreter",9,"==> InterpreterVirtual::InterpretCommand(...)"<<std::endl);
// searches the command keyword
CommandDictType::iterator c;
c = mCommandDict.find(words[0]);
if ( c == mCommandDict.end() ) {
+printf("EED InterpreterVirtual::InterpretCommand 2 \n");
bbtkError(words[0]<<" : unknown command");
}
//EED HelpCommand(words[0]);
commandHelp(words[0]);
+printf("EED InterpreterVirtual::InterpretCommand 3 \n");
bbtkError(words[0]<<" : wrong number of arguments");
}
//std::cout<<"InterpreterVirtual::InterpretCommand( const std::vector<std::string>& words,"<<std::endl;
info = c->second;
+printf("EED InterpreterVirtual::InterpretCommand 4 \n" );
bbtkDebugMessage("interpreter",9,"<== InterpreterVirtual::InterpretCommand(...)"<<std::endl);
}