-
Notifications
You must be signed in to change notification settings - Fork 1
/
luemut.nyt
76 lines (66 loc) · 3.19 KB
/
luemut.nyt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Tämä paketti sisältää suomen kielen verbien konjugaatio-ohjelman.
Failissa conjugat.cc on itse verbien taivutusfunktio conjugate.
main sijaitsee failissa conjtest.cc, josta kutsutaan conjugate:a finverbs.new
failista kaivetuilla vartalolla (stem) ja tyypillä.
wildcard.cc sisältää patternien mätsäysfunktion, joka sallii kaikenlaisia
omituisia jokerimerkkejä, kuten *, ?, @, A, O, U, <joku näistä>,
<^ei mikään näistä>, ja niin edelleen.
Failit conjtest.cc ja wildcard.cc ovat itse asiassa aivan tavallista ANSI-C:tä,
siis ne eivät sisällä mitään C++:n featureja, joten niiden pitäisi kääntyä
tavallisella C:lläkin, kunhan reneimaa *.CC:t *.C:eiksi.
conjugat.cc:ssä sen sijaan on käytetty hyväksi C++:n inheritoivia luokkia
(classes), joten se ei pelkällä C-kääntäjällä käänny.
Eli siis jotain metodia (esim. get_wps() (= get Weak Passive Stem))
aletaan etsiä eka siitä NSS-luokasta, johon ko. verbi kuuluu, jos
ei löydy, niin etsitään sen parent-luokasta (jokaisen class:in parent-class
ilmenee class nimi : -määrittelyn jälkeen muodossa: public parent-classin-nimi)
jos ei siitä löydy, niin sen parent-classista, jne. kunnes päädytään
juuri-classiin FVC, josta viimeistään kaikkien metodien (funktioiden)
pitäisi löytyä. Eli FVC:ssä on yleensä metodien oletusversiot, ja
"lehti-classeissa" taas sitten poikkeukset.
Sitten kun olet saanut käännettyä nämä MS-DOS:sissa (esim. Borland C:llä
jossa on nykyään myös C++), niin tuota samanlainen faili kuin taulu.4
(ja myöskin taulu.1) ja vertaile näitä MS-DOSsissa tuotettuja uusia
tauluja Unixissa tuotettuihin taulu.1 ja taulu.4 faileihin. (MS-DOS Komennolla
FC). (Huom! taulu.?:ista puuttuu CR:t.) Tuotoksen pitäisi olla tietenkin
sama, muuten on bugeja tullut MS-DOS versioon.
Huom! Nämä moduulit tuottavat käännettäessä ziljoona+1 kappaletta varoituksia
signed ja unsigned pointterien miksaamisesta (jolla ei ole mitään
merkitystä koodin suoritukselle), joten kaikki varoitukset on parasta
disabloida jollakin optiolla (g++:lla optio -w ja Borlandin C:llä
muistaakseni -w-), jotta varsinaiset errorit sitten erottuisivat selvemmin
kääntämisen aikana.
Huom, neljännen infinitiivin (lukeminen), partisiipin perfektien (past eli
2. participles) (lukenut ja luettu), ja negatiivisen adjektiivin (lukematon)
taivutuksia ei ole vielä implementoitu, eli niistä saa vasta perusmuodot
(nominatiivin). Joten esim. kenttä Fourth Infinitive, Partitive
minkä -t optio antaa on virheellinen.
Huomaa että seuraavat infinitiivit esiintyvät kahdesti finverbs.new:issä,
eri taivutusluokissa. (Niin että toisessa tapahtuu astevaihtelu ja toisessa
ei, tai sitten toinen taipuu kokonaan eri tavalla.)
Esim. aueta taipuu joko aukean, aukeat, aukeaa,... tai aukenen, aukenet,
aukenee
pokata: joko pokkaan, pokkaat,... kun tarkoitetaan kumartamista
tai: pokaan, pokaat, pokaa,... kun tarkoitetaan 'iskemistä'.
tavata: joko tavaan (I spell), tai tapaan (I meet)
aueta
halvata
herjetä
iljetä
juljeta
kangeta
keritä
kevetä
kraapata
laueta
levetä
lohkoa
oieta
pokata
raueta
salvata
seljetä
suovata
tavata
finverbs.new:issä saattaa olla vieläkin virheellisiä rivejä, sanoja
jotka näyttävät verbien infinitiiveiltä, mutta eivät sitä oikeasti ole.