Cerf
Présentation
Cerf est une première tentative d'utilisation d'OcamlYacc sur un très grand classique : la calculatrice. L'objectif était de mettre au point les règles de grammaire permettant d'évaluer les expressions arithmétiques usuelles, puis de les étendres avec quelques opérateurs pratiques pour la manipulation de variables.
Ressources
Vous pourrez trouver quelques fichiers dans le dossier du projet et notamment une archive contenant le code source.
Pré-requis : pour pouvoir compiler ce programme, il vous faudra une installation complète de Objective Caml incluant ocamlyacc.
Utilisation
L'application s'utilise dans un terminal, de la même façon que bc sous Unix.
Opérateurs
La calculatrice implémente les opérateurs classiques :
-
+: addition -
-: soustraction -
*: multiplication -
/: division -
%: modulo -
^: exponentiation -
max: maximum -
min: minimum
Les priorités sont également celles de l'arithmétique habituelle.
Instructions
Une instruction pour Cerf est une déclaration de variable, une affectation ou une requête d'affichage. On peut également déclarer une variable en l'initialisant. L'opérateur d'affectation est =, comme dans la plupart des langages.
Soit x Soit y = 2 x = y
L'affichage d'une valeur se fait simplement via l'instruction dédiée :
Afficher x
On peut également concaténer les opérateurs et le signe d'affectation pour abréger la syntaxe, comme c'est le cas pour certains opérateurs en C ou en Python. Par exemple, on peut simplifier
x = 3 * y + z ^ (4 mod 5) + x
en
x += 3 * y + z ^ (4 mod 5)
Exemple de session
Après ce bref étalage de conventions, rien ne vaut un bon exemple de session :
Cet aperçu a été réalisé avec la dernière version de Cerf sous Mac OS X (Tiger).