Amos Wenger, MT-BA2 30/04/2009
oocheeps
- projet #2 d'info MT 2009
Le projet, s'il laisse peu de liberte quand a l'application en elle-meme, se prete tout a fait aune approche orientee objet. Cependant, le langage principal demande est le C. C'est pourquoi j'ai decide de creer un petit langage oriente objet qui serait traduit en C pur a l'aided'un compilateur que j'ecrirais moi-meme.Au bout d'environ trois mois de travail dans mon temps libre, je suis arrive a une versionassez complete du langage et de son compilateur, que j'ai appele
ooc
(Object-Oriented C). Lecompilateur est ecrit en
Java
, pour question de preferences personelles. Le processus decompilation d'un programme ooc est le suivant :Ainsi, l'enonce du projet est respecte, car le code source rendu est bien en C pur. De plus,c'est une application de la meta-programmation. Je tiens a bien souligner que j'ai tout ecritmoi-meme, specifications du langage
ooc
, implementation, et code source de
oocheeps
, le projet demande.Le code dans ce rendu intermediaire est le code C genere par mon compilateur. Si le professeur et/ou les assistants manifestent des interets pour le code source .ooc qui en est al'origine, je leur enverrais volontiers.La syntaxe du langage
ooc
est largement inspiree du
Java
, avec quelques omissions etquelques additions. Notamment, comme il est traduit en C, il s'interface tres facilement avecdes librairies existantes. Par exemple, l'instruction "use" permet d'importer les bons fichiersheaders et de linker avec les bonnes librairies statiques et dynamiques pour une librairiedonnee.Tout dans
ooc
est fait pour faciliter la tache du programmeur. Le code C produit est
portable
(teste sous Gentoo Linux, Windows XP/VirtualBox avec mingw, et RedHat Linux enCOSUN) et
lisible
(ex. correctement indente la plupart du temps).1 / 3