Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Ada Algo Assembleur Basic Cobol Fortran LaTeX MATLAB Pascal Perl Prolog Purebasic Réseau Ruby Systèmes XMLRAD

Analyseurs syntaxiques

Date de publication : 17/04/2006

Par Sébastien Doeraene (sjrd.developpez.com)
 

Un travail sur les analyseurs syntaxiques dans les compilateurs, avec un approffondissement de la technique d'analyse descendante. Notez que c'est un travail de fin d'études, et qu'il n'est pas forcément taillé sur la forme habituelle des tutoriels. Il a d'ailleurs obtenu une note de 97 %.



Présentation

Qu'est-ce que la compilation ? Voilà une question que la plupart des personnes poseront en entendant parler de cette notion. Non, ce n'est pas le fait de compiler plusieurs chansons sur un CD ; du moins, ce n'est pas cette compilation-là que nous étudierons ici.

Qui sont ces personnes ? Ce sont celles qui n'ont jamais programmé. En effet, la compilation est un des fondements de la programmation.

De même les développeurs, pour la plupart d'entre eux, ne se sont jamais réellement posé la question de savoir ce qu'étaient les compilateurs, au sens technique du terme.

Nous allons donc voir, au travers de ce document, ce que sont réellement les compilateurs, et comment ils fonctionnent. Nous nous attarderons plus particulièrement sur une étape de leur fonctionnement qui fait peur à beaucoup de débutants en la matière, à savoir l'analyse syntaxique.


Au sommaire

  1. Introduction à la compilation

    1. Qu'est-ce qu'un compilateur ?
    2. Langages source, cible et d'implémentation
    3. Les différentes parties d'un compilateur
    4. Architectures des compilateurs
    5. Grammaires et leurs notations

  2. Introduction à l'analyse syntaxique

    1. Déterminisme de l'analyse
    2. Descendant ou ascendant ?

  3. Analyse descendante

    1. Principe général
    2. L'algorithme détaillé
    3. Pour aller plus loin...

  4. Analyse ascendante

    1. Principe général
    2. Vous cherchez plus d'informations ?

  5. Projet exemple

  6. Conclusion

  1. Analyseur lexical utilisé

  2. Référentiel des fichiers sources


Télécharger

Format PDF, 44 pages, 600 Ko.



Remerciements

Ce travail n'aurait jamais pu voir le jour sans l'aide de certaines personnes. Elles m'ont soit aidé et soutenu, soit relu, soit été une source d'informations importante.

Tout d'abord, je remercie monsieur Paul Goethals, qui a accepté d'être mon promoteur pour ce travail. Ses conseils m'ont été très utiles pour cerner le sujet à étudier, ainsi que pour le rendre accessible à des non-dingues-de-programmation...

Ensuite, je voudrais remercier messieurs Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs et Koen G. Langendoen, pour leur livre Compilateurs. Cet ouvrage a été ma référence en matière de compilation tout au long de la préparation et de la rédaction de ce document.

Enfin, je remercie encore monsieur Laurent Dardenne, rédacteur sur www.developpez.com, pour ses relectures attentives et ses conseils toujours aussi constructifs.


Tutoriels
Réaliser un plug-in comportant un composant
Construire une procédure pointant sur une méthode
Création de composants - en 4 parties
Refactoring avec Delphi 2007
Prise en main de Delphi 2005
Analyseurs syntaxiques - Leur fonctionnement par l'exemple
Créer un fichier d'aide HLP
Pourquoi un paramètre const change-t-il mystérieusement de valeur ?
Sources
SJRDUnits - Routines et classes diverses
SJRDComps - Quelques composants
Projet Sepi
Présentation
FAQ Sepi
Programmes
FunLabyrinthe - Jeu de labyrinthe très spécial et très fun
TrickTakingGame - Jeux de cartes à plis en ligne
MultiAgenda - Agenda multi-répertoires
DecodeFormulaires - Décode les formulaires
Excel --> HTML - Convertisseur de tableaux Excel en HTML
AddressLinks - Lie les adresses Internet et e-mail d'un document HTML
Vipion - Tic Tac Toe sur 4x4 cases avec jeu de l'ordinateur
BigCalc - Calculatrice de haut niveau
Espace paroissial Astérion de Watermael-Boitsfort

Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2006 Sébastien Doeraene. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique Autres : Nicolas Vallée - Contacter par EMail :
Vos questions techniques : forum d'entraide Autres - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.