#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
#include <conio.h>

#define ATOME 				1
#define STRUCTURE			2
#define TABLEAU 			3
#define TABLEAU_STRUCTURE 	4
#define CHAMP				5

#define TYP_PTR_VAR_ADRESSE 		  1
#define TYP_PTR_VAR_NORMAL  		  2
#define TYP_PTR_VAR_POINTEUR 		  3
#define TYP_PTR_VAR_POINTEUR_POINTEUR 4

#define LBEGIN      0 /*{ */
#define LEND        1 /* } */
#define LFOR        2 /* for */
#define LWHILE      3 /* while */
#define LDO         4 /* do */
#define LTASK       5 /* task */
#define LSUBROUTINE 6 /* subroutine */
#define LIDENT      7 /*identifier */
#define LENTIER     8 /* int */
#define LCHAR       24 /* char */
#define OCTET       26 /* byte */
#define LFLOTTANT   25 /* float */
#define CHAINE      9 /* chaine */
#define LPV         10 /* ; */
#define LV          11 /* , */
#define LPLUS       12 /* + */
#define LMOINS      13 /* - */
#define LMUL        14 /* * */
#define LDIV        15 /* / */
#define LEG         31 /* = */
#define LOP         32 /* ( */
#define LCL         33 /* ) */
#define LCOMPINF    16 /* < */
#define LCOMPSUP    17 /* > */
#define LCOMPINFEG  18 /* <= */
#define LCOMPSUPEG  19 /* >= */
#define LCOMPEG     20 /* == */
#define LIF         21 /* if */
#define LELSE		22 /* else */
#define LRETURN     23 /* return */
#define LCONTINUE   27 /* continue */
#define LBREAK      28 /* break */
#define LSWITCH     29 /* switch */
#define LCASE       30 /* case */
#define LDP         34  /* : */
#define LET         35 /* & */
#define LOU         36 /* | */
#define LCOMPET     37 /* && */
#define LCOMPOU     38 /* || */
#define LNON        39 /* ! */
#define LADDR       40 /* & */
#define LCROP       41 /*[*/
#define LCRCL       42 /* ] */
#define LCHIFFREENT 43 /* 123 */
#define LCHIFFRREEL 44 /*123.52 */
#define LOPCOMM     45 /* /* */
#define LCLCOMM     46 /* */
#define LPOINT      47  /* . */
#define LSTRUCT     48 /* struct */
#define LEXIT       49 /* exit */
#define LVOID       50 /* LVOID */
#define LINC        51 /* ++ */
#define LDEC        52 /* -- */
#define LGOTO       53 /* goto */
#define LCOMPDIFF   54 /* != */
#define LINDIRECT   55 /* -> */
#define LSIZEOF     56 /* sizeof */
#define LDEFAULT    57 /* default */
#define LMODULO     58 /* % */
#define LSCHAR      59 /* schar */
#define LSINT       60 /* sint */
#define LLONG       61 /* long */
#define LSLONG      62 /* slong */
#define LSHL        63 /* << */
#define LSHR        64 /* >> */
#define LPRECEDES	65 /* precedes */
#define LMODIFY		66 /* mod */
#define LINLINE		67 /* inline */
#define LNEG		68 /* moins unaire */
#define LMUTEX		69 /* semaphore mutex */
#define LACQUIRE	70 /* acquire */
#define LRELEASE	71 /* release */
#define LARRSIZE	72 /* arrsize */
#define LARRINIT	73 /* arrinit */
#define LARRSUBSET	74 /* arrsubset */
#define LARRBUILD	75 /* arrbuild */

#define TBYTE   0
#define TSBYTE  1
#define TWORD   2
#define TSWORD	3
#define TDWORD  4
#define TSDWORD	5


#define  MAX_INLINE 200
#define  MAX_IDENT 200
#define  MAX_CHAMP 10
#define  MAX_DIMENSION 10
#define  PROF_BLOC 30

/* table des lexemes */
#define ECHANT struct echant
ECHANT {
		int  type_lexeme;
		char lexeme[MAX_IDENT];
		char module[100];
		int  num_ligne;
	};


#define MAX_VARIABLE_GLOBALE 1000
#define TYPE_VARIABLE struct type_variable
TYPE_VARIABLE {
		int  genre_variable; /* ATOME, STRUCTURE, TABLEAU, pointeur */
		char type[MAX_IDENT]; /* type */
		char champ_structure[MAX_IDENT]; /* ident du champ */
		TYPE_VARIABLE *type_variable_ptr[MAX_CHAMP]; /* champs de la structure */
		int  nb_type_variable; /* nombre de champs de la structure */
		int  dimension[MAX_DIMENSION]; /* dimension du tabelau, si tableau */
		int  nb_dimension; /*nombre de dimension du tableau */
		int  nb_champ; /* nb de champ de la structure */
		char bloc[PROF_BLOC+1];
		int  type_pointeur; /* pour les champs */
	};



/* table des variables globales */
#define POINTEUR 0
#define PASPOINTEUR 1
#define POINTEURPOINTEUR 2
#define MAX_TYPE_VARIABLE 1000
#define VARIABLE_GLOBALE struct variable_globale
VARIABLE_GLOBALE {
		TYPE_VARIABLE *type_variable_ptr;
		char ident[MAX_IDENT];
		char bloc[PROF_BLOC+1];
		char valeur[MAX_IDENT]; /* vaut null si pas de valeur initialisée */
		int  type_pointeur;
		int  modify;
	};

/* table des instructions */

#define INSTRUCTION struct instruction
#define SEXPRESSION struct sexpression
#define SFONCTION struct sfonction


#define SVARIABLE_VARIABLE      1
#define SVARIABLE_TABLEAU_SEUL  2
#define SVARIABLE_CHAMP_SEUL    3
#define SVARIABLE_CHAMP_TABLEAU 4

#define SVARIABLE struct svariable
SVARIABLE {
	int ligne;
	int type_svariable;
	char ident_variable[MAX_IDENT];
	VARIABLE_GLOBALE *variable_ptr;
	char ident_champ[MAX_IDENT];
	TYPE_VARIABLE *type;
	SVARIABLE *suivant;
	int indirection;
	SEXPRESSION *dimension[MAX_DIMENSION];
	int nb_dimension;
};


#define SATOME struct satome
SATOME {
	char valeur[MAX_IDENT];
	int type;
};

#define MAX_PARAMETRE 100

#define SFONCTION struct sfonction
SFONCTION {
	char fonction[MAX_IDENT];
	int nb_argument;
	SEXPRESSION *argument_ptr[MAX_PARAMETRE];
};

#define SPOINTEUR struct spointeur
SPOINTEUR {
	int ligne;
	char ident_variable[MAX_IDENT];
	VARIABLE_GLOBALE *variable_ptr;
	TYPE_VARIABLE *type;
	SEXPRESSION *index;
};

#define FEUILLE union feuille
FEUILLE {
	SFONCTION sfonction;
	SVARIABLE svariable;
	SATOME 	  satome;
	SPOINTEUR spointeur;
};

#define EXP_OPERATEUR 1
#define EXP_ATOME     2
#define EXP_VARIABLE  3
#define EXP_FONCTION  4
#define EXP_POINTEUR  5

#define SEXPRESSION struct sexpression
SEXPRESSION {
	int operateur; /* + - / % */ /* penser à ajouter modulo */
	SEXPRESSION *gauche;
	SEXPRESSION *droit;
	int type;
	FEUILLE feuille;
	int type_resultant;
};

#define AFF_EXP  0
#define AFF_INC  1
#define AFF_DEC  2
#define AFF_PTR  3

#define SAFFECTATION struct saffectation
SAFFECTATION {
	SEXPRESSION *variable;
	SEXPRESSION *valeur_affectee;
	int type_affectation;
};

/*#define SFONCTION struct sfonction*/

#define SIF struct sif
SIF {
	int selse;
	SEXPRESSION *argument;
	INSTRUCTION *corps_if;
	INSTRUCTION *corps_else;
};


#define SFOR struct sfor
SFOR {
	SAFFECTATION *argument_init_ptr;
	SEXPRESSION *expression_ptr;
	SAFFECTATION *argument_increment_ptr;
	INSTRUCTION *corps_for;
};

#define SBLOC struct sbloc
SBLOC {
	int nb_instruction; /* nb d'instructions, si >1 liste d'instruction */
	INSTRUCTION **liste_instruction; /* pointeur sur l'instruction ou la liste d'instruction */
	/* à compléter */
};

#define TYPE_CASE_CASE 1
#define TYPE_CASE_DEFAULT 2
#define MAX_CASE 100
#define SSWITCH struct sswitch
SSWITCH {
	SEXPRESSION *expression;
	SEXPRESSION *expression_case[MAX_CASE];
	INSTRUCTION *cases[MAX_CASE];
	int nb_case;
	int type_case[MAX_CASE];
	int break_or_not[MAX_CASE];
	/* à compléter */
};

#define SDO_REPEAT struct sdorepeat
SDO_REPEAT {
	SEXPRESSION *expression_ptr;
	INSTRUCTION *corps;
};


#define SRETURN struct sreturn
SRETURN {
	SEXPRESSION *expression_ptr;
	int exp;
};


#define SARRSIZE struct sarrsize
SARRSIZE {
	char  label[MAX_IDENT];
	char  size[MAX_IDENT];
};


#define SARRINIT struct sarrinit
SARRINIT {
	char  label[MAX_IDENT];
	SEXPRESSION *expression_value_ptr;
	SEXPRESSION *expression_size_ptr;
};


#define SARRSUBSET struct sarrsubset
SARRSUBSET {
	char  label_src[MAX_IDENT];
	char  label_dst[MAX_IDENT];
	SEXPRESSION *expression_index_ptr;
	SEXPRESSION *expression_length_ptr;
};


#define SARRBUILD struct sarrbuild
SARRBUILD {
	int 	nb_tab;
	char    *label[10];
};

#define MAX_PRECEDES 20
#define SPRECEDES struct sprecedes
SPRECEDES {
	int  nb_label;
	char label[MAX_PRECEDES][MAX_IDENT];
};

#define INSTRUCTION_ELT union instruction_elt
INSTRUCTION_ELT {
	SAFFECTATION 	*saffectation;
	SEXPRESSION  	*sfonction;
	SIF 			sif;
	SFOR 			sfor;
	SBLOC 			sbloc;
	SSWITCH 		sswitch;
	SDO_REPEAT 		sdo_repeat;
	SRETURN 		sreturn;
	SARRSIZE		sarrsize;
	SARRINIT		sarrinit;
	SARRSUBSET		sarrsubset;
	SARRBUILD		sarrbuild;
	char    		slabel[MAX_IDENT];
	char    		sgoto[MAX_IDENT];
	SPRECEDES 		sprecedes;
	char			sinline[MAX_INLINE];
	char 			smutex_acquire[MAX_IDENT];
	char			smutex_release[MAX_IDENT];
};

