begin process at 2010 02 09 21:44:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > MINI-COMPILATEUR

MINI-COMPILATEUR


 Information sur la source

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Classé sous :grammaire, compilateur, analyseur, lexical, grammaire, larbre, arbre Niveau :Expert Date de création :03/06/2005 Vu / téléchargé :13 953 / 2 943

Auteur : Bel0

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Ce code a été écrit dans le cadre d'un cours sur les langagues et compilateur. Il contient un analyseur lexical qui lit dans un fichier d'entrée et renvoit une suite d'unité lexical représentant le fichier source. Il y a ensuite une analyseur syntaxique qui lit une grammaire LL(1) dans le fichier grammar.txt dans le dossier syntax et qui génère un arbre syntaxique. Cette arbre syntaxique est ensuite traduit dans une représentation intermédiaire du code à l'aide de la classe SLIPGenerator. Enfin, à partir de l'arbre en représentation, on génère le code final, code qui ressemble assez à de l'assembleur. En fait, ce code s'exécute sur une petite machine virtuelle programmée en java mais, étant donné que ce n'est pas moi qui l'ai codée, je ne l'inclus pas dans le code. Le projet contient aussi une classe qui permet de vérifier qu'une grammaire est bien LL(1).

Le langage en lui même est assez basique avec un syntaxe proche de Java (très proche meme :)). Il permet quand même de faire des appels de fonctions, des boucles, des tests (imbriquées éventuellement), des fonctions récursives. Il permet aussi de gérer des objets très basiques qui fonctionne en utilisant un niveau (Pour avoir une meilleur idée de ce qu'on peut faire avec des objets, voir le dossier testSLIP).

Ce projet est fonctionnel mais il doit encore y avoir quelques problèmes à gauche et à droite surtout dans la partie de la traduction de l'arbre syntaxique en arbre en représentation interne (la génération de code est loin d'être optimale).

Enfin, pour ceux qui se demanderait ce qui signifie 'SLIP', c'est l'abbréviation pour "Simple Language with Integer and Pointer".

Si vous avez des questions -> commentaires :)


 Conclusion

BUG: aucun ( en espérant ne pas avoir à mettre à jour cette partie :p )

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip GRAPHE ORIENTÉ ET DIJKSTRA

 Sources de la même categorie

Source avec Zip ANALYSEUR DE PROXY IRC ET HTTP AVEC UNE INTERFACE GRAPHIQUE par sisisousou
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333
Source avec Zip Source avec une capture "NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT... par edouard333
Source avec Zip Source avec une capture RENAME-MOAR par cotepierrot
Source avec Zip Source avec une capture DWIKI (DESKTOPWIKI) par xsimo

 Sources en rapport avec celle ci

Source avec Zip COMPILATEUR PASCAL par youma85
Source avec Zip Source avec une capture ARBRE BALANCÉ ( BTREE PLUS ) par Alain Proviste
Source avec Zip ANALYSEUR XML GÉNÉRIQUE ET PROGRAMMATION REFLÉXIVE par AlexN
Source avec Zip TRI DE LIST EN UTILISANT LES ABR par bad_smi
Source avec Zip Source avec une capture MINI EVALUATEUR D'EXPRESSION ARITHMÉTIQUES par tucobouch

Commentaires et avis

Commentaire de gulamh le 06/06/2005 04:29:14

Slt !
Je n'ai pas checke ton programme, mais je dis deja bravo !
J'ai fais un cours sur les lang de prog et la compilation, et je sais que c'est pas facil de coder un compilateur(performant) en java.
En Prolog ce serait simple par contre...

Commentaire de Bel0 le 06/06/2005 19:01:00

Merci :)

Ce n'est peut-être pas le plus mauvais (à vous de juger) mais ce n'est certainement pas le plus optimisés non plus. Il faut se rappeler qu'il a été fait pendant les cours (juste avant le blocus) et  que les optimisations ne faisaient pas du tout partie de mes priotités. Ceci étant dit, si tu as des questions à propos du compilateur ... je suis ouvert :)

Commentaire de scaryman le 10/06/2005 18:17:27

slt
ne pourrais-tu pas essayer de poster la machine virtuelle pr éxécuter le code?
merci

Commentaire de isert le 27/02/2006 20:09:15

salut,
j'aimerai bien savoir à quoi ca sert lambda dans le fichier grammar.txt
Merci.

Commentaire de tULIPOs le 13/03/2006 17:28:28

salut comment le faire marché stp

Commentaire de cum3inf le 17/01/2008 11:26:26

slt oui, comment le faire marché stp.

Commentaire de khletoshi le 12/04/2008 21:59:09

creer un projet vide , et metter tout les repertoires dedans(decompresser le zip)
et ouvrer avec eclipse;

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Organigramme [ par hoymille ]   Bonjour,Je voudrais pouvoir exécuter l'organigramme, donc je veux créer un compilateur avec javacc. Pour créer ce compilate algorithme sur les grammaire et les automates en java [ par bijourass ] jai un tp a faire en java conçernnant le sujet voici le contenu:ecrire un programme qui donne pour toute grammaire à droite un automate généralisé équ Arbres [ par jerfr ] Salut à tous, Je suis en train de créer une classe qui permet de construire un arbre à lettres. L'idée est de regrouper tous les mots en un arbre dont [BAR]ordre dans un B-arbre [ par dide90 ] Bonjour,Que signifie l'ordre dans un B-arbre ?merci affichage de fichier XML en arbre avec jbuilder [ par iskes ] Bonjour j'ai un fichier XML que je veux l'afficher dans une interface (ou avec un composant) sous forme d'arbre (arborescence)comme l'explorateur de arbre en java [ par alg18 ] je voudrai bien que l'on m'aide. Je veux creer un arbre de decision à partir de formules que j'ai deja, en quelque sorte dans le sens inverse. En res Afficher un fichier XML sous forme d'arbre graphique avec jbuilder [ par iskes ] Bonjour, j'ai un fichier XML qui contient un texte structuré . je veux affiche ce texte sous forme d'arbre graphique avec jbuilder SVP aider moi c'es annalyseur lexical d'un fichier???? aide moi s.v.p [ par safiadz ] S'il vous plaît aider. Je veux écrire un programme en Java.qui peut Lire un fichier. Et puis l'analysés afin en Tokans (unité lexicaux) et l'affiche c Quel compilateur Java choisir [ par diglas ] Slt a tous, J'aimerai bien me lancer au developpement en JAVA. Disant, je suis debutant en java et je ne sais pas avec quel compilateur (simple) dois-


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales