Bonjour, j'ai un léger problème, j'ai un fichier à analyser, celui ci contient une liste de données (entiers, chaines de caractère etc...)

j'ai fait des test en définissant mes propres variables, voila le début du yacc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
%{
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "ma_struct.h"
 
static int int1;
static int int2;
static char *str1;
static char *str2;
%}
une ligne de la grammaire ou je récupère les données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
	{{
		int1 = $3;
		int2 = $6;
	}}
	;
la fin de mon yacc, la ou je récupère les données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
      yyrestart (rcfile);
      yyparse ();
      fclose (rcfile);
 
      mastruct = (MASTRUCT*) malloc (sizeof (MASTRUCT));
      mastruct->int1 = int1;
      mastruct->int2 = int2;
et ma structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
typedef struct
{
   int int1;
   int int2;
   char *str1;
   char *str2;
}
MASTRUCT;
seulement je voudrais faire ceci avec un tableau de chaque type, ce qui permet d'analyser correctement le fichier, quelque soit le nombre d'entiers ou de chaines de caractère présents dans le fichier. Cependant, en remplaçant par un tableau static int entiers[255]; seule la valeur de la case 0 de ce tableau est remplacée à chaque itération, quelqu'un peut il m'aider?