#define INST_ATOME		 14
#define INST_VARIABLE	 13
#define INST_IF 		 0
#define INST_FOR 		 1
#define INST_DO_REPEAT 	 2
#define INST_SWITCH 	 3
#define INST_GOTO 		 4
#define INST_RETURN		 5
#define INST_BREAK		 6
#define INST_CASE		 7
#define INST_CONTINUE	 8
#define INST_AFFECTATION 9
#define INST_EXPRESSION  10
#define INST_FONCTION	 11
#define INST_BLOC		 12
#define INST_LABEL		 15
#define INST_PRECEDES	 16
#define INST_EXIT		 17
#define INST_INLINE		 18
#define INST_ACQUIRE	 19
#define INST_RELEASE	 20
#define INST_ARRSIZE	 21
#define INST_ARRINIT	 22
#define INST_ARRSUBSET	 23
#define INST_ARRBUILD	 24
#define MAX_INSTRUCTION 100000
#define INSTRUCTION struct instruction
INSTRUCTION {
	int type_instruction; /* type de l'instruction */
	INSTRUCTION_ELT instruction; /* pointeur sur l'instruction ou la liste d'instruction */
	char bloc[PROF_BLOC+1];
	int  index;
};
/*INSTRUCTION tab_instruction[MAX_INSTRUCTION];
int nb_instruction;*/

/* table des fonctions */
#define MAX_FONCTION 1000
#define MAX_VARLOC 100
#define FONCTION struct fonction
FONCTION {
		TYPE_VARIABLE *type_variable_retournee_ptr; /* pointe sur le type de variable retournee atome ou structure */
		int type_pointeur; /* type de pointeur retourne PASPOINTEUR,POINTEUR,POINTEURPOINTEUR */
		char ident_fonction[MAX_IDENT]; /* nom de la fonction */
		int nb_parametre; /*nb de paramètres */
		VARIABLE_GLOBALE *parametres; /* liste des parametres */
		int nb_var_locale; /*nb de variable locale */
		VARIABLE_GLOBALE *var_locale; /* liste des parametres */
		INSTRUCTION *liste_instruction; /* listes des instructions */
		int nb_instruction;
		int librairie;
};
/*FONCTION tab_fonction[MAX_FONCTION];
int nb_fonction;*/

char tab_fonctions_appelees[MAX_FONCTION][MAX_IDENT];
int  nb_fonctions_appelees;

/* table des subroutine */
#define MAX_SUBROUTINE 1000
#define SUBROUTINE struct subroutine
SUBROUTINE {
	    char ident_subroutine[MAX_IDENT]; /* nom de la tache */
		int nb_var_locale; /*nb de variable locale */
		VARIABLE_GLOBALE *var_locale; /* liste des parametres */
		INSTRUCTION *liste_instruction; /* listes des instructions */
		int nb_instruction;
	};
/*SUBROUTINE tab_subroutine[MAX_SUBROUTINE];
int nb_subroutine;*/

/* table des taches */
#define MAX_TACHE 1000
#define TACHE struct tache
TACHE {
	    char ident_tache[MAX_IDENT]; /* nom de la tache */
		int nb_var_locale; /*nb de variable locale */
		VARIABLE_GLOBALE *var_locale; /* liste des parametres */
		INSTRUCTION *liste_instruction; /* listes des instructions */
		int nb_instruction;
	};
/*TACHE tab_tache[MAX_TACHE];
int nb_tache;*/

#define PROGRAM struct program
PROGRAM {
		   VARIABLE_GLOBALE vg[MAX_VARIABLE_GLOBALE];
		   int nb_vg;
	};



/* table des defines */

#define MAX_DEFINE 10000
#define TAB_DEFINE struct tab_define
TAB_DEFINE {
	    char ident[MAX_IDENT]; /* nom du define */
		char module[100];
		int  ligne;
		char *definition;
	};


/* table des mutex */

#define MAX_MUTEX 10000
#define TAB_MUTEX struct tab_mutex
TAB_MUTEX {
	    char ident[MAX_IDENT]; 	/* nom du mutex */
		char module[100];		/* module       */
		int  ligne;				/* ligne        */
	};


/*****************************************************************************************************************************/
/*****************************************************************************************************************************/

#define LX0001 "\nFatal Error #LX0001: Allocation Memory Error"  		/* analyse_fichier_ligne_a_ligne() */
#define LX0010 "\nFatal Error #LX0010: Allocation Memory Error"  		/* analyse_fichier_ligne_a_ligne() */
#define LX0020 "\nFatal Error #LX0020: Lexical parsing Error"    		/* analyse_fichier_ligne_a_ligne() */
#define LX0030 "\nFatal Error #LX0030: Lexical parsing Error"    		/* analyse_fichier_ligne_a_ligne() */
#define LX0040 "\nFatal Error #LX0040: Missing\" as end of the string"    /* analyse_fichier_ligne_a_ligne() */
#define LX0050 "\nFatal Error #LX0050: Lexical parsing Error"    		/* analyse_fichier_ligne_a_ligne() */
#define LX0060 "\nFatal Error #LX0060: Double defintion of Define\n  lexical parsing of '%s' line =%d '%s' = '%s' \n already defined '%s' line '%d' '%s' = '%s'" /* analyse_fichier_ligne_a_ligne() */
#define LX0070 "\nFatal Error #LX0070: Lexical parsing Error during parsing of 'define'"    		/* analyse_fichier_ligne_a_ligne() */
#define LX0080 "\nFatal Error #LX0080: File %s doesn't exist \n"
#define LX0090 "\nFatal Error #LX0090: File %s doesn't exist for parsing of 'define' \n"

#define SX0001 "Fatal Error #SX0001: Double declaration of a variable" /* ajout_variable() */
#define SX0010 "Fatal Error #SX0010: Unknown type of variable"    /* ajout_variable */
#define SX0020 "Fatal Error #SX0030: Double declaration of a structure" /* ajout_type() */
#define SX0030 "Fatal Error #SX0030: Unknown structure, internal inconsistency of the compiler" /* ajout_type() */
#define SX0040 "Fatal Error #SX0040: Double declaration of field in the same structure" /* ajout_type() */
#define SX0050 "Fatal Error #SX0050: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0060 "Fatal Error #SX0060: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0070 "Fatal Error #SX0070: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0080 "Fatal Error #SX0080: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0090 "Fatal Error #SX0090: Identifier or pointer (*) expected" /* detecte_fonction() */
#define SX0100 "Fatal Error #SX0100: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0110 "Fatal Error #SX0110: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0120 "Fatal Error #SX0120: Unexpected end of file in the global variable zone" /* detecte_fonction() */
#define SX0130 "Fatal Error #SX0130: Unexpected end of file in the global variable zone" /* detecte_fonction() */

/*void analyse_variable(char *prof_bloc)*/

#define SX0140 "Fatal Error #SX0140: Unexpected end of file in the variable zone"  		  /* fin prématuré du fichier source dans la zone des variables globales*/
#define SX0150 "Fatal Error #SX0150: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0017 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0160 "Fatal Error #SX0160: Identifier of variable or '*' (pointer) expected "   /* Erreur Fatale #S0018 : identifiant de variable ou * (pointeur) attendu "*/
#define SX0170 "Fatal Error #SX0170: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0019 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0180 "Fatal Error #SX0180: Indentifier of variable or '*' (pointer) expected"   /* Erreur Fatale #S0020 : identifiant de variable ou pointeur de pointeur attendu "*/
#define SX0190 "Fatal Error #SX0190: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0021 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0200 "Fatal Error #SX0200: Identifier of variable is expected" 				  /* Erreur Fatale #S0022 : identifiant de variable attendu "*/
#define SX0210 "Fatal Error #SX0210: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0023 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0220 "Fatal Error #SX0220: ';' or ',' or '[' is expected"						  /* Erreur Fatale #S0024 : ; ou ,ou [ attendus " */
#define SX0230 "Fatal Error #SX0230: Integer expected" 									  /* Erreur Fatale #S0025 : entier attendu  "*/
#define SX0240 "Fatal Error #SX0240: dimension of array exceeds the limit ( >10 ) " 	  /* Erreur Fatale #S0026 : tableau supérieur à 10 dimensions "*/
#define SX0250 "Fatal Error #SX0250: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0027 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0260 "Fatal Error #SX0260: ']' is expected" 									  /* Erreur Fatale #S0028 : ] attendu " */
#define SX0270 "Fatal Error #SX0270: Unexpected end of file in the variable zone"  		  /* Erreur Fatale #S0029 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0280 "Fatal Error #SX0280: Unexpected end of file in the variable zone" 		  /* Erreur Fatale #S0029b : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0290 "Fatal Error #SX0290: Integer or string expected "						  /* Erreur Fatale #S0030 : Entier, réel ou chaine attendu " */
#define SX0300 "Fatal Error #SX0300: Bad initialization of an integer to a bad type of variable ( different from char/byte/int/long " /*Erreur fatale #S0031 : initialisation d'un entier sur un type non char/byte/int"*/
#define SX0310 "Fatal Error #SX0310: Bad initialization of a negative value to a non signed type ( char, int, long ) " /*Erreur Fatale #S0035b : initialisation d'un entier négatif sur un type non signe "*/
#define SX0320 "Fatal Error #SX0320: Value exceeds the capacity of the char or byte " 	  /* Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du char ou du byte"*/
#define SX0330 "Fatal Error #SX0330: Value exceeds the capacity of the schar " 			  /* Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du schar ou du sbyte"*/
#define SX0340 "Fatal Error #SX0340: Value exceeds the capacity of the int "				  /* Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du int"*/
#define SX0350 "Fatal Error #SX0350: Value exceeds the capacity of the sint "			  /* Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du sint"*/
#define SX0360 "Fatal Error #SX0360: Value exceeds the capacity of the long "			  /* "Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du long"*/
#define SX0370 "Fatal Error #SX0370: Value exceeds the capacity of the slong " 			  /* "Erreur fatale #S0032 : la valeur initialisée dépasse la capacité du slong"*/
#define SX0380 "Fatal Error #SX0380: Bad initialization of a float "						  /* Erreur_fatale #S0034 : initialisation d'un réel */
#define SX0390 "Fatal Error #SX0390: Bad initialisation of a string to a non string type of variable" /*Erreur Fatale #S0035 : initialisation de chaine sur un type non char "*/
#define SX0400 "Fatal Error #SX0400: Bad initialization of a string to an array which dimension is above 1 " /*Erreur Fatale #S0036 : initialisation d'un tableau de char de dimension différente de 1"*/
#define SX0410 "Fatal Error #SX0410: Bad initialization of a string which length exceeds the size of the array of char " /*Erreur Fatale #S0037 : initialisation d'une chaine trop longue par rapport au tableau"*/
#define SX0420 "Fatal Error #SX0420: Unexpected end of file in the variable zone" 		  /* Erreur Fatale #S0038 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0430 "Fatal Error #SX0430: ',' is expected "									  /* Erreur Fatale #S0039 : , attendue "*/
#define SX0440 "Fatal Error #SX0440: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0040 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0450 "Fatal Error #SX0450: Identifier of sructure is expected "				  /* Erreur Fatale #S0041 : identifiant de structure attendu "*/
#define SX0460 "Fatal Error #SX0460: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0042 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0470 "Fatal Error #SX0470: '[' is expected "									  /* Erreur Fatale #S0043 : { attendu " */
#define SX0480 "Fatal Error #SX0480: Too many fileds in the definition of the structure " /* Erreur Fatale #S0045 : trop de champs dans la structure "*/
#define SX0490 "Fatal Error #SX0490: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0046 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0500 "Fatal Error #SX0500: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0047 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0510 "Fatal Error #SX0510: Erreur Fatale #S0048 : identifier of field or '*' (pointer) is expected " /*identifiant de champ ou * (pointeur) attendu "*/
#define SX0520 "Fatal Error #SX0520: Unexpected end of file in the variable zone"		 /* Erreur Fatale #S0049 : fin prématuré du fichier source dans la zone des variables  " */
#define SX0530 "Fatal Error #SX0530: Erreur Fatale #S0050 : identifier of filed or '*' (pointer) is expected " /* identifiant de champ ou pointeur de pointeur attendu "*/
#define SX0540 "Fatal Error #SX0540: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0051 : fin prématuré du fichier source dans la zone des variables  " */
#define SX0550 "Fatal Error #SX0550: Identifier of field is expected " 					  /* Erreur Fatale #S0052 : identifiant de champ attendu " */
#define SX0560 "Fatal Error #SX0560: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0053 : fin prématuré du fichier source dans la zone des variables  " */
#define SX0570 "Fatal Error #SX0570: ';' or ',' or '[' is expected "					  /* Erreur Fatale #S0054 : ; ou ,ou [ attendus " */
#define SX0580 "Fatal Error #SX0580: Integer is expected "								  /* Erreur Fatale #S0055 : entier attendu  " */
#define SX0590 "Fatal Error #SX0590: Dimension of array exceeds the limit ( >10 ) "		  /* Erreur Fatale #S0056 : tableau supérieur à 10 dimensions " */
#define SX0600 "Fatal Error #SX0600: Unexpected end of file in the variable zone"	      /* Erreur Fatale #S0057 : fin prématuré du fichier source dans la zone des variables  "*/
#define SX0610 "Fatal Error #SX0610: ']' is expected "									  /* Erreur Fatale #S0058 : ] attendu " */
#define SX0620 "Fatal Error #SX0620: ',' is expected "									  /* Erreur Fatale #S0059 : , attendue "*/
#define SX0630 "Fatal Error #SX0630: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0060 : Erreur syntaxique dans la zone de déclaration de variables */
#define SX0640 "Fatal Error #SX0640: Bad definition of structure, no field defined"		  /* Erreur Fatale #S0061 : la structure ne contient aucun champ "*/
#define SX0650 "Fatal Error #SX0650: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0062 : fin prématuré du fichier source dans la zone des variables  " */
#define SX0660 "Fatal Error #SX0660: ';' is expected "									  /* Erreur Fatale #S0063  : ; attendu " */
#define SX0670 "Fatal Error #SX0670: Syntax Error in the variale zone "					  /* Erreur Fatale #S0064 : Erreur syntaxique dans la zone de déclaration de variables "*/

