/* NAME = exta.h */
/************************************************************/
/*    exta.h: Variables globales                            */
/*        Version du Mar 22-09-2009 (12.1) (Michel BRET)    */
/************************************************************/

//#include "defa.h"

extern long Verbose;

/* Status */
/* ------ */
extern char Status_Anyflo0[], Status_Anyflo1[], Status_Anyflo[];

/* Interruption */
extern jmp_buf Env;

/* Caractere d'escape: ESC=27 `=96 */
extern long A_Escape;

/* Prog = 0(interpreteur), 1(anyflo) */
extern long Prog;
/* NID = numero de lancement (gere plusieurs executables) */
extern long NID;

/* Machine = SGI PC */
extern long Type_Machine;

/* Nom de la machine */
extern char Nom_Machine[];

/* Applic = 1(interpreteur), 1(anyflo), 2(demo), 10(application) */
extern long Applic;

/* Sem_start: 0, 1, ... */
extern long Sem_start, Cc0, Cc, Cpt_try;

/* Description des environnements */
extern long Nb_env;
extern struct Environnement Penv[];

/* Table des [oui non] */
extern long *Sem0;

/* Compilation */
extern long Sem_comp, Sem_link, Sem_locale, Num_fonc;
extern struct Objet *P_mac0;
extern long N_l;

/* Buffer de lecture */
extern char Buf_0[], Buf_1[], Buf_2[];    /* Cadres */

/* Pile des debug */
extern long *P_debug, *P_stop, Debug, Go, Sem_del;

/*??? Buffer de lecture: Non utilise */
extern long Dim_buf;

/* Pile des indefinis */
extern long Dim_Tab;

/* Pile des variables locales */
extern long Dim_loc;
extern struct Objet *Pile_loc, *P_loc, *Fin_loc;

/* Pile des evaluations */
extern long Dim_ev;
extern long *Pile_ev, *P_ev, *Fin_ev, *P_res;

/* Pile des macros */
extern long Dim_mac;
extern long *Pile_mac, *P_mac, *Fin_mac;
extern long Sem_fonc;

/* Blocs */
extern long Nb_Bloc, Dim_Bloc;

/* Pile des objets */
extern long Nb_Obj;
extern struct Objet *Pile_obj;
extern struct Objet Pile_History[];

/* exec fonc time */
/* -------------- */
extern Exec_Fonc *Tab_Exec_Fonc;
extern long *Nom_Exec_Fonc;
extern long Sem_Exec_Fonc, Nb_Exec_Fonc, Np_Exec_Fonc, Cpt_Exec_Fonc, Num_Exec_Fonc;

/* Pile des variables globales */
extern struct Objet *Pile_Glb;
extern long Nb_Glb;

/* Objet locale en execution */
extern struct Objet *P_obj_locale;

/* Pile des commandes */
extern long Dim_com;
extern long *Pile_com, *P_com, *Fin_com;

/* Dimensions du terminal */
extern long Nb_colonne;
extern long Nb_ligne;

/* Precision de l'operateur ~ */
extern float *Precision;

/* Objet NIL */
extern long P_nil[];

/* P_define -> table des define globaux */
extern long *P_define;

/* Pointeurs de debuging */
extern long *L1, *L2;
extern float *F1, *F2;
extern float M[4][4];
extern struct Objet *PO;

extern char Status[];

/* lan="f1 f2" */
//extern char *P_lance1, *P_lance2;
extern char P_lance[];
extern char *Ad_lance[];
extern long Cpt_lance, Ind_lance;

/* Debug [cm]alloc */
/* --------------- */
extern long *Pile_alloc;
extern long *P_alloc, *Fin_alloc;
extern long Sem_alloc;

extern long *Pile_Debug;

/* Erreur */
/* ------ */
extern char Buf_Erreur0[], Buf_Erreur[];

/* END */

