Skip to content

ThibaultLanthiez/Projet-Genie-Logiciel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

⬅️ Retour vers le portfolio

Projet Génie Logiciel (projet de deuxième année à l'ENSIMAG)

Ce projet a été effectué en groupe de 5 élèves durant un mois pendant une période de confinement. Il a pour objectif de compiler un nouveau langage informatique nommé Deca qui s'inspirant du Java. La visée de ce langage est purement pédagogique.

Pour compiler ce langage, la plus grande part du travail résidait dans la gestion de la théorie des langages. En effet, ce sont le vocabulaire et les différentes règles de grammaire permettant d'interpréter les mots clés du code et leurs actions. Pour cela, nous avons utilisé l'outil ANTLR pour gérer le vocabulaire et les règles de grammaires du code.

Puis, un ensemble de classes Java ont dû être développées pour décorer l'arbre représentant le programme Deca. Cette décoration sert à savoir quelles actions (coder en assembleur) le compilateur doit effectuer : affichage, boucle, condition, déclaration de variables, de méthode ou de classe ...

Nous avons utilisé des méthodes de travail agiles pour pouvoir compiler du code de plus en plus développé. Nous avons commencé par implémenter les principes de base du langage comme la déclaration de variables, les fonctions d'affichage, les instructions conditionnelles ...

Puis nous avons développé la partie orientée objet avec la création de classes, de méthodes et la notion d'héritage.

Beaucoup de tests ont dû être nécessaire pour vérifier que chaque nouvelle implémentation permettait toujours de compiler les implémentations précédentes.

Code

Les programmes ne sont pas disponibles étant donné que ce projet sera surement à nouveau proposé l'année prochaine à l'ENSIMAG.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published