/*int compatibilite_type(int g,int d)*/
#define SX0675 "Warning Error #SX0675: Types not compatible in expression "				  /* Warning  #W0001 : Incompatibilite des types dans l'expression e.g une chaîne et un entier"*/

/*SEXPRESSION * nouvelle_expression(int type_exp,int operateur_ou_type_atome_ou_indirection,char *arg1,char *arg2,int nb,SEXPRESSION **tab_exp)*/
#define SX0680 "Fatal Error #SX0680: Allocation Memory Error"							  /* Erreur Fatale #S0065 :: pb allocation memoire expression "*/
#define SX0690 "Fatal Error #SX0690: Types not compatible in expression "				  /* Erreur Fatale #S0066 : Incompatibilite des types dans l'expression e.g une chaîne et un entier"*/
#define SX0700 "Fatal Error #SX0700: Unknown Function in the expression "				  /* Erreur Fatale #S0067 : Incohérence :: fonction introuvable dans la creation de l'expression"*/
#define SX0710 "Fatal Error #SX0710: Unknown type in the expression "					  /* Erreur Fatale #S0068 : Incohérence :: type introuvable dans la creation de l'expression"*/

/*SVARIABLE *analyse_synt_variable_recursive(TYPE_VARIABLE *type,char *bloc_prof)*/
#define SX0720 "Fatal Error #SX0720: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0069 : fin prématuré du fichier source dans une variable "*/
#define SX0730 "Fatal Error #SX0730: Allocation Memory Error"							  /* Erreur Fatale #S0070 : Erreur interne : allocation de mémoire d'une variable"*/
#define SX0740 "Fatal Error #SX0740: The number of dimension of array exceeds the declared dimension" /* Erreur Fatale #S0071 : tableau dépassant les dimensions déclarées"*/
#define SX0750 "Fatal Error #SX0750: Unexpected end of file in the variable zone" 		  /* Erreur Fatale #S0072 : fin prématuré du fichier source dans un tableau de variable "*/
#define SX0760 "Fatal Error #SX0760: ']' is expected "									  /* Erreur Fatale #S0073 : ] attendu " */
#define SX0770 "Fatal Error #SX0770: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0074 : fin prématuré du fichier source dans un tableau de variable " */
#define SX0780 "Fatal Error #SX0780: Dimension(s) is/are missing in the use of an array " /* Erreur Fatale #S0075 : il manque des dimensions dans l'usage d'un tableau   " */
#define SX0790 "Fatal Error #SX0790: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0076 : fin prématuré du fichier source dans une variable " */
#define SX0800 "Fatal Error #SX0800: Allocation Memory Error"							  /* Erreur Fatale #S0077 : Erreur interne : allocation de mémoire d'une variable" */
#define SX0810 "Fatal Error #SX0810: The number of dimension of array exceeds the declared dimension" /*Erreur Fatale #S0078 : tableau dépassant les dimensions déclarées"*/
#define SX0820 "Fatal Error #SX0820: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0079 : fin prématuré du fichier source dans un tableau de variable "*/
#define SX0830 "Fatal Error #SX0830: ']' is expected "									  /* Erreur Fatale #S0080 : ] attendu " */
#define SX0840 "Fatal Error #SX0840: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0081 : fin prématuré du fichier source dans un tableau de variable "*/
#define SX0850 "Fatal Error #SX0850: Dimension(s) is/are missing in the use of an array as field" /*Erreur Fatale #S0082 : il manque des dimensions dans l'usage d'un champ type tableau   "*/
#define SX0860 "Fatal Error #SX0860: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0083 : fin prématuré du fichier source dans une variable "*/
#define SX0870 "Fatal Error #SX0870: This variable or field is not an array "			  /* Erreur Fatale #S0084 : Cette variable ou champ n'est pas un tableau "*/
#define SX0880 "Fatal Error #SX0880: The type of this variable is not a structure "		  /* Erreur Fatale #S0085 : Cette variable n'est pas de type structure " */
#define SX0890 "Fatal Error #SX0890: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0086 : fin prématuré du fichier source dans une variable "*/
#define SX0900 "Fatal Error #SX0900: An identifier of a field of a structure is expected "/* Erreur Fatale #S0087 : Un identifiant de champ est attendu "*/
#define SX0910 "Fatal Error #SX0910: Identifier of field is not declared "				  /* Erreur Fatale #S0088 : Identifiant de champ inconnu " */
#define SX0920 "Fatal Error #SX0920: Allocation Memory Error"							  /* Erreur Fatale #S0089 : Erreur interne : allocation de mémoire d'une variable" */
#define SX0930 "Fatal Error #SX0930: Identifier of field is not declared "				  /* Erreur Fatale #S0088b : Identifiant de champ inconnu " */
#define SX0940 "Fatal Error #SX0940: Allocation Memory Error"							  /* Erreur Fatale #S0089b : Erreur interne : allocation de mémoire d'une variable" */
#define SX0950 "Fatal Error #SX0950: Unexpected end of file in the variable zone"		  /* Erreur Fatale #S0090 : fin prématuré du fichier source dans une variable " */

/*SEXPRESSION * analyse_synt_variable(char *bloc_prof,int type_pointeur_var)*/
#define SX0960 "Fatal Error #SX0960: Identifier of variable is not declared "			  /* Erreur Fatale #S0091 : Variable non déclarée " */
#define SX0970 "Fatal Error #SX0970: Allocation Memory Error"							  /* Erreur Fatale #S0092 : Erreur interne : allocation de mémoire d'une variable" */

/*SEXPRESSION * analyse_synt_fonction(char *bloc_prof)*/
#define SX0980 "Fatal Error #SX0980: Unexpected end of file in the expression/function"	  /* Erreur Fatale #S0094 : fin prématuré du fichier source dans l'expression/fonction "*/
#define SX0990 "Fatal Error #SX0990: '(' is expected in the function call" 				  /* Erreur Fatale #s0095 : ( manquante dans l'appel de fonction " */
#define SX1000 "Fatal Error #SX1000: Unexpected end of file in the expression/function"	  /* Erreur Fatale #S0096 : fin prématuré du fichier source dans l'expression/fonction "*/
#define SX1010 "Fatal Error #SX1010: Unexpected end of file in the expression/function"	  /* Erreur Fatale #S0097 : fin prématuré du fichier source dans l'expression/fonction "*/
#define SX1020 "Fatal Error #SX1020: ',' or ')' is expected in the function call "		  /* Erreur Fatale #S0098 : , ou ) attendue dans l'appel de la fonction " */

/*SEXPRESSION * analyse_fonction_ou_variable(char * bloc_prof,int type_pointeur_var)*/
#define SX1030 "Fatal Error #SX1030: Unexpected end of file in the ++/-- pattern"   	  /* Erreur Fatale #S0099 : fin prématuré du fichier source dans l'expression INCREMENT/DECREMENT " */
#define SX1040 "Fatal Error #SX1040: Unexpected end of file in the expression" 			  /* Erreur Fatale #S0100 : fin prématuré du fichier source dans l'expression en repositionnement " */
#define SX1050 "Fatal Error #SX1050: Variable or function is not declared in the expression " /*  Erreur Fatale #S0101 :: La variable ou la fonction n'existe pas dans l'expression " */

/*SEXPRESSION * analyse_indirection(char * bloc_prof)*/
#define SX1060 "Fatal Error #SX1060: Unexpected end of file in the *(ptr+index) pattern"  				/* Erreur Fatale #S0100b : fin prématuré du fichier source dans l'expression indirection *(ptr + index ) "*/
#define SX1070 "Fatal Error #SX1070: Identifier of pointer is expected in the *(ptr + index) pattern "	/* Erreur Fatale #S0101b : Identifiant de pointeur attendu *(ptr + index ) "*/
#define SX1080 "Fatal Error #SX1080: The pointer is not declared in the *(ptr + index ) pattern"		/* Erreur Fatale #S0102b : La variable de pointeur n'est pas définie *(ptr + index ) "*/
#define SX1090 "Fatal Error #SX1090: The variable is not a pointer in the *(ptr+ index ) pattern " 		/* Erreur Fatale #S0103b : La variable n'est pas un pointeur  *(ptr + index ) "*/
#define SX1100 "Fatal Error #SX1100: Unexpected end of file in the *(ptr+index) pattern" 				/* Erreur Fatale #S0104b : fin prématuré du fichier source dans l'expression indirection *(ptr + index ) "*/
#define SX1110 "Fatal Error #SX1110: '+' is expected in the *(ptr + index ) pattern" 					/* Erreur Fatale #S0105b : '+' n'est pas définie dans *(ptr + index )"*/
#define SX1120 "Fatal Error #SX1120: Unexpected end of file in the *(ptr+index) pattern" 				/* Erreur Fatale #S0106b : fin prématuré du fichier source dans l'expression indirection *(ptr + index ) "*/
#define SX1130 "Fatal Error #SX1130: ')' is expected in the *(ptr + index) pattern" 					/* Erreur Fatale #S0107b : ')' n'est pas définie dans *(ptr + index )"*/

