File : es_prolog.ads
1 -- Fichier ENT_SOR.ADS
2 -- Spécifications du package d'entrée/sortie de l'interpréteur PROLOG.
3
4
5 with Objets_Prolog; use Objets_Prolog;
6
7
8 ----------------------------------------------------------------------------------------------------------------------------------
9
10
11 package Es_Prolog is
12
13
14 ---------------------------------------------
15 -- Les exceptions susceptibles d'etre levées.
16 ---------------------------------------------
17 Erreur_De_Syntaxe : exception; -- Par LIT_TOKEN, ANALYSE_TOKEN.
18 Fin_Du_Fichier : exception; -- Par LIT_TOKEN, ANALYSE_TOKEN.
19 Table_Op_Pleine : exception; -- Par élaboration du package.
20 Buffer_Relect_Plein : exception; -- Indique une erreur interne.
21 Buffer_Relect_Vide : exception; -- Idem.
22
23
24 ----------------
25 -- Informations.
26 ----------------
27 procedure Informations;
28
29
30 -------------------------------------------
31 -- Entrée de bas niveau (niveau caractere).
32 -------------------------------------------
33 Fin_De_Fichier : constant Character := Ascii.Sub; -- Fin de fichier indiquée par Ctrl-Z (SUB).
34 Carac_Lu : Character := ' '; -- Le dernier caractere lu.
35 Echo : Boolean := False; -- Pour controler l'affichage à l'écran lors d'une lecture de fichier
36
37 Entree_Depuis_Standard : Boolean := True;
38 Sortie_Vers_Standard : Boolean := True;
39
40 procedure Entree_Standard; -- L'entrée des caracteres se fera à partir du clavier.
41 function Entree_Fichier(Symb : Mot) return Boolean; -- L'entrée des caracteres se fera à partir du fichier indiqué.
42 procedure Vide_Entree;
43 function Lit_Carac return Character; -- Renvoie le caractere suivant.
44 function Caractere_Significatif(C : Character) return Character;-- Renvoie le 1er caractere significatif à partir de C.
45
46
47 ----------------------------------------------
48 -- Entrée de haut niveau (analyse syntaxique).
49 ----------------------------------------------
50 Token : Mot; -- Le dernier token lu.
51
52 function Lit_Token return Mot; -- Renvoie le token suivant du fichier d'entrée.
53 function Analyse_Complete(Objet : Mot) return Mot; -- Renvoie expression suivante du fichier d'entrée.
54
55
56 ------------------------------
57 -- Ecriture d'un objet PROLOG.
58 ------------------------------
59 procedure Ecrit(Objet : Mot; Avec_Quote : Boolean := True);
60
61
62 end Es_Prolog