|
Abstract:
|
Työssä toteutettiin jäsentäjägeneraattori Taurus. Taurus saa syötteenään tunnistettavan kieliopin kuvauksen ja tuottaa kielioppivirheistä toipuvan Scheme-kielisen jäsentäjän. Nimi "Taurus" pyrkii jatkamaan samaa sarvipäistä linjaa, jota tunnetut jäsentäjägeneraattorit Yacc ja Bison edustavat. Generaattori tuottaa LL(1)-jäsentäjän, joka käyttää jäsennysalgoritmina rekursiivista laskeutumista (recursivedescent). Tuotettu jäsentäjä toipuu automaattisesti syntaksivirheistä ja tuottaa niistä virheilmoitukset. Perinteisille lausekielille, kuten C, Pascal ja Ada on jäsentäjägeneraattoreita ollut saatavilla jo pitkään. Jostain syystä Lispin sukuisille kielille ei vastaavia ohjelmistoja ole ollut. Tämä työ pyrkii osaltaan paikkaamaan tilannetta. /Kir11 |