/*SEXPRESSION * analyse_atome(char * bloc_prof)*/

#define SX1140 "Fatal Error #SX1140: Unexpected end of file in the expression pattern"	/* "Erreur Fatale #S0102 : fin prématuré du fichier source dans l'expression "*/
#define SX1150 "Fatal Error #SX1150: Unexpected end of file in the expression pattern"	/* Erreur Fatale #S0103 : fin prématuré du fichier source dans l'expression "*/
#define SX1160 "Fatal Error #SX1160: Unexpected end of file in the expression pattern"	/* Erreur Fatale #S0104 : fin prématuré du fichier source dans l'expression "*/
#define SX1170 "Fatal Error #SX1170: Unexpected end of file in the expression pattern"	/* Erreur Fatale #s0105 : fin prématuré du fichier source dans l'expression "*/
#define SX1180 "Fatal Error #SX1180: Unexpected end of file in the expression pattern"	/* Erreur Fatale #S0106 : erreur syntaxique dans l'expression "*/
#define SX1190 "Fatal Error #SX1190: Unexpected end of file in the expression pattern"	/* Erreur Fatale #S0107 : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_atome_neg(char *bloc_prof)*/
#define SX1200 "Fatal Error #SX1200: Unexpected end of file in the 'neg' pattern"		/*Erreur Fatale #S4000 : fin prématuré du fichier source dans l'expression MOINS "*/

/*SEXPRESSION * analyse_atome_non(char *bloc_prof)*/
#define SX1210 "Fatal Error #SX1210: Unexpected end of file in the 'not' pattern" /*Erreur Fatale #S0109 : fin prématuré du fichier source dans l'expression non "*/

/*SEXPRESSION * analyse_recursive_shr_shl(char *bloc_prof)*/
#define SX1220 "Fatal Error #SX1220: Unexpected end of file in the 'shr'/'shl' pattern" /*Erreur Fatale #s0110b : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_recursive(char *bloc_prof)*/
#define SX1230 "Fatal Error #SX1230: Unexpected end of file in the expression pattern"  /*Erreur Fatale #s0110 : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_recursive_expression_arithmetique(char *bloc_prof)*/
#define SX1240 "Fatal Error #SX1240: Unexpected end of file in the arithmetic operator  pattern"/* Erreur Fatale #S0111 : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_recursive_expression_comparaison(char *bloc_prof)*/
#define SX1250 "Fatal Error #SX1250: Unexpected end of file in the comparison operator pattern"	/* Erreur Fatale #S0112 : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_recursive_expression_logique_et(char *bloc_prof)*/
#define SX1260 "Fatal Error #SX1260: Unexpected end of file in the logical operator && pattern" /* Erreur Fatale #S0113 : fin prématuré du fichier source dans l'expression "*/

/*SEXPRESSION * analyse_recursive_expression_logique_ou(char *bloc_prof)*/
#define SX1270 "Fatal Error #SX1270: Unexpected end of file in the logical operator || pattern" /* Erreur Fatale #S0114 : fin prématuré du fichier source dans l'expression " */


/*SAFFECTATION * analyse_affectation(char *bloc_prof,int type_pointeur_var)*/
#define SX1280 "Fatal Error #SX1280: Unexpected end of file in the assignment pattern" /* Erreur Fatale #S0115 : fin prématuré du fichier source dans l'affectation "*/
#define SX1290 "Fatal Error #SX1290: Unexpected end of file in the assignment pattern" /* Erreur Fatale #S0116 : fin prématuré du fichier source dans l'affectation "*/
#define SX1300 "Fatal Error #SX1300: Unexpected end of file in the assignment pattern" /* Erreur Fatale #S0117 : fin prématuré du fichier source dans l'affectation "*/
#define SX1310 "Fatal Error #SX1310: '=' is expected " 								   /* Erreur Fatale #S0118 :: = attendue " */
#define SX1320 "Fatal Error #SX1320: Unexpected end of file in the assignment pattern" /* Erreur Fatale #S0119 : fin prématuré du fichier source dans une affectation "*/
#define SX1330 "Fatal Error #SX1330: ')' is not expected"  							   /* Erreur Fatale #S0120 : ) inattendue dans l'affectation " */
#define SX1340 "Fatal Error #SX1340: ';' is not expected"  							   /* Erreur Fatale #S0121 : ; inattendue dans l'affectation "*/
#define SX1350 "Fatal Error #SX1350: Allocation Memory Error"						   /* Erreur Fatale #S0122 : Erreur interne : erreur allocation mémoire pour affectation "*/

/*INSTRUCTION * analyse_if(char *bloc_prof)*/
#define SX1360 "Fatal Error #SX1360: Unexpected end of file in the 'if' pattern"	   /* Erreur Fatale #S0123 : fin prématuré du fichier source dans l'instruction if  "*/
#define SX1370 "Fatal Error #SX1370: '(' is expected in the 'if' pattern" 			   /* Erreur Fatale #S0124 :: ( attendue "*/
#define SX1380 "Fatal Error #SX1380: Unexpected end of file in the 'if' pattern"	   /* Erreur Fatale #S0125 : fin prématuré du fichier source dans l'instruction if  " */
#define SX1390 "Fatal Error #SX1390: ')' is expected in the 'if' pattern "			   /* Erreur Fatale #S0126 :: ) attendue "*/
#define SX1400 "Fatal Error #SX1400: Unexpected end of file in the 'if' pattern"	   /* Erreur Fatale #S0127 : fin prématuré du fichier source dans l'instruction if  "*/
#define SX1410 "Fatal Error #SX1410: Unexpected end of file in the 'if' pattern"	   /* Erreur Fatale #S0128 : fin prématuré du fichier source dans l'instruction if  "*/

/*INSTRUCTION * analyse_for(char *bloc_prof)*/
#define SX1420 "Fatal Error #SX1420: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0129 : fin prématuré du fichier source dans l'instruction for(;;)  "*/
#define SX1430 "Fatal Error #SX1430: '(' is expected in the 'for' pattern "		  /* Erreur Fatale #S0130 :: ( attendue " */
#define SX1440 "Fatal Error #SX1440: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0131 : fin prématuré du fichier source dans l'instruction for(;;)  " */
#define SX1450 "Fatal Error #SX1450: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0132 : fin prématuré du fichier source dans l'expression " */
#define SX1460 "Fatal Error #SX1460: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0133 : fin prématuré du fichier source dans l'expression "*/
#define SX1470 "Fatal Error #SX1470: ';' is expected in the 'for' pattern" 		  /* Erreur Fatale #S0134 :: ; attendue " */
#define SX1480 "Fatal Error #SX1480: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0135 : fin prématuré du fichier source dans l'instruction for(;;)  "*/
#define SX1490 "Fatal Error #SX1490: ';' is expected in the 'for pattern"         /* Erreur Fatale #S0136 :: ; attendue " */
#define SX1500 "Fatal Error #SX1500: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0137 : fin prématuré du fichier source dans l'instruction for(;;)  "*/
#define SX1510 "Fatal Error #SX1510: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0138 : fin prématuré du fichier source dans l'expression "*/
#define SX1520 "Fatal Error #SX1520: Unexpected end of file in the 'for' pattern" /* Erreur Fatale #S0139 : fin prématuré du fichier source dans l'expression "*/
#define SX1530 "Fatal Error #SX1530: ')' is expected in the 'for' pattern"		  /* Erreur Fatale #S0140 :: ) attendue " */
#define SX1540 "Fatal Error #SX1540: Unexpected end of file in the 'for' pattern" /*Erreur Fatale #S0141 : fin prématuré du fichier source dans l'instruction for(;;)  "*/

/*INSTRUCTION * analyse_do_while(char *bloc_prof)*/
#define SX1550 "Fatal Error #SX1550: Unexpected end of file in the 'while' pattern" /* Erreur Fatale #S0142 : fin prématuré du fichier source dans l'analyse du 'do while'"*/
#define SX1560 "Fatal Error #SX1560: 'while' is expected in the 'while' pattern"     /* Erreur Fatale #S0143 :: 'while' attendu "*/
#define SX1570 "Fatal Error #SX1570: Unexpected end of file in the 'while' pattern" /* Erreur Fatale #S0144 : fin prématuré du fichier source dans l'analyse du 'do while'"*/
#define SX1580 "Fatal Error #SX1580: '(' is expected in the 'while' pattern" 	    /* Erreur Fatale #S0145 :: '(' attendue " */
#define SX1590 "Fatal Error #SX1590: Unexpected end of file in the 'while' pattern" /* Erreur Fatale #S0146 : fin prématuré du fichier source dans l'analyse du 'do while'"*/
#define SX1600 "Fatal Error #SX1600: ')' is expected in the 'while' pattern"		/* Erreur Fatale #S0147 :: ')' attendue " */
#define SX1610 "Fatal Error #SX1610: Unexpected end of file in the 'while' pattern" /* Erreur Fatale #S0148 : fin prématuré du fichier source dans l'analyse du 'do while'"*/
#define SX1620 "Fatal Error #SX1620: ';' is expected in hte 'while' pattern" 		/* Erreur Fatale #S0149 :: ';' attendu "*/
#define SX1630 "Fatal Error #SX1630: Unexpected end of file in the 'while' pattern" /* Erreur Fatale #S0150 : fin prématuré du fichier source dans l'analyse du 'do while'"*/

/*void analyse_goto(char *bloc_prof)*/
#define SX1640 "Fatal Error #SX1640: Unexpected end of file in the 'goto' pattern"  		/* Erreur Fatale #S0151 : fin prématuré du fichier source dans l'analyse du 'goto'"*/
#define SX1650 "Fatal Error #SX1650: Unexpected end of file in the 'goto' pattern"  		/* Erreur Fatale #S0152 : fin prématuré du fichier source dans l'analyse du 'goto'"*/
#define SX1660 "Fatal Error #SX1660: ';' is expected in the 'goto' pattern"					/* Erreur Fatale #S0153 : ';' attendu dans l'analyse du 'goto'" */
#define SX1670 "Fatal Error #SX1670: Unexpected end of file in the 'goto' pattern"  		/* Erreur Fatale #S0154 : fin prématuré du fichier source dans l'analyse du 'goto'"*/
#define SX1680 "Fatal Error #SX1680: identifier of label expected in the 'goto' pattern " 	/* Erreur Fatale #S0155 : ident attendu l'analyse des 'goto'"*/

