grammar/src/main.cpp
// TODO: Wichtig: Auch die Seiten "Flexion" und "Konjugierte/Deklinierte Form"
// parsen und danach das Dictionary zusammenfassen und vereinfachen!
Auch die Seiten "Flexion" und "Konjugierte/Deklinierte Form"
parsen und danach das Dictionary zusammenfassen und vereinfachen!
Auch die Seiten " Flexion " und " Konjugierte / Deklinierte Form " parsen und danach das Dictionary zusammenfassen und vereinfachen!
void recursivePrint(Finder &fin, Dictionary &dict,
                    shared_ptr<punctuation::Node> sen) {
    for (const auto &c : sen->getChildren()) {
        if (c->type == punctuation::NodeTypes::word) {
            string con = c->getContent();
            vector<Word> words = dict.closest(con);
            Word word = words[0];
            wstring wcon = widen(con);
            switch (word.w) {
            case WordType::Adjective:
                wcout << blue << wcon;
                break;
            case WordType::Adverb:
                wcout << yellow << wcon;
                break;
            case WordType::Noun:
                wcout << green << wcon;
                break;
            case WordType::Pronoun:
                wcout << greenblue << wcon;
                break;
            case WordType::Verb:
                wcout << red << wcon;
                break;
            default:
                wcout << grey << wcon;
                break;
            }
            cout << " ";
        } else if (c->type == punctuation::NodeTypes::sentence) {
            recursivePrint(fin, dict, c);
        } else {
            std::wcout << black << widen(c->getContent()) << L" ";
        }
    }
}
void recursivePrint ( Finder & fin , Dictionary & dict , shared_ptr < punctuation :: Node > sen ) { for ( const auto & c : sen -> getChildren ( ) ) { if ( c -> type == punctuation :: NodeTypes :: word ) { string con = c -> getContent ( ) ; vector < Word > words = dict . closest ( con ) ; Word word = words [ 0 ] ; wstring wcon = widen ( con ) ; switch ( word . w ) { case WordType :: Adjective : wcout << blue << wcon ; break ; case WordType :: Adverb : wcout << yellow << wcon ; break ; case WordType :: Noun : wcout << green << wcon ; break ; case WordType :: Pronoun : wcout << greenblue << wcon ; break ; case WordType :: Verb : wcout << red << wcon ; break ; default : wcout << grey << wcon ; break ; } cout << " " ; } else if ( c -> type == punctuation :: NodeTypes :: sentence ) { recursivePrint ( fin , dict , c ) ; } else { std :: wcout << black << widen ( c -> getContent ( ) ) << L" " ; } } }
TODO: Wichtig: Auch die Seiten "Flexion" und "Konjugierte/Deklinierte Form"
parsen und danach das Dictionary zusammenfassen und vereinfachen!
TODO : Wichtig : Auch die Seiten " Flexion " und " Konjugierte / Deklinierte Form " parsen und danach das Dictionary zusammenfassen und vereinfachen!
// cout << words << endl; /*string bn = fin.getBaseName(c->getContent());
            if (bn.empty())
                cout << "? ";
            else {
                std::wcout << widen(bn) << L" ";
            }*/