Happy New Year!
[ginac.git] / ginac / input_lexer.h
index e67ae9236e4fa4c1f460ae65df1da4e04e29a600..a01bc5d50be2dafa8c7208a9c0f2c3b5f88bd8ba 100644 (file)
@@ -4,7 +4,7 @@
  *  This file must be processed with flex. */
 
 /*
  *  This file must be processed with flex. */
 
 /*
- *  GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2004 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
 #ifndef __GINAC_INPUT_LEXER_H__
 #define __GINAC_INPUT_LEXER_H__
 
 #ifndef __GINAC_INPUT_LEXER_H__
 #define __GINAC_INPUT_LEXER_H__
 
+extern "C" {
 #include <stdio.h>
 #include <stdio.h>
-
+}
+       
 #include "config.h"
 
 // yacc stack type
 #include "config.h"
 
 // yacc stack type
@@ -41,14 +43,15 @@ extern char *ginac_yytext;
 extern char ginac_yytext[];
 #endif
 
 extern char ginac_yytext[];
 #endif
 
-#ifndef NO_NAMESPACE_GINAC
 namespace GiNaC {
 namespace GiNaC {
-#endif // ndef NO_NAMESPACE_GINAC
 
 class ex;
 
 /** Set the input string to be parsed by ginac_yyparse() (used internally). */
 
 class ex;
 
 /** Set the input string to be parsed by ginac_yyparse() (used internally). */
-extern void set_lexer_string(const string &s);
+extern void set_lexer_string(const std::string &s);
+
+/** Get name of symbol/index (used internally). */
+extern std::string get_symbol_name(const ex & s);
 
 /** Set the list of predefined symbols for the lexer (used internally). */
 extern void set_lexer_symbols(ex l);
 
 /** Set the list of predefined symbols for the lexer (used internally). */
 extern void set_lexer_symbols(ex l);
@@ -57,16 +60,14 @@ extern void set_lexer_symbols(ex l);
 extern bool is_lexer_symbol_predefined(const ex &s);
 
 /** The expression parser function (used internally). */
 extern bool is_lexer_symbol_predefined(const ex &s);
 
 /** The expression parser function (used internally). */
-extern int ginac_yyparse();
+extern int ginac_yyparse(void);
 
 /** The expression returned by the parser (used internally). */
 extern ex parsed_ex;
 
 /** Get error message from the parser. */
 
 /** The expression returned by the parser (used internally). */
 extern ex parsed_ex;
 
 /** Get error message from the parser. */
-extern string get_parser_error(void);
+extern std::string get_parser_error(void);
 
 
-#ifndef NO_NAMESPACE_GINAC
 } // namespace GiNaC
 } // namespace GiNaC
-#endif // ndef NO_NAMESPACE_GINAC
 
 #endif // ndef __GINAC_INPUT_LEXER_H__
 
 #endif // ndef __GINAC_INPUT_LEXER_H__