/*INSTRUCTION * analyse_return(char *bloc_prof)*/
#define SX1690 "Fatal Error #SX1690: 'return' in an inappropriate body ( function only )" /* Erreur Fatale #S0156: 'return' défini en dehors du corps d'une fonction  "*/
#define SX1700 "Fatal Error #SX1700: Unexpected end of file in the 'return' pattern" 	  /* Erreur Fatale #S0157 : fin prématuré du fichier source dans l'instruction return  " */
#define SX1710 "Fatal Error #SX1710: '(' is expected in the 'return' pattern "		 	  /* Erreur Fatale #S0158 : ( attendu dans le return " */
#define SX1720 "Fatal Error #SX1720: Unexpected end of file in the 'return' pattern" 	  /* Erreur Fatale #S0159 : fin prématuré du fichier source dans l'instruction return  " */
#define SX1730 "Fatal Error #SX1730: ')' expected in the 'return' pattern" 				  /* Erreur Fatale #S0160 :: ) attendue "*/
#define SX1740 "Fatal Error #SX1740: Unexpected end of file in the 'return' pattern" 	  /* Erreur Fatale #S0161 : fin prématuré du fichier source dans l'instruction return  "*/
#define SX1750 "Fatal Error #SX1750: Unexpected end of file in the 'return' pattern" 	  /* Erreur Fatale #S0162 : fin prématuré du fichier source dans l'instruction return();  "*/

/* INSTRUCTION * analyse_break(char *bloc_prof)*/
#define SX1760 "Fatal Error #SX1760: Incorrect use of 'break', no 'while' or 'for' loop"  /* Erreur Fatale #S0163 : 'break' défini en dehors d'une boucle for ou do/while  "*/
#define SX1765 "Fatal Error #SX1765: Unexpected end of file in the 'break' pattern"       /* Erreur Fatale #S0164 : fin prématuré du fichier source dans l'instruction break  "*/
#define SX1770 "Fatal Error #SX1770: ';' is expected in the 'break' pattern " 			  /* Erreur Fatale #S0165 : ; attendu  " */
#define SX1780 "Fatal Error #SX1780: Unexpected end of file in the 'break' pattern"		  /* Erreur Fatale #S0166 : fin prématuré du fichier source dans l'instruction break;  " */

/*INSTRUCTION *  analyse_continue(char *bloc_prof)*/
#define SX1790 "Fatal Error #SX1790: Incorrect use of 'continue', no 'while' or 'for' loop"  /* Erreur Fatale #S0167 : 'continue' défini en dehors d'une boucle for ou do/while  "*/
#define SX1800 "Fatal Error #SX1800: Unexpected end of file in the 'continue' pattern" 		 /* Erreur Fatale #S0168 : fin prématuré du fichier source dans l'instruction continue  "*/
#define SX1810 "Fatal Error #SX1810: ';' is expected "										 /* Erreur Fatale #S0169 : ; attendu  " */
#define SX1820 "Fatal Error #SX1820: Unexpected end of file in the 'continue' pattern" 		 /* Erreur Fatale #S0170 : fin prématuré du fichier source dans l'instruction continue  "*/

/*INSTRUCTION * analyse_switch(char *bloc_prof)*/
#define SX1830 "Fatal Error #SX1830: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0171 : fin prématuré du fichier source dans l'analyse du switch " */
#define SX1840 "Fatal Error #SX1840: '{' is expected in the 'switch' pattern"					 		/* Erreur Fatale #S0172 : '{' attendue dans le corps du switch" */
#define SX1850 "Fatal Error #SX1850: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0173 : fin prématuré dans le corps du switch " */
#define SX1855 "Fatal Error #SX1855: 'case' or 'default' is expected in the 'switch' pattern" 	 		/* Erreur Fatale #S0174 : 'case' ou 'default' attendu dans le coprs du switch "*/
#define SX1857 "Fatal Error #SX1857: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0175 : fin prématuré dans le corps du switch  */
#define SX1860 "Fatal Error #SX1860: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0176 : fin prématuré dans le corps du switch " */
#define SX1870 "Fatal Error #SX1870: ':' is expected after 'case' or 'default' in the 'switch' pattern" /* Erreur Fatale #S0177 : ':' attendu apres le 'case' ou le 'default' corps du switch " */
#define SX1880 "Fatal Error #SX1880: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0178 : fin prématuré dans le corps du switch " */
#define SX1890 "Fatal Error #SX1890: Unexpected end of file in the 'switch' pattern"			 		/* Erreur Fatale #S0179 : fin prématuré dans le corps du switch " */
#define SX1900 "Fatal Error #SX1900: ';' is expected in the 'switch' pattern"						    /* Erreur Fatale #S0180 : ';' attendu apres le 'break' dans le corps du switch " */
#define SX1910 "Fatal Error #SX1910: Unexpected end of file in the 'switch' pattern"					/* Erreur Fatale #S0181 : fin prématuré dans le corps du switch " */
#define SX1920 "Fatal Error #SX1920: Unexpected end of file in the 'switch' pattern"					/* Erreur Fatale #S0182 : fin prématuré dans le corps du switch " */
#define SX1930 "Fatal Error #SX1930: ';' is expected after 'case' or 'default' in the 'switch' pattern"	/* Erreur Fatale #S0183 : ';' attendu apres le 'break' dans le corps du switch "*/
#define SX1940 "Fatal Error #SX1940: Unexpected end of file in the 'switch' pattern"					/* Erreur Fatale #S0184 : fin prématuré dans le corps du switch " */
#define SX1950 "Fatal Error #SX1950: Number of 'case' too important in the 'switch' pattern"			/* Erreur Fatale #S0185 : nombre de case trop élevé dans le corps du switch "*/
#define SX1960 "Fatal Error #SX1960: Unexpected end of file in the 'switch' pattern"					/* Erreur Fatale #S0186 : fin prématuré du fichier source dans l'instruction continue  "*/

/*INSTRUCTION * analyse_exit(char *bloc_prof)*/
#define SX1970 "Fatal Error #SX1970: Unexpected end of file in the 'exit' pattern" /*  fin prématuré du fichier source dans l'analyse du exit "*/
#define SX1980 "Fatal Error #SX1980: '(' is expected in the 'exit' pattern" 		  /* '(' attendue dans l'analyse du exit " */
#define SX1990 "Fatal Error #SX1990: Unexpected end of file in the 'exit' pattern" /* fin prématuré du fichier source dans l'analyse du exit " */
#define SX2000 "Fatal Error #SX2000: ')' is expected in the 'exit' pattern"		  /* attendue dans l'analyse du exit " */
#define SX2010 "Fatal Error #SX2010: Unexpected end of file in the 'exit' pattern" /* fin prématuré du fichier source dans l'analyse du exit " */
#define SX2020 "Fatal Error #SX2020: ';' is expected in the 'exit' pattern" 		  /* ';' attendue dans l'analyse du exit " */
#define SX2030 "Fatal Error #SX2030: Unexpected end of file in the 'exit' pattern" /* fin prématuré du fichier source dans l'analyse du exit " */


/*INSTRUCTION * analyse_precedes(char *bloc_prof)*/
#define SX2040 "Fatal Error #SX2040: Unexpected end of file in the 'precedes' pattern" /* fin prématuré du fichier source dans l'analyse du precedes "*/
#define SX2050 "Fatal Error #SX2050: Too many tasks in the 'precede' pattern"		  /* Trop de tâches dans l'instruction 'precedes' " */
#define SX2060 "Fatal Error #SX2060: Unexpected end of file in the 'precedes' pattern" /* fin prématuré du fichier source dans l'analyse du precedes " */
#define SX2070 "Fatal Error #SX2070: ',' or ';' is expected in the 'precedes' pattern" /* ',' ou ';' attendu dans l'analyse du precedes " */
#define SX2080 "Fatal Error #SX2080: Unexpected end of file in the 'precedes' pattern" /* fin prématuré du fichier source dans l'analyse du precedes "*/
#define SX2090 "Fatal Error #SX2090: Identifier of 'task' is expected "				  /* Identifiant de tâche attendu" */
#define SX2100 "Fatal Error #SX2100: Unexpected end of file in the 'precedes' pattern" /*fin prématuré du fichier source dans l'analyse du exit " */

/*void analyse_lident(char *bloc_prof)*/
#define SX2110 "Fatal Error #SX2110: Unexpected end of file in the 'Identifier' pattern ( label, variable, function )" /*fin prématuré du fichier source dans l'analyse des 'label'"*/
#define SX2120 "Fatal Error #SX2120: Unexpected end of file in the 'Identifier' pattern ( label, variable, function )" /* fin prématuré du fichier source dans l'analyse des 'label'"*/
#define SX2130 "Fatal Error #SX2130: Unexpected end of file in the 'Identifier' pattern ( label, variable, function )" /*fin prématuré du fichier source dans l'analyse des 'label'"*/
#define SX2140 "Fatal Error #SX2140: Unexpected end of file in the 'Identifier' pattern ( label, variable, function )" /* fin prématuré du fichier source dans l'expression "*/
#define SX2150 "Fatal Error #SX2150: Unexpected end of file in the 'Identifier' pattern ( label, variable, function )" /* fin prématuré du fichier source dans l'expression "*/
#define SX2160 "Fatal Error #SX2160: ';' is expected after assignment"												   /* Erreur Fatale #S0192 :: ; attendue après l'affectation"*/
#define SX2170 "Fatal Error #SX2170: Unexpected end of file in the 'Assignment' pattern" 							   /* Erreur Fatale #S0193 : fin prématuré du fichier source dans l'affectation "*/
#define SX2180 "Fatal Error #SX2180: Indirection '*' or '**' of function doesn't exist "							   /* Erreur Fatale #S0194 :: les indirections de fonction par * ou ** n'existe pas"*/
#define SX2190 "Fatal Error #SX2190: Variable or function identifier is not defined"								   /* Erreur Fatale #S0195 :: La variable ou la fonction n'existe pas dans l'expression "*/
#define SX2200 "Fatal Error #SX2200: ')' is expected"																   /* Erreur Fatale #S0196 :: ) attendue " */
#define SX2210 "Fatal Error #SX2210: Unexpected end of file in the call of function"								   /* Erreur Fatale #S0197 : fin prématuré du fichier source dans l'appel de fonction  "*/
#define SX2220 "Fatal Error #SX2220: ';' is expected after the call of function"									   /* Erreur Fatale #S0198 :: ; attendue après l'appel de fonction" */
#define SX2230 "Fatal Error #SX2230: Unexpected end of file in the call of function"								   /* Erreur Fatale #S0199 : fin prématuré du fichier source dans l'appel de fonction  " */

/*void analyse_pointeur(char *bloc_prof)*/
#define SX2240 "Fatal Error #SX2240: Unexpected end of file in the '*(variable+index)' pattern"						   /* Erreur Fatale #S1000 : fin prématuré du fichier source dans l'analyse d'une instruction"*/
#define SX2250 "Fatal Error #SX2250: ';' is expected after assignment "												   /* Erreur Fatale #S1001 :: ; attendue après l'affectation" */
#define SX2260 "Fatal Error #SX2260: ';' is expected after assignment "												   /* Erreur Fatale #S1001 :: ; attendue après l'affectation"*/
#define SX2270 "Fatal Error #SX2270: Unexpected end of file in the 'Assignment' pattern" 							   /* Erreur Fatale #S1002 : fin prématuré du fichier source dans l'affectation " */
#define SX2280 "Fatal Error #SX2280: Allocation Memory Error"														   /* Erreur Fatale #S1003 : Erreur interne : erreur allocation mémoire pour affectation "*/

