# skelety verbální fráze from rules import Rules # v mém a Svobodově pojetí je VF skelet (tranzitní), který se zaplňuje dalšími # prvky # # věta pak podle mě vzniká nejdříve naplněním verbálního skeletu, pak vložením # případných klitik na druhou větnou pozici (do postiniciální) a nakonec # vložením interpozic # # nesamostatná věta se pak vyznačuje přítomností např. tázacího/vztažného # příslovce, relativa na začátku věty (místo jiného konstituentu) modals = Rules( # Chce/musí/má to odevzdat zítra '(MODAL e g n a m) → (lemma="chtít|muset|mít" e g n a m)', ) # Měl by ses na to podívat a zjistit, kde je zádrhel. infinitives = Rules( # Neobtěžoval se (sdělit jim, …) '(INFINITIVE a) → (k=5 a m=F) (INTER) (CLITICS) (INTER) (CONSTITUENTS)', ) # Zapomněl jsem (Petra se na to zeptat). # – infinitivní fráze má svá vlastní klitika # Zapomněl jsem (se na to Petra zeptat). # – klitika od infinitivu možná utekla do druhé větné pozice # Zapomněl jsem (na) svou otázku na Petra. # – jiná možnost nominalizace (dá se říct „kondenzace“?) # Zapomněl jsem a Petra jsem se na to nezeptal. # – zpětná verbalizace? # konstituenty mají volné pořadí, ale ne všechny! tranzitní skelet má pevný # slovosled, podobně jako příklonky # tranzitní skelet # pomocné finitní sloveso, modální sloveso, plnovýznamové sloveso # Petr si to | bude muset přečíst | znovu verbals = Rules( '(CLAUSE e g n a m) → (k=5 e g n a m head)', # Musím jít domů # Nemusely jste chodit, (jestli jste nechtěly) '(CLAUSE e g n a m) → (MODAL e g n m head) (INFINITIVE a)', # jak zakázat v příklonkách préteritní auxiliár? (PROSTĚ v parseru neřešit) # Bude to odevzdávat až za měsíc (takže TODO: a=[BI]) '(CLAUSE e g n a m=B) → (lemma=být e g n m=B head) (INFINITIVE a)', # Bude to muset odevzdat/odevzdávat až za měsíc '(CLAUSE e g n a m=B) → (lemma=být e g n m=B head) (MODAL m=F)' ' (INFINITIVE a)', # každý (samozřejmě) vyhrát nemůže – rematizace modálu (je ve finální poz.) # Domů prý jít musím '(CLAUSE e g n a m) → (k=5 a m=F) (MODAL e g n m head)', # TODO: v attributive_clauses se „duplikují“, protože neobsahují (g n) # lze to odevzdat zítra (ale *bude lze) '(CLAUSE e a) → (word=lze|nelze e head) (INFINITIVE a)', '(CLAUSE e a) → (INFINITIVE a) (word=lze|nelze e head)', ) # do slovesné fráze (ale ne před ni!) se vloží nepovinné konstituenty # TODO: verbal_phrases? verbals_with_constituents = verbals.insert_into_all( '(CONSTITUENTS)', inside=True, after=True) # spony na úrovni gramatiky nebudu ani řešit, pravidla jsou natolik obecná, že # je nemá cenu rozlišovat – klasické druhy vět se dají určovat až po analýze rules = modals + infinitives