Name | Modified | Size | Downloads / Week |
---|---|---|---|
README.txt | 2013-03-14 | 2.2 kB | |
tavutus.l | 2013-03-14 | 3.0 kB | |
tolow.h | 2013-03-14 | 1.4 kB | |
Yytoken.java | 2013-03-14 | 151 Bytes | |
morfo.l | 2013-03-14 | 6.8 kB | |
sanat.l | 2013-03-14 | 960 Bytes | |
JMorfo.java.flex | 2013-03-14 | 5.1 kB | |
Makefile | 2013-03-14 | 796 Bytes | |
morfo.h | 2013-03-14 | 1.4 kB | |
Totals: 9 Items | 21.9 kB | 0 |
Etsi sanan vartalo sekä tavutus. Kokeellinen flex, jflex projekti. Modulit: 1. Taivutus (morfo.l): Lähde: http://www.finnlectura.fi/verkkosuomi/aloitus.htm http://scripta.kotus.fi/visk/etusivu.php SANA KANTA JOHDIN TUNNUS PAATE LIITE KANTA // tätä etsitään JOHDIN {JOHDIN} TUNNUS NOMINI LUKU [ijt] // Tässä: sisältyy SIJA(_M):aan VERBI_FINIITTI {PASSIIVI}({TEMPUS} tai {MODUS}) VERBI_EIFINIIT {PASSIIVI}({INFINIITTI} tai {PARTISIIPPI}) PAATE NOMINI {SIJA} VERBI_FINIITTI {PERSOONA} // Tässä: vain VERBI:lle LIITE Omistusliitteet {POS} // Tässä: vain NOMINI:lle Liitepartikkeli {LP} 2. Tavutus(tavutus.l): Lähde: http://www.cse.hut.fi/fi/opinnot/t1061215/2013_external/harjoitukset/kierros_2/harj_1/index.html Suomen kielen tavuttaminen seuraa melko suoraviivaisesti seuraavia sääntöjä: 2.1. Konsonanttisääntö: Jos tavuun kuuluvaa vokaalia seuraa yksi tai useampia konsonantteja, joita vielä seuraa vokaali, tavuraja sijoittuu välittömästi ennen viimeistä konsonanttia. Esimerkkejä: lef-fas-sa ki-vaa kah-del-le: tra-giik-kaa se-kä hork-ka-ti-lo-ja 2.2. Vokaalisääntö: Jos tavun ensimmäistä vokaalia seuraa toinen vokaali, niiden väliin tulee tavuraja, ellei 2.2.1) edellinen vokaali ole sama kuin jälkimmäinen (pitkä vokaali). 2.2.2) jälkimmäinen vokaali ole i (i:hin loppuva diftongi). 2.2.3) kysymyksessä ole jokin vokaalipareista au, eu, ey, ie, iu, ou, uo, yö, äy tai öy (muu diftongi). Esimerkkejä: lu-en-to Aa-si-an kää-pi-ö-puo-lu-eis-ta 2.3. Diftongisääntö: Jos tavun kuuluvaa diftongia tai pitkää vokaalia seuraa vokaali, tähän väliin tulee aina tavuraja. Esimerkkejä: raa-is-tu-nut maa-il-ma, liu-ot-ti-met lau-an-tai-na tau-ot-ta leu-an al-la 3. Pääohjelma (sanat.l) Jakaa annetun syötteen (stringin, tiedoston, ..) sanoihin ja kutsuu edellä olevia. 4. Työkaluja 4.1 tolow.h Muutta isot kirjaimet pieniksi 4.1 Makefile 5. Java Uteliasuuttani kokeilin Java Flex (JFLEX) ohjelmaa 5.1 JMorfo.flex JFlex implementaatio morfo.l:stä 5.2 Yytoken.java JFlex tuotoksen tarvitsema luokka