/*void analyse_inline(char *bloc_prof)*/
#define SX2290 "Fatal Error #SX2290: Unexpected end of file in the 'inline' pattern" 								   /* Erreur Fatale #S2000 : fin prématuré du fichier source dans l'analyse d'une instruction INLINE" */
#define SX2300 "Fatal Error #SX2300: nbc instruction is expected in the 'inline' pattern" 							   /* Erreur Fatale #S2001 : instruction attendue entre \"inst\"" */
#define SX2310 "Fatal Error #SX2310: Unexpected end of file in the 'inline' pattern" 								   /* Erreur Fatale #S2002 : fin prématuré du fichier source dans l'analyse d'une instruction INLINE" */
#define SX2320 "Fatal Error #SX2320: ';' is expected in the 'inline' pattern" 										   /* Erreur Fatale #S2003 :: ; attendue après l'instruction inline" */
#define SX2340 "Fatal Error #SX2340: Unexpected end of file in the 'inline' pattern" 								   /* Erreur Fatale #S2004 : fin prématuré du fichier source dans l'analyse d'une instruction INLINE " */

/*void analyse_acquire(char *bloc_prof)*/
#define SX2350 "Fatal Error #SX2350: Unexpected end of file in the 'acquire' pattern" 		/* fin prématuré du fichier source dans l'analyse du acquire "*/
#define SX2360 "Fatal Error #SX2360: '(' is expected in the 'acquire' pattern" 		  		/* '(' attendue dans l'analyse du acquire " */
#define SX2370 "Fatal Error #SX2370: Unexpected end of file in the 'acquire' pattern" 		/* fin prématuré du fichier source dans l'analyse du acquire " */
#define SX2380 "Fatal Error #SX2380: Mutex Identifier is expected in the 'acquire' pattern" /* Identifiant mutex attendu dans l'acquire "*/
#define SX2390 "Fatal Error #SX2390: Unexpected end of file in the 'acquire' pattern" 		/* fin prématuré du fichier source dans l'analyse du acquire "*/
#define SX2400 "Fatal Error #SX2400: ')' is expected in the 'acquire' pattern"				/* ')' attendue dans l'analyse du acquire " */
#define SX2410 "Fatal Error #SX2410: Unexpected end of file in the 'acquire' pattern" 		/* fin prématuré du fichier source dans l'analyse du acquire "*/
#define SX2420 "Fatal Error #SX2420: ';' is expected in the 'acquire' pattern"				/*  ';' attendue dans l'analyse du acquire " */
#define SX2430 "Fatal Error #SX2430: Unexpected end of file in the 'acquire' pattern" 		/* fin prématuré du fichier source dans l'analyse du acquire "*/

/*void analyse_release(char *bloc_prof)*/
#define SX2440 "Fatal Error #SX2440: Unexpected end of file in the 'release' pattern "		/* Erreur Fatale #S9200 : fin prématuré du fichier source dans l'analyse du release " */
#define SX2450 "Fatal Error #SX2450: '(' is expected in the 'release' pattern " 			/* Erreur Fatale #S9201 : '(' attendue dans l'analyse du release " */
#define SX2460 "Fatal Error #SX2460: Unexpected end of file in the 'release' pattern"		/* Erreur Fatale #S9202 : fin prématuré du fichier source dans l'analyse du release "*/
#define SX2470 "Fatal Error #SX2470: Mutex Identifier in the 'release' pattern" 			/* Erreur Fatale #S9203 : Identifiant mutex attendu dans le release "*/
#define SX2480 "Fatal Error #SX2480: Unexpected end of file in the 'release' pattern" 		/* Erreur Fatale #S9205 : fin prématuré du fichier source dans l'analyse du release "*/
#define SX2490 "Fatal Error #SX2490: ')' is expected in the in the 'release' pattern" 		/* Erreur Fatale #S9206 : ')' attendue dans l'analyse du release "*/
#define SX2500 "Fatal Error #SX2500: Unexpected end of file in the 'release' pattern" 		/* Erreur Fatale #S9207 : fin prématuré du fichier source dans l'analyse du release "*/
#define SX2510 "Fatal Error #SX2510: ';' is expected in the 'release' pattern"				/* Erreur Fatale #S9208 : ';' attendue dans l'analyse du release "*/
#define SX2520 "Fatal Error #SX2520: Unexpected end of file in the 'release' pattern" 		/* Erreur Fatale #S9209 : fin prématuré du fichier source dans l'analyse du release "*/

/*void analyse_arrsize(char *bloc_prof)*/

#define SX2530 "Fatal Error #SX2530: Unexpected end of file in the 'arrsize' pattern "		   /* Erreur Fatale #S10000 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2540 "Fatal Error #SX2540: '(' is expected in the 'arrsize' pattern"				   /* Erreur Fatale #S10001 : '(' attendue dans l'analyse du arrsize "*/
#define SX2560 "Fatal Error #SX2560: Unexpected end of file in the 'arrsize' pattern "	 	   /* Erreur Fatale #S10002 : fin prématuré du fichier source dans l'analyse du arrsize "*/
#define SX2570 "Fatal Error #SX2570: Identifier of array is expected in the 'arrsize' pattern" /* Erreur Fatale #S10003 : Identifiant du tableau attendu dans le arrsize "*/
#define SX2580 "Fatal Error #SX2580: Unexpected end of file in the 'arrsize' pattern "	 	   /* Erreur Fatale #S10005 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2590 "Fatal Error #SX2590: ',' is expected in the 'arrsize' pattern"				   /* Erreur Fatale #S10006 : ',' attendue dans l'analyse du arrsize "*/
#define SX2600 "Fatal Error #SX2600: Unexpected end of file in the 'arrsize' pattern "	 	   /* Erreur Fatale #S10007 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2610 "Fatal Error #SX2610: Identifier of array is expected in the 'arrsize' pattern" /* Erreur Fatale #S10008 : Identifiant du tableau attendu dans le arrsize " */
#define SX2620 "Fatal Error #SX2620: Unexpected end of file in the 'arrsize' pattern "		   /* Erreur Fatale #S10009 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2630 "Fatal Error #SX2630: ')' is expected in the 'arrsize' pattern" 				   /* Erreur Fatale #S10010 : ')' attendue dans l'analyse du arrsize "*/
#define SX2640 "Fatal Error #SX2640: Unexpected end of file in the 'arrsize' pattern "	 	   /* Erreur Fatale #S10011 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2650 "Fatal Error #SX2650: ';' is expected in the 'arrsize' pattern"				   /* Erreur Fatale #S10012: ';' attendue dans l'analyse du arrsize " */
#define SX2660 "Fatal Error #SX2660: Unexpected end of file in the 'arrsize' pattern "		   /* Erreur Fatale #S10013 : fin prématuré du fichier source dans l'analyse du arrsize " */
#define SX2670 "Fatal Error #SX2670: Identifier of array not defined in the 'arrsize' pattern" /* Erreur Fatale #S10014 : l'identifiant argument tableau '%s' de arrsize n'est pas declare " */

#define SX2680 "Fatal Error #SX2680: the identifier '%s' size is not declared in the 'arrsize' pattern"  /* Erreur Fatale #S10015 : l'identifiant argument size '%s' de arrsize n'est pas declare "*/
#define SX2690 "Fatal Error #SX2690: the identifier '%s' array is not declared in the 'arrsize' pattern" /* Erreur Fatale #S10016 : l'identifiant argument tab '%s' de arrsize n'est pas un tableau ni un pointeur "*/
#define SX2700 "Fatal Error #SX2700: the type of the identifier '%s' size is not an integer in the 'arrsize' pattern " /* Erreur Fatale #S10017 : l'identifiant argument size '%s' de arrsize n'est pas un entier"*/

/*void analyse_arrinit(char *bloc_prof)*/
#define SX2710 "Fatal Error #SX2710: Unexpected end of file in the 'arrinit' pattern " 	/* Erreur Fatale #S10100 : fin prématuré du fichier source dans l'analyse du arrinit " */
#define SX2720 "Fatal Error #SX2720: '(' is expected in the 'arrinit' pattern " 		/* Erreur Fatale #S10101 : '(' attendue dans l'analyse du arrinit "*/
#define SX2730 "Fatal Error #SX2730: Unexpected end of file in the 'arrinit' pattern " 	/* Erreur Fatale #S10102 : fin prématuré du fichier source dans l'analyse du arrinit "*/
#define SX2740 "Fatal Error #SX2740: Identifier of array is expected in the 'arrinit' pattern " /* Erreur Fatale #S10103 : Identifiant du tableau attendu dans le arrinit " */
#define SX2750 "Fatal Error #SX2750: Unexpected end of file in the 'arrinit' pattern "  /* Erreur Fatale #S10104 : fin prématuré du fichier source dans l'analyse du arrinit "*/
#define SX2760 "Fatal Error #SX2760: ',' is expected in the 'arrinit' pattern " 		/* Erreur Fatale #S10105 : ',' attendue dans l'analyse du arrinit " */
#define SX2770 "Fatal Error #SX2770: Unexpected end of file in the 'arrinit' pattern "  /* Erreur Fatale #S10106 : fin prématuré du fichier source dans l'analyse du arrinit " */
#define SX2780 "Fatal Error #SX2780: ',' is expected in the 'arrinit' pattern " 		/* Erreur Fatale #S10107 : ',' attendue dans l'analyse du arrinit " */
#define SX2790 "Fatal Error #SX2790: Unexpected end of file in the 'arrinit' pattern "  /* Erreur Fatale #S10108 : fin prématuré du fichier source dans l'analyse du arrinit "*/
#define SX2800 "Fatal Error #SX2800: ')' is expected in the 'arrinit' pattern " 		/* Erreur Fatale #S10109 : ')' attendue dans l'analyse du arrsize " */
#define SX2810 "Fatal Error #SX2810: Unexpected end of file in the 'arrinit' pattern "  /* Erreur Fatale #S10110 : fin prématuré du fichier source dans l'analyse du arrinit "*/
#define SX2820 "Fatal Error #SX2820: ';' is expected in the 'arrinit' pattern " 		/* Erreur Fatale #S10111: ';' attendue dans l'analyse du arrinit " */
#define SX2830 "Fatal Error #SX2830: Unexpected end of file in the 'arrinit' pattern "  /* Erreur Fatale #S10112 : fin prématuré du fichier source dans l'analyse du arrinit "*/

#define SX2840 "Fatal Error #SX2840: the identifier '%s' array is not declared in the 'arrinit' pattern" 					/* Erreur Fatale #S10113 : l'identifiant argument tableau '%s' de arrinit n'est pas declare " */
#define SX2850 "Fatal Error #SX2850: the identifier '%s' array is not an array or a pointer (*) in the 'arrinit' pattern" 	/* Erreur Fatale #S10114 : l'identifiant argument tab '%s' de arrinit n'est pas un tableau ni un pointeur " */

