arthaud / egg

Extended Generator Generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EGG - Extended Generator Generator

EGG est un générateur de compilateur en Java, essentiellement destiné à l'enseignement de la compilation.

EGG est basé sur une analyse descendante (grammaires LL(k)) et sur les grammaires attribuées pour l'analyse sémantique.

Compilation

EGG est écrit avec lui-même, c'est pourquoi nous fournissons une version compilée : src/eggc-5.3.1.jar. Il ne s'agit pas forcément de la dernière version, mais elle suffit pour compiler EGG.

Pour compiler EGG, rendez-vous dans le dossier src et faites un simple make. Vous obtiendrez le fichier eggc.jar contenant l'ensemble de EGG.

Utilisation

EGG utilise un fichier .egg contenant la grammaire attribuée pour engendrer l'analyseur lexical, syntaxique et sémantique.

Un fichier .ecf au format xml permet de configurer la génération de code.

java -jar eggc.jar ma_grammaire.egg va engendrer les fichiers demandés.

Tests

EGG dispose d'une suite de tests.

Pour les lancer, vous devez avoir compilé un eggc.jar dans src. Ensuite, rendez-vous dans le dossier tests et lancez make.

Auteurs

Marcel Gandriau est le principal mainteneur de EGG. Des étudiants en stage ont aussi contribué à son développement.

About

Extended Generator Generator

License:GNU General Public License v2.0


Languages

Language:Java 95.2%Language:TeX 2.7%Language:Shell 0.9%Language:Vim Script 0.7%Language:Emacs Lisp 0.6%