# „koordinace“ – souřadná spojení vět (a asi sem dám i větné členy) # souřadicí spojka je x=C, podřadicí x=S from rules import Rules # TODO: nepredikovat pravidla, která nelze „upnout“ na terminály coordinators = Rules(''' # souřadicí spojky a spojovací výrazy (COORD coord_type=conjunctive) → (word=a) # odporovací spojky a spojovací výrazy (COORD coord_type=adversative) → (COMMA) (word=ale) # TODO: tahle a většina „spojek“ obsazuje typicky iniciální, nikoli # preiniciální pozici; často můžou i cestovat uvnitř věty jako obyčejné # částice (COORD coord_type=adversative-corrective) → (COMMA) (word=jen|jenom) # důsledkové spojky a spojovací výrazy (důsledek je i “effect”) # TODO: „proto“ ale obsazuje iniciální pozici!! (COORD coord_type=consequential) → (OPT_COMMA) (word=proto) ''') # TODO: Protože usnul, znovu se neprobudil. (první je vedlejší, ne?) clausal_coordinations = Rules( # obecná parataxe (ve druhé větě není částice, která by upravovala druh # koordinace) '(CLAUSE coord_type=conjunctive) → (CLAUSE) (COMMA) (CLAUSE)', # ve druhé větě je (i na začátku) částice, která určuje druh koordinace # (např. odporovací však, jen/jenom) '(CLAUSE coord_type) → (CLAUSE) (COMMA) (CLAUSE coord_type)', # koordinace se spojkou stojící mimo vnitřní slovosledné pozice vět '(CLAUSE coord_type) → (CLAUSE) (COORD coord_type) (CLAUSE)', ) other_coordinations = Rules( # pejsek a kočička '(NP c) → (NP c) (k=8 x=C) (NP c)', '(NP c) → (NP c) (COMMA) (NP c) (k=8 x=C) (NP c)', # pejsek s kočičkou (zatím zbytečné, budu mít NP+PP, ale pak by bylo fajn # mít (NP coord=hypo) s nějakou sémantikou – ale není to spíš úkol až pro # následnou sémantickou analýzu?) # '(NP) → (NP) (word=s) (NP c=7)', # Chtěl jsem [lyžovat nebo bruslit]. '(INFINITIVE) → (k=5 m=F) (CLITICS) (CONSTITUENTS)', '(DEP_CLAUSE) → (DEP_CLAUSE) (word=[a,]) (ANOTHER_DEP_CLAUSE)', ) coordinations = clausal_coordinations + other_coordinations rules = coordinations