Bonjour à tous,

Dans le cadre d'un projet scolaire, je dois réaliser un évaluateur d'expression arithmétiques infixe. La méthode est articulé autour de l'utilisation de liste/arbre.

Lorsque j'essai de compiler mon programme, j'ai une longue liste d'erreur, commencant par ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
kal@tony ~/work/Expressions_arithmethiques $ make
gcc -g -W -Wall -std=c99 -c main.c
gcc -g -W -Wall -std=c99 -c liste.c
In file included from Tval.h:6,
                 from liste.c:4:
liste.h:9: erreur: erreur de syntaxe avant « Tval »
liste.h:9: attention : pas de point virgule à la fin de la structure ou de l'union
liste.h:11: erreur: erreur de syntaxe avant un élément lexical « } »
liste.h:11: attention : dans la déclaration de « Un_element », utilisation de « int » par défaut pour le type
liste.h:11: attention : la définition de données n'a pas de type ni de classe de stockage
liste.h:17: erreur: erreur de syntaxe avant « val »
liste.h:29: erreur: erreur de syntaxe avant « Tval »
...
Voici le code de liste.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
#ifndef LISTE_H
#define LISTE_H
 
#include "Tval.h"
 
typedef struct _un_element * P_un_element;
typedef struct _un_element
{
    Tval elem_val;
    P_un_element suiv;
} Un_element;
 
#define LR elem_val.SR
#define LO elem_val.SO
#define LE elem_val.SE
...
Tval.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
#ifndef TVAL_H
#define TVAL_H
 
#include "rationnel.h"
#include "noeud.h"
#include "liste.h"
 
typedef enum _type_val{OPER, RAT, EXP} Type_val;
 
typedef struct _Tval {
    Type_val type;
    union _valeur_telt {
        Operateur op;
        Rationnel rat;
        P_un_element expr;
    } valeur;
} Tval;
#define SR valeur.rat
#define SO valeur.op
#define SE valeur.expr
...
Je ne vois vraiment pas d'ou vient l'erreur, je n'ai oublié aucun ";". Merci de m'éclairer si vous avez une idée