diff --git a/MathEval/Makefile b/MathEval/Makefile
index d1adf7845ff6c9cca607ade923cd1e57951a6306..325938d08cb28103fbe25c4022e8337391e818bc 100644
--- a/MathEval/Makefile
+++ b/MathEval/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.1 2004-05-12 02:02:21 geuzaine Exp $
+# $Id: Makefile,v 1.2 2004-05-12 18:38:44 geuzaine Exp $
 #
 # Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 #
@@ -48,6 +48,7 @@ parser:
 	bison --output parser.cpp -pme -d parser.y 
 	flex -oscanner.cpp -Pme scanner.l
 	if [ -r parser.cpp.h ]; then mv parser.cpp.h parser.h ; fi
+	if [ -r parser.hpp ]; then mv parser.hpp parser.h ; fi
 
 clean:
 	rm -f *.o
diff --git a/MathEval/parser.h b/MathEval/parser.h
index 561b245ad9315b05eb2b1c21bdfd3edfc23e23fb..8386e50466ad8fd8335327836c3fc84a2ac90bb5 100644
--- a/MathEval/parser.h
+++ b/MathEval/parser.h
@@ -1,11 +1,20 @@
+#ifndef BISON_PARSER_HPP
+# define BISON_PARSER_HPP
+
+#ifndef YYSTYPE
 typedef union {
   Node *node;
   Record *record;
-} YYSTYPE;
-#define	NUMBER	257
-#define	VARIABLE	258
-#define	FUNCTION	259
-#define	NEG	260
+} yystype;
+# define YYSTYPE yystype
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+# define	NUMBER	257
+# define	VARIABLE	258
+# define	FUNCTION	259
+# define	NEG	260
 
 
 extern YYSTYPE melval;
+
+#endif /* not BISON_PARSER_HPP */
diff --git a/MathEval/scanner.cpp b/MathEval/scanner.cpp
index f0656633135045e9e11c13c7773ff13135a31968..67e95880ad72f84f8e11308a8f77ccf583c61a39 100644
--- a/MathEval/scanner.cpp
+++ b/MathEval/scanner.cpp
@@ -20,7 +20,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /cvsroot/gmsh/MathEval/scanner.cpp,v 1.2 2004-05-12 18:14:20 geuzaine Exp $
+ * $Header: /cvsroot/gmsh/MathEval/scanner.cpp,v 1.3 2004-05-12 18:38:44 geuzaine Exp $
  */
 
 #define FLEX_SCANNER