Impossible de neutraliser l'erreur
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:
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:
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:
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 ;)