Langages de programmation et compilation
Programming Languages and Compiler Construction

Patrick Cousot


Programmes sources Objective Caml V3.04 fournis pour les travaux dirigés / Given source Objective Caml V3.04 programs for the personnal project :


Typage exponentiel en CAML

typer1.ml,
typer2.ml,
typer3.ml,
typer4.ml,
typer5.ml
exemples de H. G. Mairson ;

Réalisation d'un compilateur pour un mini-langage fonctionnel

Interpréteur pour le mini-langage, programmes en syntaxe abstraite

aintv.mli, aintv.ml
interface et implémentation du module de l'interpréteur pour le langage avec portée dynamique et paramètres par valeur, programmes en syntaxe abstraite, Objective Caml V3.04, utilise print.mli (exemple de makefile simple et script d'exécution) ;
aintvex0.ml
aintvex1.ml
aintvex2.ml
aintvex3.ml
aintvex4.ml
aintvex5.ml
aintvex6.ml
aintvex7.ml (programme mal typé)
aintvex8.ml (programme qui boucle)
aintvex9.ml
exemples de programmes sous forme abstraite ;
print.mli
interface du module d'impression des valeurs et pile à l'exécution utilisées par l'interpréteur.

Syntaxe concrète

cintvex0.mini
cintvex1.mini
cintvex2.mini
cintvex3.mini
cintvex4.mini
cintvex5.mini
exemples de programmes sous forme concrète ;
cintvex6.mini
cintvex6v.mini
cintvex7.mini
cintvex8.mini
cintvex8v.mini
cintvex9.mini
cintvex10.mini
autres exemples de programmes sous forme concrète ;
lexervhc.mll, parservhc.mly,
ébauches de l'analyseur lexical et de l'analyseur syntaxique pour la syntaxe concrète et conversion abstrait -> concret pour Objective Caml 3.04. À compiler respectivement par ocamllex lexervhc.mll et ocamlyacc parservhc.mll ;
interprete.ml, fichier pour réaliser un exécutable d'interprete (nouvel exemple de makefile pour le compiler) ;
runvhc.ml
lanceur de l'interpréteur pour le langage avec portée dynamique et paramètres par valeur, programmes en syntaxe concrète, Objective Caml 3.04 (Utilisation dans le toplevel par #use "runvhc.ml";;) ;

Vérification des conditions de contexte

exvcc1.mini
exvcc2.mini
exvcc3.mini
exvcc4.mini
exvcc5.mini
exemples de vérification des conditions de contexte ;

Typage

graphe.ml, une solution possible pour extraire les composantes connexes dans l'ordre des appels de fonctions.

Paramètres par valeur et par nécessité, portée statique et dynamique

cintvsdntcex1.mini,
cintvsdntcex2.mini,
cintvsdntcex3.mini,
cintvsdntcex4.mini,
cintvsdntcex5.mini,
cintvsdntcex6.mini,
exemples de divers modes de passage de paramètres ;

Langage machine

ciex.ml
exemples de programmes en langage machine ;
ci.mli, ci.ml,
interpréteur de code machine (avec metteur au point intégré), Objective Caml 3.06

Droits d'auteur / Copyright Notice.
Retour à / back to : Index, Institutions, Enseignement / Teaching, Recherche / Research, Services
Email: Patrick.Cousot@ens.fr, cousotp@acm.org
Dernière mise à jour / Last modified :