X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginsh%2Fginsh.h;h=3cab831970c87a20419e0b615bede59386c38f35;hp=24f37c00555990eec0934280bf5935b123338f33;hb=0ff7856e0a2039ffe612b4fceb3e98fb3c271753;hpb=5c0989497994b35faa9c17b18f936c21dbb22d78 diff --git a/ginsh/ginsh.h b/ginsh/ginsh.h index 24f37c00..3cab8319 100644 --- a/ginsh/ginsh.h +++ b/ginsh/ginsh.h @@ -1,11 +1,57 @@ -/* - * ginsh.h - GiNaC Interactive Shell, global definitions +/** @file ginsh.h + * + * Global definitions for ginsh. + * + * GiNaC Copyright (C) 1999-2000 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef GINSH_H_ -#define GINSH_H_ +#ifndef GINSH_H +#define GINSH_H -// yacc semantic type +#include +#include +#include + +#include +#include + +#ifdef HAVE_READLINE_READLINE_H +extern "C" { +#include +} +#endif + +#ifdef HAVE_READLINE_HISTORY_H +extern "C" { +#include +} +#endif + +#ifdef IN_GINAC +#include "ginac.h" +#else +#include +#endif + +#ifndef NO_NAMESPACE_GINAC +using namespace GiNaC; +#endif // ndef NO_NAMESPACE_GINAC + +// yacc stack type #define YYSTYPE ex // lex functions/variables @@ -16,19 +62,14 @@ extern char *yytext; #else extern char yytext[]; #endif +extern FILE *yyin; + +// List of input files to be processed +extern int num_files; +extern char **file_list; // Table of all used symbols typedef map sym_tab; extern sym_tab syms; -// Ersatz functions -#ifndef HAVE_STRDUP -char *strdup(const char *s) -{ - char *n = (char *)malloc(strlen(s) + 1); - strcpy(n, s); - return n; -} -#endif - #endif