SED-P.NET

Accueil du site > Développement (Pascal / Delphi) > Compilateurs / Lex et Yacc

Compilateurs / Lex et Yacc

Compilateur

La réalisation d’un compilateur est une tache particulièrement difficile, que ce soit pour permettre de ’scripter’ une application ou d’analyser le contenu d’un fichier.

Il existe plusieurs outils pour simplifier cette tache, le plus commun est le couple Lex/Yacc (Flex/Bison). Il suffit simplement de leurs fournir une grammaire pour obtenir un analyseur lexicale et syntaxique de celle-ci.

Certe ce n’est pas un compilateur complet mais cela permet déjà de nombreuses possibilités.

Machine virtuelle

Une chose que je trouve formidable c’est cette notion de machine virtuelle, qui date du Pascal et du PCode, USCDPascal...

Le principe est celui que l’on retrouve dans Java et plus récement dans dotnet : le compilateur fournit un pseudo code machine qui sera interprété sur une machine virtuelle elle-même adapté à la machine cible.

Dans le cas de Java et dot net on dispose (il me semble pour java, pour dotnet j’en suis sûr) d’un compilateur "juste à temps" qui transforme tout cela en code machine évitant la lenteur de l’interprétation.

L’objectif avant tout est la portabilité. Mais d’une manière détournée on peut aussi s’en servir pour permettre d’étendre un programme à un utilisateur.

LIRE SUR CE SITE

Machine virtuelle, Pascal-S et P-Code

Quelques petites notions sur les machines virtuelles + La machine virtuelle de Mr Wirth qui permet de s’amuser un peu en pascal.

Un mini langage de script pour une application

Proposer aux utilisateurs de scripter une application

Creative Commons License
Cette création est mise à disposition sous un contrat Creative Commons .


Articles de cette rubrique

Sur le Web