int main(int argc, char* argv[]) { setlocale(LC_ALL, "Russian"); try { //MorphLanguageEnum langua = morphUnknown; MorphLanguageEnum langua = morphRussian; string FileName; FileName = "C:\\testTexts\\input_Alisa.txt"; if (!FileExists(FileName.c_str())) { fprintf(stderr, "cannot open file %s\n", FileName.c_str()); exit(1); } //for (size_t i = 1; i<argc; i++) //{ // string s = argv[i]; // EngMakeLower(s); // if ((s == "-help") // || (s == "--help") // || (s == "/?") // ) // PrintUsage(); // else { // if (langua == morphUnknown) { // if (!GetLanguageByString(s, langua)) // PrintUsage(); // } // else { // FileName = argv[i]; // if (!FileExists(FileName.c_str())) // { // fprintf(stderr, "cannot open file %s\n", FileName.c_str()); // exit(1); // } // } // } // //} //if ((langua == morphUnknown)) PrintUsage(); CSyntaxHolder H; if (!H.LoadSyntax(langua)) { fprintf(stderr, "initialization error\n"); return 1; }; fprintf(stderr, "ok\n"); if (!FileName.empty()) { vector<string> Files; if ((FileName.length() > 4) && FileName.substr(FileName.length() - 4) == ".lst") { FILE* fp = fopen(FileName.c_str(), "r"); if (!fp) { fprintf(stderr, "cannot open %s\n", FileName.c_str()); return 1; } char buffer[1024]; while (fgets(buffer, 1024, fp)) { rtrim(buffer); Files.push_back(buffer); } fclose(fp); } else Files.push_back(FileName); string OutPutFile = "C:\\testTexts\\input_Alisa.syn"; ofstream out; out.open(OutPutFile); for (size_t i = 0; i < Files.size(); i++) { fprintf(stderr, "File %s\n", Files[i].c_str()); fflush(stderr); H.m_bTimeStatis = true; H.GetSentencesFromSynAn(Files[i], true); string s = GetStringBySyntax(H.m_Synan, *H.m_pGramTab, Files[i].c_str()); out << s << "\n\n"; //printf("%s\n\n", s.c_str()); } return 0; } // =============== WORKING =============== char buffer[10000]; while (fgets(buffer, 10000, stdin)) { string s = buffer; Trim(s); if (s.empty()) continue; H.GetSentencesFromSynAn(s, false); s = GetStringBySyntax(H.m_Synan, *H.m_pGramTab, s); printf("%s", s.c_str()); fflush(stdout); }; } catch (...) { fprintf(stderr, "an exception occurred!\n"); return 1; }; system("pause"); return 0; };
int main(int argc, char* argv[]) { try { MorphLanguageEnum langua = morphUnknown; string FileName; for (size_t i=1; i<argc; i++) { string s = argv[i]; EngMakeLower(s); if ( (s == "-help") || (s == "--help") || (s == "/?") ) PrintUsage(); else { if (langua == morphUnknown) { if (!GetLanguageByString(s, langua)) PrintUsage(); } else { FileName = argv[i]; if (!FileExists(FileName.c_str())) { fprintf (stderr, "cannot open file %s\n", FileName.c_str()); exit(1); } } } } if ((langua == morphUnknown)) PrintUsage(); CSyntaxHolder H; if (!H.LoadSyntax(langua)) { fprintf (stderr, "initialization error\n"); return 1; }; fprintf (stderr, "ok\n"); if (!FileName.empty()) { vector<string> Files; if ((FileName.length() > 4) && FileName.substr(FileName.length() -4) == ".lst") { FILE* fp = fopen(FileName.c_str(), "r"); if (!fp) { fprintf( stderr, "cannot open %s\n", FileName.c_str()); return 1; } char buffer[1024]; while (fgets (buffer, 1024, fp)) { rtrim (buffer); Files.push_back(buffer); } fclose (fp); } else Files.push_back(FileName); for (size_t i=0; i < Files.size(); i++) { fprintf( stderr, "File %s\n", Files[i].c_str()); fflush (stderr); H.m_bTimeStatis = true; H.GetSentencesFromSynAn(Files[i], true); string s = GetStringBySyntax(H.m_Synan, *H.m_pGramTab, Files[i].c_str()); printf ("%s\n\n", s.c_str()); } return 0; } // =============== WORKING =============== char buffer[10000] ; while (fgets(buffer, 10000, stdin)) { string s = buffer; Trim(s); if (s.empty()) continue; H.GetSentencesFromSynAn(s, false); s = GetStringBySyntax(H.m_Synan, *H.m_pGramTab, s); printf ("%s", s.c_str()); fflush(stdout); }; } catch(...) { fprintf (stderr, "an exception occurred!\n"); return 1; }; return 0; };