Пример #1
0
bool AdcCommand::getParam(const char* name, size_t start, StringList& ret) const {
	for(string::size_type i = start; i < getParameters().size(); ++i) {
		if(toCode(name) == toCode(getParameters()[i].c_str())) {
			ret.push_back(getParameters()[i].substr(2));
		}
	}
	return !ret.empty();
}
Пример #2
0
bool AdcCommand::getParam(const char* name, size_t start, string& ret) const {
	for(string::size_type i = start; i < getParameters().size(); ++i) {
		if(toCode(name) == toCode(getParameters()[i].c_str())) {
			ret = getParameters()[i].substr(2);
			return true;
		}
	}
	return false;
}
Пример #3
0
bool AdcCommand::hasFlag(const char* name, size_t start) const {
	for(string::size_type i = start; i < getParameters().size(); ++i) {
		if(toCode(name) == toCode(getParameters()[i].c_str()) &&
			getParameters()[i].size() == 3 &&
			getParameters()[i][2] == '1')
		{
			return true;
		}
	}
	return false;
}
Пример #4
0
int unifei::expertinos::mrta_vc::tasks::SkillLevels::toCode(unifei::expertinos::mrta_vc::tasks::levels::SkillLevelEnum enumerated)
{
	int code;
	switch (enumerated)
	{
		case unifei::expertinos::mrta_vc::tasks::levels::NONE:
			code = 0;
			break;
		case unifei::expertinos::mrta_vc::tasks::levels::LOW:
			code = 1;
			break;
		case unifei::expertinos::mrta_vc::tasks::levels::MODERATE:
			code = 2;
			break;
		case unifei::expertinos::mrta_vc::tasks::levels::HIGH:
			code = 3;
			break;
		case unifei::expertinos::mrta_vc::tasks::levels::RESOURCEFUL:
			code = 4;
			break;
		default:			
			code = toCode(getDefault());
	}
	return code;
}
Пример #5
0
int colors::Colors::toCode(colors::ColorEnum color)
{
	int color_code;
	switch (color)
	{
		case ORANGE:
			color_code = 0;
			break;
		case YELLOW:
			color_code = 1;
			break;
		case BLUE:
			color_code = 2;
			break;
		case GREEN:
			color_code = 3;
			break;
		case RED:
			color_code = 4;
			break;
		case BLACK:
			color_code = 5;
			break;
		case PINK:
			color_code = 6;
			break;
		case PURPLE:
			color_code = 7;
			break;
		default:			
			color_code = toCode(getDefault());
	}
	return color_code;
}
void ExerciseWindow::checkExercise()
{
    openFromNewLine = ui->checkBox_newLine->isChecked();
    generateSourceCode();
    toCode();
    QString etalon = ui->textBrowser->toPlainText();
    QString userAnswer = ui->textBrowser_2->toPlainText();
    if (etalon == userAnswer) {
        ui->label->setStyleSheet("QLabel { background-color : green; color : white; }");
        ui->label->setText("Верно!");
    }
    else {
        ui->label->setStyleSheet("QLabel { background-color : red; color : white; }");
        ui->label->setText("Неверно!");
    }
}
int sinalization_modes::SinalizationModes::toCode(sinalization_modes::SinalizationModeEnum mode)
{
	int mode_code;
	switch (mode)
	{
		case BLINK:
			mode_code = 0;
			break;
		case ALTERNATE:
			mode_code = 1;
			break;
		case LIGHT:
			mode_code = 2;
			break;
		default:			
			mode_code = toCode(getDefault());
	}
	return mode_code;
}
Пример #8
0
ShareManager::SearchQuery::SearchQuery(const StringList& adcParams) :
	SearchQuery()
{
	for(auto& p: adcParams) {
		if(p.size() <= 2)
			continue;

		auto cmd = toCode(p[0], p[1]);
		if(toCode('T', 'R') == cmd) {
			root = new TTHValue(p.substr(2));//this need be deleted somewhere....
			return;
		} else if(toCode('A', 'N') == cmd) {
			includeInit.emplace_back(p.substr(2));
		} else if(toCode('N', 'O') == cmd) {
			exclude.emplace_back(p.substr(2));
		} else if(toCode('E', 'X') == cmd) {
			ext.push_back(Text::toLower(p.substr(2)));
		} else if(toCode('G', 'R') == cmd) {
			auto exts = AdcHub::parseSearchExts(Util::toInt(p.substr(2)));
			ext.insert(ext.begin(), exts.begin(), exts.end());
		} else if(toCode('R', 'X') == cmd) {
			noExt.push_back(Text::toLower(p.substr(2)));
		} else if(toCode('G', 'E') == cmd) {
			gt = Util::toInt64(p.substr(2));
		} else if(toCode('L', 'E') == cmd) {
			lt = Util::toInt64(p.substr(2));
		} else if(toCode('E', 'Q') == cmd) {
			lt = gt = Util::toInt64(p.substr(2));
		} else if(toCode('T', 'Y') == cmd) {
			isDirectory = p[2] == '2';
		}
	}
}
Пример #9
0
 vector<str>   compile(vector<str> tokens)
 {
     //компилятор
       
       #define toCode(X) bytecode.push_back(X);nowptr++; 
       vector<com> coms(commands,commands+sizeof(commands)/sizeof(commands[0]));
       for(unsigned long long int i=0;i<tokens.size();i++)
    {
        if(tokens[i].UpperCase()=="DEF"){
               
                 inword++;
                 words[tokens[i+1].UpperCase()]= nowptr+1;
               wordscope.push_back(words);

               i++;
               continue;
         }
          if(tokens[i].UpperCase()=="."){
               if(inword==0)
                        throw(str("Ненужная точка"));
               inword--;
                words=wordscope[wordscope.size()-1];
                wordscope.pop_back();
               toCode(DROP);
              continue;
         }
         if(tokens[i].UpperCase()=="["){
                kvob++;
                toCode(SQUOTE);
                toCode(0);
                brackets.push_back(nowptr-2);
                varscope.push_back(vars);
                continue;
         }
         if(tokens[i].UpperCase()=="]"){
                if(kvob<=0)
                        throw(str("Лишняя скобка"));
                bytecode[brackets[brackets.size()-1]]=nowptr;
                toCode(RET);
                toCode(EQUOTE);

                brackets.pop_back();
                vars=varscope[varscope.size()-1];
                varscope.pop_back();
               continue;
         }
          if(words[tokens[i].UpperCase()])
         {
                toCode(PUSH);
                toCode(words[tokens[i].UpperCase()]);
                toCode(CALL); 
                continue;                
         }
          if(vars[tokens[i].UpperCase()])
         {
                toCode(PUSH);
                toCode(vars[tokens[i].UpperCase()]);
                continue;                
         }

         if(tokens[i].UpperCase()=="VAR"){
                toCode(VAR);
                vars[tokens[++i].UpperCase()]=++varsnow;
                toCode(varsnow);



                continue;
         }
         if(tokens[i].UpperCase()=="DEVAR"){

                vars[tokens[++i].UpperCase()]=0;
                



                continue;
         }

         if(tokens[i].UpperCase()=="TAIL"){
               //   ShowMessage( bytecode[nowptr-2].c_str());
                bytecode[nowptr-2]=GOTO;





                continue;
         }


         for(unsigned int j=0;j<coms.size();j++)
                if (tokens[i].UpperCase()==coms[j].text)
                {
                    //ShowMessage(coms[j].text);
                    toCode(coms[j].opcode);
                    goto exitloop;
                }
          goto next;
         exitloop:
                continue;
         next:;
         if(tokens[i].UpperCase()=="STR"){
                toCode(LSTR);
                i++;
                toCode(escape(tokens[i]));
                toCode("\"");
                continue;

         }
         if(tokens[i].UpperCase()=="'"){
                toCode(PUSH);
                toCode((int)(escape(tokens[++i])[1]));

                continue;

         }
         try
         {
                tokens[i].ToDouble();
                toCode(PUSH);
                toCode(tokens[i].ToDouble());
         }
         catch(...)
         {
                if(tokens[i]=="(")
                        while(tokens[i]!=")")
                                i++;
                else
                {
                /*ShowMessage(tokens[i-3]);
                     ShowMessage(tokens[i-2]);
                     ShowMessage(tokens[i-1]);
               ShowMessage("0"+tokens[i]+"0");
                     ShowMessage(tokens[i+1]);
                     ShowMessage(tokens[i+2]);
                     ShowMessage(tokens[i+3]);   */
                    // if(tokens[i]!="")   //костыль
                        throw("Неизвестное слово: "+tokens[i]);

                }
         }




    }
    toCode(HALT);
    return bytecode;
 #undef toCode
 }