/*void analyse_arrsubset(char *bloc_prof)*/
#define SX2860 "Fatal Error #SX2860: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10200 : fin prématuré du fichier source dans l'analyse du arrsubset " */
#define SX2870 "Fatal Error #SX2870: '(' is expected in the 'arrsubset' pattern " 		 			/* Erreur Fatale #S10201 : '(' attendue dans l'analyse du arrsubset */
#define SX2880 "Fatal Error #SX2880: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10202 : fin prématuré du fichier source dans l'analyse du arrsubset " */
#define SX2890 "Fatal Error #SX2890: Identifier of array is expected in the 'arrsubset' pattern "	/* Erreur Fatale #S10203 : Identifiant du tableau attendu dans le arrsubset "*/
#define SX3000 "Fatal Error #SX3000: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10204 : fin prématuré du fichier source dans l'analyse du arrsubet " */
#define SX3010 "Fatal Error #SX3010: ',' is expected in the 'arrsubset' pattern" 		 			/* Erreur Fatale #S10205 : ',' attendue dans l'analyse du arrsubset " */
#define SX3020 "Fatal Error #SX3020: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10206 : fin prématuré du fichier source dans l'analyse du arrsubet "*/
#define SX3030 "Fatal Error #SX3030: Identifier of array is expected in the 'arrsubset' pattern"	/* Erreur Fatale #S10207 : Identifiant du tableau attendu dans le arrsubset " */
#define SX3040 "Fatal Error #SX3040: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10208 : fin prématuré du fichier source dans l'analyse du arrsubet " */
#define SX3050 "Fatal Error #SX3050: ',' is expected in the 'arrsubset' pattern " 		 			/* Erreur Fatale #S10209 : ',' attendue dans l'analyse du arrinit " */
#define SX3060 "Fatal Error #SX3060: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10210 : fin prématuré du fichier source dans l'analyse du arrsubset " */
#define SX3070 "Fatal Error #SX3070: ',' is expected in the 'arrsubset' pattern " 		 			/* Erreur Fatale #S10211 : ',' attendue dans l'analyse du arrsubset " */
#define SX3080 "Fatal Error #SX3080: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10212 : fin prématuré du fichier source dans l'analyse du arrsubset " */
#define SX3090 "Fatal Error #SX3090: ')' is expected in the 'arrsubset' pattern " 		 			/* Erreur Fatale #S10213 : ')' attendue dans l'analyse du arrsubset " */
#define SX3100 "Fatal Error #SX3100: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10214 : fin prématuré du fichier source dans l'analyse du arrsubset "*/
#define SX3110 "Fatal Error #SX3110: ';' is expected in the 'arrsubset' pattern" 		 			/* Erreur Fatale #S10215: ';' attendue dans l'analyse du arrsubset " */
#define SX3120 "Fatal Error #SX3120: Unexpected end of file in the 'arrsubset' pattern " 			/* Erreur Fatale #S10216 : fin prématuré du fichier source dans l'analyse du arrsubset "*/

#define SX3130 "Fatal Error #SX3130: the identifier '%s' src array is not declared in the 'arrsubset' pattern" 				  /* Erreur Fatale #S10217 : l'identifiant argument tableau src '%s' de arrsubset n'est pas declare "*/
#define SX3140 "Fatal Error #SX3140: the identifier '%s' dst array is not declared in the 'arrsubset' pattern" 				  /* Erreur Fatale #S10218 : l'identifiant argument tableau dst '%s' de arrsubset n'est pas declare " */
#define SX3150 "Fatal Error #SX3150: the identifier '%s' src array is not an array or pointer (*) in the 'arrsubset' pattern" /* Erreur Fatale #S10219 : l'identifiant argument tab src'%s' de arrsubset n'est pas un tableau ni un pointeur "*/
#define SX3160 "Fatal Error #SX3160: the identifier '%s' dst array is not an array or pointer (*) in the 'arrsubset' pattern" /* Erreur Fatale #S10220 : l'identifiant argument tab dst'%s' de arrsubset n'est pas un tableau ni un pointeur "*/

/*void analyse_arrbuild(char *bloc_prof)*/
#define SX3170 "Fatal Error #SX3170: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10300 : fin prématuré du fichier source dans l'analyse du arrbuild " */
#define SX3180 "Fatal Error #SX3180: '(' is expected in the 'arrbuild' pattern " 					/* Erreur Fatale #S10301 : '(' attendue dans l'analyse du arrbuild " */
#define SX3190 "Fatal Error #SX3190: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10302 : fin prématuré du fichier source dans l'analyse du arrbuild " */
#define SX3200 "Fatal Error #SX3200: Too many identifiers in the 'arrbuild' pattern " 				/* Erreur Fatale #S10310 : trop d'identifiants dans l'analyse du arrbuild " */
#define SX3210 "Fatal Error #SX3210: Identifier of array is expected in the 'arrbuild' pattern " 	/* Erreur Fatale #S10303 : Identifiant du tableau attendu dans le arrbuild " */
#define SX3220 "Fatal Error #SX3220: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10304 : fin prématuré du fichier source dans l'analyse du arrbuild " */
#define SX3230 "Fatal Error #SX3230: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10305 : fin prématuré du fichier source dans l'analyse du arrbuild " */
#define SX3240 "Fatal Error #SX3240: ')' is expected in the arrbuild 'pattern' " 					/* Erreur Fatale #S10306 : ')' attendue dans l'analyse du arrbuild " */
#define SX3250 "Fatal Error #SX3250: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10307 : fin prématuré du fichier source dans l'analyse du arrbuild " */
#define SX3260 "Fatal Error #SX3260: ';' is expected in the 'arrbuild' pattern " 					/* Erreur Fatale #S10308: ';' attendue dans l'analyse du arrbuild " */
#define SX3270 "Fatal Error #SX3270: Unexpected end of file in the 'arrbuild' pattern " 			/* Erreur Fatale #S10309 : fin prématuré du fichier source dans l'analyse du arrbuild " */

#define SX3280 "Fatal Error #SX3280: the identifier '%s' size is not declared in the 'arrbuild' pattern" 					/* Erreur Fatale #S10310 : l'identifiant argument size '%s' de arrsize n'est pas declare " */
#define SX3290 "Fatal Error #SX3290: the identifier '%s' array is not an array or pointer (*) in the 'arrbuild' pattern" 	/* Erreur Fatale #S10311 : l'identifiant argument tab '%s' de arrbuild n'est pas un tableau ni un pointeur "*/

/*INSTRUCTION * analyse_liste_instruction(char *bloc_prof,int tag)*/
#define SX3300 "Fatal Error #SX3300: Unexpected end of file in the 'list of instructions' pattern " /* Erreur Fatale #S0200 : fin prématuré du fichier source dans la zone de liste d'instruction  "*/
#define SX3310 "Fatal Error #SX3310: Unexpected end of file in the 'list of instructions' pattern " /* Erreur Fatale #S0201 : fin prématuré du fichier source dans la zone de liste d'instruction  "*/
#define SX3320 "Fatal Error #SX3320: Allocation Memory Error"										/* Erreur Fatale #S0202 : Erreur interne allocation bloc instruction " */

#define SX3340 "Fatal Error #SX3340: Bad format of instruction " 									/* Erreur Fatale #S0203 :: Mauvais format d'instruction "*/
#define SX3350 "Fatal Error #SX3350: Allocation Memory Error"										/* Erreur Fatale #S0204 ::  Erreur interne allocation bloc instruction " */
#define SX3360 "Fatal Error #SX3360: Bad format of instruction"										/* Erreur Fatale #S0205 :: Mauvais format d'instruction " */

/*void analyse_fonction(void)*/
#define SX3370 "Fatal Error #SX3370: Unexpected end of file in the 'function type' pattern " 	   				/* Erreur Fatale #S0206 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3380 "Fatal Error #SX3380: Unexpected end of file in the 'function type' pattern " 	   				/* Erreur Fatale #S0207 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3390 "Fatal Error #SX3390: An identifier of type is expected in the 'function' pattern " 				/* Erreur Fatale #S0208 :: Un identifiant de type est attendu " */
#define SX3400 "Fatal Error #SX3400: The returned type is not defined in the 'function' pattern "  				/* Erreur Fatale #S0209 :: Type retourne non declare " */
#define SX3410 "Fatal Error #SX3410: Unexpected end of file in the 'function' pattern " 		   				/* Erreur Fatale #S0210 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3420 "Fatal Error #SX3420: A pointer (*) or a pointer of pointer (**) is expected " 	   				/* Erreur Fatale #S0212 :: Un pointeur * ou pointeur de pointeur ** est attendu " */
#define SX3430 "Fatal Error #SX3430: Unexpected end of file in the 'function type' pattern " 	   				/* Erreur Fatale #S0213 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3440 "Fatal Error #SX3440: A pointer (*) or a pointer of pointer (**) is expected " 	   				/* Erreur Fatale #S0214 :: Un pointeur de pointeur ** ou ) est attendu " */
#define SX3450 "Fatal Error #SX3450: Unexpected end of file in the 'function type' pattern "	   				/* Erreur Fatale #S0215 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3460 "Fatal Error #SX3460: ')' is expected in the 'function' pattern" 								/* Erreur Fatale #S0216 :: Une ) est attendue " */
#define SX3470 "Fatal Error #SX3470: Unexpected end of file in the 'function type' pattern "	   				/* Erreur Fatale #S0217 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3480 "Fatal Error #SX3480: The returned type is not defined in the 'function' pattern" 				/* Erreur Fatale #S0218 :: Type retourne non declare " */
#define SX3490 "Fatal Error #SX3490: The returned type is not defined in the 'function' pattern" 				/* Erreur Fatale #S0219 :: Type retourne non declare " */
#define SX3500 "Fatal Error #SX3500: Unexpected end of file in the 'function type' pattern "	   				/* Erreur Fatale #S0220 : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3510 "Fatal Error #SX3510: An identifier of function is expected in the 'function' pattern" 			/* Erreur Fatale #S0221 :: Un identifiant de fonction est attendu" */
#define SX3520 "Fatal Error #SX3520: Double declaration of function in the 'function' pattern" 					/* Erreur Fatale #S0222 :: Double declaration de la fonction " */
#define SX3530 "Fatal Error #SX3530: Unexpected end of file in the 'function type' pattern "	   				/* Erreur Fatale #S0223  : fin prématuré du fichier source dans la zone de signature de fonction  " */
#define SX3540 "Fatal Error #SX3540: '(' is expected in the 'function (argument) pattern"						/* Erreur Fatale #S0224 :: ( attendue des arguments de la fonction " */
#define SX3550 "Fatal Error #SX3550: Unexpected end of file in the 'function(argument)' pattern " 				/* Erreur Fatale #S0225  : fin prématuré du fichier source dans la zone de signature de fonction ( arguments )  " */
#define SX3560 "Fatal Error #SX3560: Unexpected end of file in the 'function(mod argument)' pattern " 			/* Erreur Fatale #S0225b : fin prématuré du fichier source dans la zone de signature de fonction ( apres mod )  " */
#define SX3570 "Fatal Error #SX3570: The type of the argument is not defined in the 'function(argument) pattern"/* Erreur Fatale #S0226 :: Le type de l'argument n'existe pas " */
#define SX3580 "Fatal Error #SX3580: Unexpected end of file in the 'function(argument)' pattern "				/* Erreur Fatale #S0227 : fin prématuré du fichier source dans la zone de signature de fonction ( arguments )  " */
#define SX3590 "Fatal Error #SX3590: A pointer (*) or a pointer of pointer (**) is expected in the 'function' pattern " /* Erreur Fatale #S0229 ::  un pointeur ou pointeur de pointeur est attendu " */
#define SX3600 "Fatal Error #SX3600: Unexpected end of file in the 'function(argument)' pattern "				/* Erreur Fatale #S0230 : fin prématuré du fichier source dans la zone de signature de fonction ( arguments )  " */
#define SX3610 "Fatal Error #SX3610: An identifier of argument or a pointer of pointer (**) is expected in the 'function' pattern" /* Erreur Fatale #S0231 ::  un identifiant d'argument ou pointeur de pointeur est attendu " */
#define SX3620 "Fatal Error #SX3620: Unexpected end of file in the 'function(argument)' pattern "				/* Erreur Fatale #S0232 : 	fin prématuré du fichier source dans la zone de signature de fonction ( arguments )  " */
#define SX3630 "Fatal Error #SX3630: An identifier of argument is expected in the 'function' pattern" 			/* Erreur Fatale #S0233 ::  un identifiant d'argument est attendu " */
#define SX3640 "Fatal Error #SX3640: Unexpected end of file in the 'function(argument)' pattern "				/* Erreur Fatale #S0234 : fin prématuré du fichier source dans la zone de signature de fonction ( arguments )  " */
#define SX3650 "Fatal Error #SX3650: A ',' or ')' is expected in the 'function' pattern" 						/* Erreur Fatale #S0235  :: Une , ou une )  est attendue " */
#define SX3660 "Fatal Error #SX3660: Unexpected end of file in the 'function' pattern " 						/* Erreur Fatale #S0236 : fin prématuré du fichier source dans la declaration de fonction  " */
#define SX3670 "Fatal Error #SX3670: A '{' is expected as a begin of the body of the function" 					/* Erreur Fatale #S0237 :: { attendue en debut de corps de la fonction " */
#define SX3680 "Fatal Error #SX3680: A '}' is expected as an end of body of the function" 						/* Erreur Fatale #S0238 :: } attendue en fin de corps de la fonction " */

