olski.skład.makieta¶
Tekst do makiety: drzewo wylosowane zamiast napisanego.
Makieta żąda tekstu, zanim ktokolwiek ma co powiedzieć,
i dostaje zwykle łacińską sieczkę, po której nie widać polskiej kolumny:
polskie słowo jest dłuższe, odmienia się i inaczej łamie wiersz.
Losowane jest tu drzewo, a nie napis, bo gramatyczności nie ma czym naruszyć —
zgodność w tym kierunku jest policzona, a nie sprawdzona.
Odsiewa się jedno, czyli zdanie, z którego czytelnik nie odzyska ról,
i pyta o to olski/skład/przegląd.py.
Po co ten moduł jest i czego zażądał od tego pakietu, mówi docs/po-wypisaniu.md.
Sensu ten moduł nie pilnuje i pilnować nie ma.
Wiadro kupiło nóż. jest zdaniem polskim, a nie zdaniem o wiadrze,
i taki tekst do makiety pasuje, bo czytelnik ma zobaczyć kształt kolumny,
a nie zacząć czytać.
Tabele niżej dobierają więc lematy pod formę i pod rytm,
a nie pod to, kto co komu robi; o wyjątkach mówi Obsada.
Fakt o polszczyźnie, który do takiej tabeli wszedł albo z niej wypadł,
jest przy tym faktem o każdym drzewie, a nie o tym jednym programie,
i mówi o tym docs/po-wypisaniu.md wraz z tym, gdzie taki fakt należy.
Rytm jest za to wyborem, bo makieta pokazuje właśnie go.
Kształty zdania wyczerpują kategorie, które niesie olski.skład.składnia,
a ten sam nie wypada dwa razy pod rząd,
bo jednostajność jest usterką i wylicza ją docs/fiction.md.
Obsadę akapitu niosą Postać, bo dopiero one pozwalają opuścić podmiot,
a tekst, w którym każde zdanie powtarza swój podmiot, czyta się jak lista.
Warstwy nazw z olski/skład/słownik.py ten moduł nie woła i nie ma po co:
tamten zapis zamienia lemat na nazwę atrybutu dla tego, kto drzewo pisze,
a program trzymający lematy w tabeli woła konstruktory wprost.
python3 -m olski.skład.makieta --akapity 3
python3 -m olski.skład.makieta --ziarno 1871
OSOBY = ('aptekarz', 'chłopiec', 'córka', 'czeladnik', 'dziewczyna', 'gospodarz', 'kowal', 'krawiec', 'kucharka', 'kupiec', 'mieszczanin', 'praczka', 'sąsiad', 'sąsiadka', 'wdowa', 'zegarmistrz')
module-attribute
¶
RZECZY = ('beczka', 'bochenek', 'deska', 'dzban', 'klucz', 'koszyk', 'kufer', 'list', 'lustro', 'nóż', 'okno', 'skrzynia', 'sukno', 'szal', 'świeca', 'wiadro', 'zegar')
module-attribute
¶
MIEJSCA_W = ('brama', 'izba', 'kamienica', 'karczma', 'komora', 'kuchnia', 'młyn', 'ogród', 'piwnica', 'sień', 'warsztat', 'wieża')
module-attribute
¶
MIEJSCA_NA = ('dziedziniec', 'most', 'podwórze', 'próg', 'rynek', 'targ', 'ulica')
module-attribute
¶
MIEJSCA = (*MIEJSCA_W, *MIEJSCA_NA)
module-attribute
¶
BUDOWLE = ('brama', 'kamienica', 'karczma', 'most', 'młyn', 'wieża')
module-attribute
¶
PORY = ('ranek', 'świt', 'wieczór', 'zmierzch')
module-attribute
¶
PORY_W_MIEJSCOWNIKU = ('noc',)
module-attribute
¶
CECHY = ('ciemny', 'cichy', 'ciężki', 'drewniany', 'duży', 'gliniany', 'krzywy', 'mały', 'mokry', 'nowy', 'pusty', 'stary', 'wąski', 'zimny')
module-attribute
¶
CECHY_OSÓB = ('cichy', 'duży', 'mały', 'młody', 'stary')
module-attribute
¶
PRZYSŁÓWKI = ('cicho', 'nagle', 'powoli', 'późno', 'prędko', 'rano', 'wkrótce')
module-attribute
¶
CZYNY_RUCHU = ('wrócić', 'wyjść', 'zejść')
module-attribute
¶
CZYNY_STANU = ('mieszkać', 'milczeć', 'siedzieć', 'stać', 'zapłakać', 'zasnąć', 'zniknąć')
module-attribute
¶
CZYNY_Z_BIERNIKIEM = ('kupić', 'naprawić', 'otworzyć', 'podnieść', 'policzyć', 'postawić', 'przynieść', 'rozbić', 'schować', 'sprzedać', 'wynieść', 'wziąć', 'zamknąć', 'zapalić', 'zasłonić', 'zgasić', 'zgubić', 'znaleźć', 'zważyć')
module-attribute
¶
CZYNY_Z_CELOWNIKIEM = ('dać', 'oddać', 'pokazać', 'przynieść', 'sprzedać', 'zostawić')
module-attribute
¶
CZYNY_Z_BEZOKOLICZNIKIEM = ('chcieć', 'musieć', 'próbować', 'umieć', 'woleć', 'zdążyć')
module-attribute
¶
CZYNY_ZE_ZDANIEM = ('myśleć', 'pamiętać', 'powiedzieć', 'usłyszeć', 'widzieć', 'wiedzieć', 'zauważyć')
module-attribute
¶
OKOLICZNOŚCI_CZASU = (('', 'czas', PORY), ('w', 'czas', PORY_W_MIEJSCOWNIKU))
module-attribute
¶
OKOLICZNOŚCI = (*OKOLICZNOŚCI_CZASU, ('na', 'miejsce', MIEJSCA_NA), ('pod', 'miejsce', BUDOWLE), ('przed', 'miejsce', BUDOWLE), ('w', 'miejsce', MIEJSCA_W))
module-attribute
¶
OKOLICZNOŚCI_RUCHU = (*OKOLICZNOŚCI_CZASU, ('do', 'cel', MIEJSCA_W), ('na', 'cel', MIEJSCA_NA), ('od', 'źródło', OSOBY), ('po', 'droga', MIEJSCA), ('z', 'źródło', MIEJSCA))
module-attribute
¶
OKOLICZNOŚCI_CZYNNE = (*OKOLICZNOŚCI, ('', 'narzędzie', RZECZY))
module-attribute
¶
SPÓJNIKI_OKOLICZNOŚCI = tuple(SPÓJNIKI)
module-attribute
¶
ZDAŃ = (3, 6)
module-attribute
¶
OSÓB = (2, 3)
module-attribute
¶
RZECZY_W_OBSADZIE = (1, 2)
module-attribute
¶
RUCH = 0.5
module-attribute
¶
CECHA = 0.4
module-attribute
¶
DOPEŁNIACZ = 0.15
module-attribute
¶
LICZBA_MNOGA = 0.25
module-attribute
¶
PRZECZENIE = 0.15
module-attribute
¶
OKOLICZNOŚĆ = 0.6
module-attribute
¶
CZOŁO = 0.4
module-attribute
¶
KSZTAŁTY = (_czynność, _praca, _przysługa, _para, _ciąg, _powód, _wola, _sąd, _wskazanie, _orzecznik)
module-attribute
¶
Obsada
dataclass
¶
Kto i co wraca w akapicie, rozdzielone na osoby i na rzeczy.
Rzecz wraca w obsadzie na równi z osobą, bo Postać człowieka nie żąda,
a Świeca zgasła. Zniknęła w piwnicy. opuszcza podmiot tak samo
jak dwa zdania o czeladniku.
Rozdzielone są dlatego, że dwie pozycje pytają, czy podmiot jest kimś.
Wola i sąd o świecie należą do osoby, a Beczka wiedziała, że świt zgasł.
czyta się jak usterka losowania, a nie jak zdanie do makiety.
Poza tymi dwiema pozycjami sensu ten moduł nie pilnuje,
więc rzecz podmiotem staje wszędzie tam, gdzie zdanie mówi, co się stało.
Source code in olski/skład/makieta.py
323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | |
losuj(ziarno, akapitów=4)
¶
Opowieść o niczym, ta sama za każdym razem, gdy ziarno jest to samo.
Opowieścią, a nie tekstem o tym, co się dzieje, bo drugiego konstruktora
olski/skład/opowieść.py nie ma, a czas przeszły niesie rodzaj,
więc daje makiecie i rytm, i role przypięte do czasownika.
Source code in olski/skład/makieta.py
312 313 314 315 316 317 318 319 320 | |
main(argv=None)
¶
Wydruk makiety wraz z ziarnem, którym da się ją wywołać drugi raz.
Ziarno idzie na wyjście błędów, a tekst na wyjście zwykłe, bo makietę się przekierowuje do pliku, a ziarno się czyta.
Source code in olski/skład/makieta.py
717 718 719 720 721 722 723 724 725 726 727 728 729 730 | |