Przejdź do treści

olski.subset.deklaracja

Nazwy ról i listy, którymi werdykt schodzi po lesie, wypisane obok produkcji.

Gramatyka wyprowadza zdanie, a nie mówi o nim nic ponadto, więc streszczenie czytania bierze się stąd: nazwa roli jest etykietą, którą werdykt wypisuje, a DEKLARACJA mówi, na których symbolach zejście po lesie staje (olski/parse/las.py). Ile kosztuje wpis pominięty, mówi komentarz przy każdej z tych list.

WYRAŻENIE_PRZYIMKOWE = 'wyrażenie_przyimkowe' module-attribute

GRUPA_IMIENNA = 'grupa_imienna' module-attribute

CZŁON_PRZYIMKOWY = 'człon_przyimkowy' module-attribute

CIĄG_PRZYIMKOWY = 'ciąg_przyimkowy' module-attribute

OKOLICZNIK_PRZYSŁÓWKOWY = 'okolicznik_przysłówkowy' module-attribute

OKOLICZNIK_ZDANIOWY = 'okolicznik_zdaniowy' module-attribute

GRUPA_PYTAJNA = 'grupa_pytajna' module-attribute

OKOLICZNIK_PYTAJNY = 'okolicznik_pytajny' module-attribute

ORZECZENIE_RZECZOWNIKOWE = 'orzeczenie_rzeczownikowe' module-attribute

ORZECZNIK_ŁĄCZNIKA = 'orzecznik_łącznika' module-attribute

NAZWY_SZKOLNE = {'podmiot': 'orzecznik', ORZECZNIK_ŁĄCZNIKA: 'podmiot'} module-attribute

ORZECZENIE_BEZOSOBOWE = 'orzeczenie_bezosobowe' module-attribute

IMIESŁÓW_PRZYSŁÓWKOWY = 'imiesłów_przysłówkowy' module-attribute

CZĄSTKA_ZDANIA = 'cząstka_zdania' module-attribute

OKOLICZNIK_NARZĘDNIKOWY = 'okolicznik_narzędnikowy' module-attribute

WTRĄCENIE = 'wtrącenie' module-attribute

WTRĄCENIE_MYŚLNIKOWE = 'wtrącenie_myślnikowe' module-attribute

ELIPSA = 'elipsa' module-attribute

PARA_WYPEŁNIEŃ = 'para_wypełnień' module-attribute

FRAZA_BEZOKOLICZNIKOWA_OTWARTA = 'fraza_bezokolicznikowa_otwarta' module-attribute

SPÓJNIK = 'spójnik' module-attribute

DOPOWIEDZENIE = 'dopowiedzenie' module-attribute

RODZINY = (Rodzina(rdzeń='rdzeń_względny', modyfikator='wyrażenie_przyimkowe_względne', czoła=('zaimek_względny', 'grupa_imienna_względna'), opakowujące=('zdanie_względne',)), Rodzina(rdzeń='rdzeń_względny_rzeczowny', modyfikator='wyrażenie_przyimkowe_względne_rzeczowne', czoła=('zaimek_względny_rzeczowny',), opakowujące=('zdanie_względne_rzeczowne', 'zdanie_względne_bez_poprzednika')), Rodzina(rdzeń='rdzeń_pytajny', modyfikator='wyrażenie_przyimkowe_pytajne', czoła=(GRUPA_PYTAJNA,), opakowujące=('zdanie_pytajne',))) module-attribute

DEKLARACJA = Deklaracja(role=('podmiot', 'dopełnienie', 'orzecznik', 'orzeczenie', ORZECZENIE_RZECZOWNIKOWE, ORZECZNIK_ŁĄCZNIKA, ORZECZENIE_BEZOSOBOWE, OKOLICZNIK_PRZYSŁÓWKOWY, CZĄSTKA_ZDANIA, OKOLICZNIK_NARZĘDNIKOWY, SPÓJNIK, OKOLICZNIK_ZDANIOWY, GRUPA_PYTAJNA, OKOLICZNIK_PYTAJNY, WTRĄCENIE, WTRĄCENIE_MYŚLNIKOWE, ELIPSA, DOPOWIEDZENIE, WYRAŻENIE_PRZYIMKOWE), przyłączane=(WYRAŻENIE_PRZYIMKOWE, OKOLICZNIK_PRZYSŁÓWKOWY, CZĄSTKA_ZDANIA, OKOLICZNIK_NARZĘDNIKOWY, SPÓJNIK, OKOLICZNIK_ZDANIOWY, WTRĄCENIE, WTRĄCENIE_MYŚLNIKOWE, ELIPSA), rozstrzygany=WYRAŻENIE_PRZYIMKOWE, gospodarze=(GRUPA_IMIENNA, 'grupa_przymiotnikowa', 'zdanie_składowe', 'fraza_bezokolicznikowa', FRAZA_BEZOKOLICZNIKOWA_OTWARTA, GRUPA_PYTAJNA, OKOLICZNIK_ZDANIOWY, *(rodzina.rdzeń for rodzina in RODZINY)), współrzędne=(GRUPA_IMIENNA, 'grupa_przymiotnikowa', 'zdanie'), składowe=('zdanie_składowe',), podrzędne=(*(symbol for rodzina in RODZINY for symbol in rodzina.opakowujące), 'zdanie_podrzędne', OKOLICZNIK_ZDANIOWY, WTRĄCENIE, WTRĄCENIE_MYŚLNIKOWE, ELIPSA, DOPOWIEDZENIE), obsada=Obsada(orzeczenia=('orzeczenie', ORZECZENIE_BEZOSOBOWE), podmiot='podmiot', przypadkowe=('dopełnienie',), własna_rama=('fraza_bezokolicznikowa', FRAZA_BEZOKOLICZNIKOWA_OTWARTA)), grupa_imienna=GRUPA_IMIENNA) module-attribute