/*void analyse_mutex(void)*/
#define SX3690 "Fatal Error #SX3690: Unexpected end of file in the 'mutex' pattern "			 /* Erreur Fatale #S9000 : fin prématuré du fichier source dans la declaration d'un mutex  "*/
#define SX3700 "Fatal Error #SX3700: An identifier of mutex is expected in the 'mutex' pattern"  /* Erreur Fatale #S9001 :: identifiant de mutex attendu "*/
#define SX3710 "Fatal Error #SX3710: Double declaration of mutex '%s', module '%s' - line '%d' / module '%s' - line '%d' " /* Erreur Fatale #S9002 : double declaration de mutex '%s', module %s - ligne %d \n module %s - ligne %d " */
#define SX3720 "Fatal Error #SX3720: ',' or ';' is expected in the 'mutex' pattern"				 /* Erreur Fatale #S9003 :: ',' ou ';' attendus " */
#define SX3730 "Fatal Error #SX3730: ',' is expected in the 'mutex' pattern"					 /*  Erreur Fatale #S9004 :: ',' attendue " */


/*void analyse_tache(void)*/

#define SX3740 "Fatal Error #SX3740: Unexpected end of file in the 'task' pattern "	 			 /* Erreur Fatale #S0239 : fin prématuré du fichier source dans le corps d'une tache  "*/
#define SX3750 "Fatal Error #SX3750: Identifier of task is expected "							 /* Erreur Fatale #S0240 :: identifiant de tache attendu " */
#define SX3760 "Fatal Error #SX3760: Unexpected end of file in the 'task' pattern "	 			 /* Erreur Fatale #S0241 : fin prématuré du fichier source dans le corps d'une tache  " */
#define SX3770 "Fatal Error #SX3770: '(' is expected in the 'task' pattern "					 /* Erreur Fatale #S0242 :: ( attendu " */
#define SX3780 "Fatal Error #SX3780: Unexpected end of file in the 'task' pattern "	 			 /* Erreur Fatale #S0243 : fin prématuré du fichier source dans le corps d'une tache  " */
#define SX3790 "Fatal Error #SX3810: ')' is expected in the 'task' pattern"						 /* Erreur Fatale #S0244 :: ) attendu " */
#define SX3800 "Fatal Error #SX3800: Unexpected end of file in the 'task' pattern "	 			 /* Erreur Fatale #S0245 : fin prématuré du fichier source dans la declaration de fonction  " */
#define SX3810 "Fatal Error #SX3810: A '{' is expected as a begin of the body of the task" 		 /* Erreur Fatale #S0246 :: { attendue en debut de corps de la fonction "*/
#define SX3820 "Fatal Error #SX3820: A '}' is expected as an end of body of the task" 			 /* Erreur Fatale #S0247 :: } attendue en fin de corps de la fonction "*/


#define GC0001 "Fatal Error #GC0001: Internal error, value of the Stack Pointer dedicated to Loops exceed the limit  (>1000)"
#define GC0020 "Fatal Error #GC0020: Internal error, negative value of the Stack Pointer dedicated to Loops  (<-1) "
#define GC0030 "Fatal Error #GC0030: Internal error, negative value of the Stack Pointer dedicated to Loops  (<0) "
#define GC0040 "Fatal Error #GC0040: bloc=%s variable=%s type=%s dimension of the expression %d is incorrect"
#define GC0050 "Fatal Error #GC0050: bloc=%s variable=%s type=%s dimension of the expression %d is incorrect"
#define GC0060 "Fatal Error #GC0060: bloc=%s variable=%s type=%s expression not compliant with '++'"
#define GC0070 "Fatal Error #GC0070: bloc=%s variable=%s type=%s expression not compliant with '--'"
#define GC0080 "Fatal Error #GC0080: bloc=%s typeg=%s typed=%s typer=%s "
#define GC0090 "Fatal Error #GC0090: bloc=%s type=%s not compliant with the types of operator 'SHL' "
#define GC0100 "Fatal Error #GC0100: bloc=%s type=%s not compliant with the types of operator 'SHR' "
#define GC0110 "Fatal Error #GC0110: bloc=%s type=%s not compliant with the types of operator 'MUL' "
#define GC0120 "Fatal Error #GC0120: bloc=%s type=%s not compliant with the types of operator 'DIV' "
#define GC0130 "Fatal Error #GC0130: bloc=%s type=%s not compliant with the types of operator'MODULO' "
#define GC0140 "Fatal Error #GC0140: bloc=%s type=%s not compliant with the types of operator 'PLUS' "
#define GC0150 "Fatal Error #GC0150: bloc=%s type=%s not compliant with the types of operator 'MINUS' "
#define GC0160 "Fatal Error #GC0160: bloc=%s type=%s not compliant with the types of operator '<' "
#define GC0170 "Fatal Error #GC0170: bloc=%s type=%s not compliant with the types of operator '>' "
#define GC0180 "Fatal Error #GC0180: bloc=%s type=%s not compliant with the types of operator '<=' "
#define GC0190 "Fatal Error #GC0190: bloc=%s type=%s not compliant with the types of operator '>=' "
#define GC0200 "Fatal Error #GC0200: bloc=%s type=%s not compliant with the types of operator '|' "
#define GC0210 "Fatal Error #GC0210: bloc=%s type=%s not compliant with the types of operator '&' "
#define GC0220 "Fatal Error #GC0220: bloc=%s type=%s not compliant with the types of operator '!' "
#define GC0230 "Fatal Error #GC0230: bloc=%s type=%s not compliant with the types of operator '- unaire' "
#define GC0240 "Fatal Error #GC0240: bloc=%s type=%s not compliant with the types of operator '++' "
#define GC0250 "Fatal Error #GC0250: bloc=%s type=%s not compliant with the types of operator '--' "
#define GC0260 "Fatal Error #GC0260: bloc=%s function '%s' is not defined "
#define GC0270 "Fatal Error #GC0270: bloc=%s fonction '%s' missing parameter(s) %d/%d "
#define GC0280 "Fatal Error #GC0280: bloc=%s function '%s' types '%s' not compliant with the type '%s' of parameter '%s' "
#define GC0290 "Fatal Error #GC0290: bloc=%s function'%s', type of the variable '%s' not compliant with the type '%s' of parameter '%s' "
#define GC0300 "Fatal Error #GC0300: bloc=%s type=%s not compliant in the instruction 'while'"
#define GC0310 "Fatal Error #GC0310: bloc=%s type=%s not compliant in the instruction 'for' (initialization)"
#define GC0320 "Fatal Error #GC0320: bloc=%s type=%s not compliant in the instruction 'for' (test)"
#define GC0330 "Fatal Error #GC0330: bloc=%s type=%s not compliant in the instruction 'for' (increment)"
#define GC0340 "Fatal Error #GC0340: bloc=%s type=%s not compliant in the instruction 'if'"
#define GC0350 "Fatal Error #GC0350: Goto '%s' is not defined in function/task = '%s'"
#define GC0360 "Fatal Error #GC0360: Double definition of label '%s' in function/task = '%s'"
#define GC0370 "Fatal Error #GC0370: Unknown task '%s' used as parameter by 'precede' in '%s'"
#define GC0380 "Fatal Error #GC0380: bloc=%s type=%s bad type for the 'switch'"
#define GC0390 "Fatal Error #GC0390: bloc=%s type=%s bad type for the 'switch'"
#define GC0400 "Fatal Error #GC0400: bloc '%s' - Unknown mutex '%s' in the call of 'Acquire()'"
#define GC0410 "Fatal Error #GC0410: bloc '%s' - Unknown mutex '%s' in the call of 'Release()'"
#define GC0420 "Fatal Error #GC0420: bloc=%s type=%s not compliant with the type of the parameter 'size' "
#define GC0430 "Fatal Error #GC0430: bloc=%s type=%s not compliant with the type of the parameter 'index' "
#define GC0440 "Fatal Error #GC0440: bloc=%s type=%s not compliant with the type of the parameter 'length' "
#define GC0450 "Fatal Error #GC0450: Unknow function '%s'"
#define GC0460 "Fatal Error #GC0460: Functionn '%s', returns a bad type '%s' : '%s'"
#define GC0470 "Fatal Error #GC0470: Function '%s', returns a bad type '%s' : '%s'"
#define GC0480 "Fatal Error #GC0480: Incorrect assignment of a void type to the variable '%s' "
#define GC0490 "Fatal Error #GC0490: Incorrect assignment of a void type to the variable '%s' "
#define GC0500 "Fatal Error #GC0500: Failure of the creation of the '.nbc' file"