Пример #10
0
CompareWhat  ScriptValue::compareAs(String& compare_str, void const*& compare_ptr) const {
	compare_str = toCode();
	return COMPARE_AS_STRING;
}
Пример #11
0
SearchQuery::SearchQuery(const StringList& params, size_t aMaxResults) noexcept : maxResults(aMaxResults) {
	for(const auto& p: params) {
		if(p.length() <= 2)
			continue;

		uint16_t cmd = toCode(p[0], p[1]);
		if(toCode('T', 'R') == cmd) {
			root = TTHValue(p.substr(2));
			return;
		} else if(toCode('A', 'N') == cmd) {
			include.addString(p.substr(2));
		} else if(toCode('N', 'O') == cmd) {
			exclude.addString(p.substr(2));
		} else if(toCode('E', 'X') == cmd) {
			ext.push_back(Text::toLower(p.substr(2)));
		} else if(toCode('G', 'R') == cmd) {
			auto exts = AdcHub::parseSearchExts(Util::toInt(p.substr(2)));
			ext.insert(ext.begin(), exts.begin(), exts.end());
		} else if(toCode('R', 'X') == cmd) {
			noExt.push_back(Text::toLower(p.substr(2)));
		} else if(toCode('G', 'E') == cmd) {
			gt = Util::toInt64(p.substr(2));
		} else if(toCode('L', 'E') == cmd) {
			lt = Util::toInt64(p.substr(2));
		} else if(toCode('E', 'Q') == cmd) {
			lt = gt = Util::toInt64(p.substr(2));
		} else if(toCode('T', 'Y') == cmd) {
			itemType = static_cast<ItemType>(Util::toInt(p.substr(2)));
		} else if(toCode('M', 'T') == cmd) {
			matchType = static_cast<Search::MatchType>(Util::toInt(p.substr(2)));
		} else if(toCode('O', 'T') == cmd) {
			maxDate = Util::toInt64(p.substr(2));
		} else if(toCode('N', 'T') == cmd) {
			minDate = Util::toInt64(p.substr(2));
		} else if(toCode('P', 'P') == cmd) {
			addParents = (p[2] == '1');
		}
	}

	prepare();
}