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