Un petit aide-mémoire pour faire tourner une procédure ADA sous emacs avec ada-mode.
Il faut au préalable installer gnat :
Bash
# apt-get install gnat
Voici par exemple une procédure correspondant à l'exercice 14 d'ALGO1 d'INFO1 du poly de M. JFR...
- le fichier exo14.adb :
Ada
with ada.Text_IO,ada.Integer_Text_IO,ada.Float_Text_IO; use ada.Text_IO,ada.Float_Text_IO; procedure Exo14 is Montant,Tauxremise : Float; begin put("Quel est le montant initial ?"); Get(Montant); Tauxremise := 0.05; if Montant > 300.0 then Montant := Montant * (1.0 - Tauxremise); end if; Put("Donne moi : "); Put(Montant,4,2,0); end;
- On tape ensuite C-c C-v pour compiler. Voici ce qui s'est passé, affiché dans le mini-tampon:Bash
-*- mode: compilation; default-directory: "~/IUT/INFO1/ADA/" -*- Compilation started at Sun Sep 16 20:01:46 gnatmake -u -c -gnatc -g ~/IUT/INFO1/ADA/exo14.adb -cargs -gnatq -gnatQ gcc-4.6 -c -I~/IUT/INFO1/ADA/ -gnatc -g -gnatq -gnatQ -I- ~/IUT/INFO1/ADA/exo14.adb Compilation finished at Sun Sep 16 20:01:46
- Il reste à construire avec C-c RET :Bash
-*- mode: compilation; default-directory: "~/IUT/INFO1/ADA/" -*- Compilation started at Sun Sep 16 20:02:59 gnatmake -o exo14 exo14 -g -cargs -gnatq -gnatQ -bargs -largs gcc-4.6 -c -g -gnatq -gnatQ exo14.adb gnatbind -x exo14.ali gnatlink exo14.ali -o exo14 -g Compilation finished at Sun Sep 16 20:02:59
- puis à lancer l'exécutable ainsi fabriqué avec C-c C-q r :Bash
Quel est le montant initial ? 123123.10 Donne moi : 116966.95 Process run finished