+
+ // message command
+ if (command.code==cMessage)
+ {
+ if (words.size()<3)
+ {
+ mVirtualExecuter->HelpMessages();
+ }
+ else
+ {
+ sscanf(words[2].c_str(),"%d",&level);
+ mVirtualExecuter->SetMessageLevel(words[1],level);
+ }
+ return;
+ }
+ else
+ {
+ bbtkMessage("echo",2,line<<std::endl);
+ }
+
+ // break and quit commands
+ if ((command.code==cBreak) || (command.code==cQuit))
+ {
+ bool in_script = false;
+ std::string file("");
+ int line = 0;
+ if (mFileName.size())
+ {
+ std::ifstream* fs = dynamic_cast<std::ifstream*>(mFile.back());
+ if (fs!=0) in_script = true;
+ file = mFileName.back();
+ line = mLine.back();
+ }
+ if (command.code==cBreak)
+ {
+ /*
+ std::cout << "BreakException("
+ <<in_script<<","
+ <<file<<","
+ <<line<<")"<<std::endl;
+ */
+ bbtkError("break");//,in_script,file,line);
+ // throw BreakException(in_script,file,line);
+ }
+ else
+ {
+ bbtkError("quit");//,in_script,file,line);
+ //throw QuitException(in_script,file,line);
+ }
+ return;
+ }
+
+ // other cammands