2 research outputs found
BooPT: Implementasjon av Package Templates for Boo
Denne masteroppgaven ser pÄ programmeringssprÄket Boo med spesiell
vekt pÄ det dets mekanismer for metaprogrammering og for Ä kunne
utvide sprÄket selv med nye mekanismer. Boo er et objektorientert
sprÄk med en Python-liknede syntaks, og er basert pÄ
.NET-rammeverket. Det har dessuten spesielt interessante mekanismer
for metaprogrammering: metametoder, makroer og syntaktiske
attributter, som behandles og utfĂžres under kompileringen og som har
tilgang til kompilatorens datastrukturer (det abstrakte
syntakstreet).
Denne oppgaven vurderer hvor kraftige disse metamekanismene er og
spesielt i hvilken grad de er egnet til Ă„ implementere en
modulariseringsmekanisme kalt Package Templates (PT). Denne
tilrettelegger for gjenbruk av samlinger av klasser (kalt templater)
ved at templater mÄ "instansieres" under kompilering fÞr de kan brukes
i et program. I en instansiering kan de tilpasses forskjellige
bruksomrÄder gjennom blant annet omnavning, utvidelser og sammenslÄing
av klasser fra forskjellige instansieringer.
Oppgaven beskriver en implementasjon, kalt BooPT, der Boo sine
metaprogrammeringsmekanismer benyttes til Ă„ lage en enkel variant av
PT for Boo, og konkluderer med at disse er bÄde fleksible og velegnede
til en slik implementasjon