コード例 #1
0
ファイル: TrFunctions.cpp プロジェクト: Koziev/GrammarEngine
bool TrFunctions::IsType( const UCString &t ) const
{
 return t.eqi(L"const") ||
        t.eqi(L"bool") ||
        t.eqi(L"int") ||
        t.eqi(L"string") ||
        t.eqi(L"tree") ||
        t.eqi(L"trees") ||
        t.eqi(L"variant") ||
        t.eqi(L"fun") ||
        t.eqi(L"tuple");
}
コード例 #2
0
void SyntaxShell::SetLanguage( const UCString &lang_name )
{
 if( lang_name.eqi(L"autodetect") || lang_name.eqi(L"auto") )
  {
   // Язык нужно определять для каждой вводимой фразы.
   default_language = UNKNOWN;
   guess_language = true;
  }
 else
  {
   default_language = sol_id->GetSynGram().Find_Language(lang_name);

   // Проверим, что этот язык есть среди определенных в лексиконе
   lem::MCollect<int> langs;
   sol_id->GetLanguages(langs);
   if( langs.find(default_language)==UNKNOWN )
    {
     merr->printf( "\n%vfCError:%vn target language %vfE%us%vn is not available in lexicon", lang_name.c_str() );
     throw E_BaseException();
    }
  }

 return;
}