dc.description.abstract |
[cat] Els llenguatges de programació funcional son uns grans desconeguts.Molts programadors
actualment els utilitzen, si bé moltes vegades ni tan sols en són conscients. A més,
actualment alguns mecanismes propis d’aquests llenguatges han estat heretats per
llenguatges d’altres tipus (com els imperatius), així com també s’han anant introduïnt
a altres paradigmes de programació (per exemple JavaScript en la seva Programació
Orientada a Objectes (POO)).
Conèixer, per tant, quines eines ens poden aportar els llenguatges funcionals, així
com també la seva aplicació, és el que farem a aquest Treball Final de Grau (TFG), i
no hi ha millor manera de fer-ho que creant un llenguatge propi i construïr-ne el seu
compilador. Així entrarem plenament en les problemàtiques que es plantejen, sobretot
tenint en compte que els llenguatges funcionals es basen en el principi de lambdacàlcul(
LC) i que, per tant, estan més enfora de la màquina de Von Neumann que els
llenguatges declaratius.
Per poder entendre millor les diferències que hi apareixen, el compilador es desenvoluparà
amb les mateixes tecnologies que el desenvolupat a l’assignatura de Compiladors,
és a dir, en Ada i emprant les eines aflex y ayacc com a generadors de lèxic i
d’autòmats finits deterministes respectivament, de tal forma que les úniques preocupacions
que puguin aparèixer seran produïdes per la naturalesa inherent dels llenguatges
funcionals.
Veurem que, com que tot gira al voltant del lambda-càlcul, la generació de codi es
redueix en aplicar les seves propietats. Això ens marca el camí, però també és important
comprendre en profunditat el lambda-càlcul i les seves propietats per tal de poder
comprendre que els camins que emprenem són correctes. |
|