Fichier créé le 20 janvier 2002.
Exemples de programmes
Caml Light
Ce répertoire contient des exemples de programmes Caml Light.
Les exemples peuvent soit être compilés et exécutés comme des
programmes indépendants (taper make
dans le
sous-répertoire); vous pouvez aussi les exécuter directement dans le
système interactif camllight
. Après avoir lancé le système
interactif, taper
include "loadall";;
dans le répertoire approprié.
Remarquez que les programmes graphiques doivent être exécutés avec
un système interactif qui contienne la librairie graphique, ce qu l'on
obtient très facilement en appelant camllight camlgraph
au lieu de camllight camlgraph
.
Les exemples marqués d'une astérisque (*)
sont issus du
livre ``Le langage Caml'', de Pierre Weis et Xavier Leroy (Dunod,
1999). Les messages et les identificateurs sont alors en français et
contiennent des lettres accentuées (codage ISO 8859-1). Vous devez
donc disposer d'un système supportant les caractères 8 bits pour lire ces
exemples.
Les exemples marqués (G) supposent que la librairie graphique (contenue
dans le répertoire contrib/libgraph
de la distribution) a
été installée.
Description des exemples
Les sous-répertoires sont les suivants:
- basics:
Trois exemples ultra-classiques: Fibonacci, le crible d'Eratosthène
et l'utilitaire Unix wc
.
- asl:
Implémentation d'un petit langage de programmation
fonctionnelle A Small Language, décrit dans la
partie 3 du livre ``Functional Programming using Caml Light'',
par Michel Mauny et Guy Cousineau.
- calc:
Un calculateur de bureau simplifié qui illustre l'utilisation
d'un analyseur syntaxique écrit à l'aide de camllex et camlyacc.
- colwheel: (G)
La roue des couleurs (l'espace des couleurs en coordonnées HSV).
Il faut au moins 256 coleurs pour que l'effet soit joli.
- compress: (*)
Compression et décompression de fichiers par la méthode
de Huffman.
- demonstr: (*)
Un vérificateur de tautologies.
- docteur: (*)
Un clone d'Eliza.
- grep: (*)
Expressions régulières et automates.
- hanoi: (*)
Les tours de Hanoi animées.
- kb:
La procédure de complétion de Knuth-Bendix pour les systèmes
de réécriture de termes.
Issu des notes de cours de Gérard Huet.
- minicaml: (*)
Un interpréte et contrôleur de types pour un sous-ensemble
de Caml.
- minilogo: (*) (G)
Un interpréte pour un petit langage avec une tortue graphique.
- pascal: (*)
Un interprète et compilateur pour un sous-ensemble de Pascal.
Le compilateur génère du code pour la picomachine
décrite par le programe suivant.
- picomach: (*)
Un assembleur et simulateur de la picomachine, un
processeur RISC simplifié.
- showsort: (G)
Animation graphique d'algorithmes de tri.
- spirals: (G)
Exploration d'une famille de courbes amusantes. (Utilisez spir
sur un écran couleur et spir-bw sur un écran noir et blanc.)
Le répertoire config
ne contient pas d'exemples mais
les fichiers de configuration qui engendrent les Makefiles
.