# „předmětové“ a adverbiální vedlejší věty from rules import Rules from .cz_clauses import indicative_clauses_initial, verbals_with_constituents # TODO: chce to iword subordinators = Rules( # Nevím, proč jsem si bral tu štamprlu. (příčina, důvod) '(SUBORDINATOR type=reason) → (lemma=proč)', # jakým způsobem '(SUBORDINATOR type=manner) → (lemma=jak|nakolik)', # t=M '(SUBORDINATOR type=place) → (lemma=kam|kde|kudy|dokud|odkud)', # „jak (šíleně) dlouho, jak moc dlouhou dobu“ '(SUBORDINATOR type=time) → (lemma="(|do|od)kdy")', # „aby“ je zajímavější, protože se skládá ze spojky a slovesa (značka k=Y) '(SUBORDINATOR) → (lemma=že|co|kdo|když|proč|kolik|aby|kdyby|jak|zda|pokud)', # co (že) podstatného / jak (vůbec) důležitý; TODO: výrazy v závorkách '(SUBORDINATOR) → (word=co|jak) (k=2)', '(SUBORDINATOR) → (k=7) (word=co|čeho|čemu|čem|čím)', # „Je nám docela jedno, který den to uděláme“ ukazuje, že ta vedlejší věta # může mít formu snad libovolné otázky… '(SUBORDINATOR) → (PP)', # Podal jí nůž, (z jehož čepele) stále odkapávala krev. ) # kompletivní (obsahové) věty za # že # aby ať # zda -li jestli … kde kdy kam proč … # Kdo kdo k3yRnSc1,k3yInSc1,k3yQnSc1hP # kdo to nevěděl # komu jsem to nedal # na koho naléhal # věty: # samostatné oznamovací CLAUSE (MATRIX_CLAUSE) # tázací (s tázacím … na začátku) INTERROGATIVE_CLAUSE # přací (s nějakou částicí na začátku) ? # nesamostatné přívlastkové ATTR_CLAUSE # podmětné/předmětné ? # adverbiální (časové, místní, způsobové atd.) # podřadicí výraz se může odsunout z iniciální do preiniciální pozice, proto # jsou pravidla v dvojicích # TODO: cože? je to pořád ta samá vedlejší věta, jen v té _hlavní_ je v různých # pozicích – ty příklady jsou mimo, patří spíš do cz_clauses # že přijde pozdě, to nám opomněl předem sdělit # že přijde pozdě, nám opomněl předem sdělit object_clauses_preinitial = indicative_clauses_initial.insert_into_all( '(CLITICS)', position=1).insert_into_all( '(SUBORDINATOR type)', before=True, update_left='(DEP_CLAUSE type)') object_clauses_initial = verbals_with_constituents.insert_into_all( '(SUBORDINATOR type) (CONSTITUENTS)', before=True, update_left='(DEP_CLAUSE type)') object_clauses_initial = object_clauses_initial.insert_into_all( '(CLITICS)', position=1) subordinate_clauses = object_clauses_preinitial + object_clauses_initial subordinate_clauses = subordinate_clauses.insert_into_all( '(INTER)', inside=True).insert_into_all( '(OPT_COMMA)', before=True, after=True) # vypadá to, že to není úplně jednoduchý # *že utekli jsme z hodiny # že jsme utekli z hodiny (iniciální, postiniciální) # že ten kluk se ulil z hodiny (preiniciální, iniciální, postiniciální) # že se ulil z hodiny (iniciální, postiniciální) # TODO: tohle je jen zkratka, udělat to pořádně subordinate_clauses += Rules( '(ANOTHER_DEP_CLAUSE) → (DEP_CLAUSE)', '(ANOTHER_DEP_CLAUSE) → (CLAUSE)', ) # že/co jsem (to) nevěděl # že maminka se (asi) ztratila rules = subordinators + subordinate_clauses