MIJANE = ('okoliczniki', OKOLICZNIK_PRZYSŁÓWKOWY, 'człon_imienny', 'człon_przymiotnikowy', 'wypełnienia', PARA_WYPEŁNIEŃ, 'zdanie', ELIPSA, WTRĄCENIE_MYŚLNIKOWE, 'zdanie_względne') module-attribute

NIE_WYPUSZCZANE = {'zdanie_składowe': ('number', 'gender', 'person', 'valency', 'negacja', 'druga', 'dostawka'), 'zdanie': ('dostawka',), 'orzeczenie': ('aspect',), 'grupa_orzeczenia': ('valency', 'negacja', 'druga', 'kopula'), GRUPA_ORZECZENIA_ODWRÓCONA: ('valency', 'negacja', 'druga'), **{rodzina.rdzeń: ('person', 'valency', 'negacja') for rodzina in RODZINY}, OKOLICZNIK_ZDANIOWY: ('tryb', 'valency', 'negacja', 'druga'), ORZECZENIE_RZECZOWNIKOWE: ('case', 'number'), 'podmiot': ('case',), 'dopełnienie': ('case',), 'orzecznik': ('case',), CZŁON_PRZYIMKOWY: ('case',), **{rodzina.modyfikator: ('case',) for rodzina in RODZINY}, 'wypełnienia': ('czoło', 'kopula'), 'człon_imienny': ('accommodability',)} module-attribute

Rodzina dataclass

Zdanie z jedną rolą wysuniętą na czoło, wraz z symbolami wokół niego.

Nazwy jednej rodziny czytają cztery miejsca: _wysunięta_rola pisze nimi ciała, NIE_WYPUSZCZANE zatrzymuje na nich cechy, a gospodarze i podrzędne w DEKLARACJA zatrzymują na nich dwa zejścia werdyktu. Rodzina jest tu jedną wartością dlatego, że wpis pominięty w którymkolwiek z tych miejsc nie wywraca żadnego testu: odbiera wiersz werdyktu albo każe cesze kosztować rozbiór, po cichu.

Source code in olski/subset/deklaracja.py
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
@dataclass(frozen=True)
class Rodzina:
    """Zdanie z jedną rolą wysuniętą na czoło, wraz z symbolami wokół niego.

    Nazwy jednej rodziny czytają cztery miejsca: :func:`_wysunięta_rola` pisze
    nimi ciała, :data:`NIE_WYPUSZCZANE` zatrzymuje na nich cechy, a `gospodarze`
    i `podrzędne` w :data:`DEKLARACJA` zatrzymują na nich dwa zejścia werdyktu.
    Rodzina jest tu jedną wartością dlatego, że wpis pominięty w którymkolwiek
    z tych miejsc nie wywraca żadnego testu: odbiera wiersz werdyktu albo każe
    cesze kosztować rozbiór, po cichu.
    """

    #: Zdanie z wysuniętą rolą, czyli to, co czoło ma pod sobą.
    rdzeń: str
    #: Wyrażenie przyimkowe wysunięte razem z czołem. Przypadka nie wypuszcza,
    #: bo ustala go przyimek nad nim, a nie zdanie pod czołem.
    modyfikator: str
    #: Czoła tej rodziny; każde wchodzi w obie pozycje wysunięte i pod przyimek.
    czoła: tuple[str, ...]
    #: Symbole, którymi to zdanie staje przy zdaniu nad nim, czyli te, na których
    #: zatrzymuje się streszczenie (`podrzędne` w :data:`DEKLARACJA`).
    opakowujące: tuple[str, ...]

rdzeń instance-attribute

modyfikator instance-attribute

czoła instance-attribute

opakowujące instance-attribute

__init__(rdzeń, modyfikator, czoła, opakowujące)