summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-05-07 17:46:13 (GMT)
committerGuido van Rossum <guido@python.org>1997-05-07 17:46:13 (GMT)
commitb05a5c7698cd8dff3e5c02e513db765ba12281f0 (patch)
tree86831a79ad6434c88c57ed7cc730cfcd66c3554c /Python
parent8813b58ffa6d83522ad2bbec0437c5c0e52a7ba9 (diff)
downloadcpython-b05a5c7698cd8dff3e5c02e513db765ba12281f0.zip
cpython-b05a5c7698cd8dff3e5c02e513db765ba12281f0.tar.gz
cpython-b05a5c7698cd8dff3e5c02e513db765ba12281f0.tar.bz2
Instead of importing graminit.h whenever one of the three grammar 'root'
symbols is needed, define these in Python.h with a Py_ prefix.
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c13
-rw-r--r--Python/ceval.c6
-rw-r--r--Python/compile.c14
-rw-r--r--Python/import.c5
-rw-r--r--Python/pythonrun.c7
5 files changed, 27 insertions, 18 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 2461904..7c46286 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -34,7 +34,6 @@ PERFORMANCE OF THIS SOFTWARE.
#include "Python.h"
#include "node.h"
-#include "graminit.h"
#include "compile.h"
#include "eval.h"
@@ -283,11 +282,11 @@ builtin_compile(self, args)
if (!PyArg_ParseTuple(args, "sss:compile", &str, &filename, &startstr))
return NULL;
if (strcmp(startstr, "exec") == 0)
- start = file_input;
+ start = Py_file_input;
else if (strcmp(startstr, "eval") == 0)
- start = eval_input;
+ start = Py_eval_input;
else if (strcmp(startstr, "single") == 0)
- start = single_input;
+ start = Py_single_input;
else {
PyErr_SetString(PyExc_ValueError,
"compile() mode must be 'exec' or 'eval' or 'single'");
@@ -521,7 +520,7 @@ builtin_eval(self, args)
}
while (*str == ' ' || *str == '\t')
str++;
- return PyRun_String(str, eval_input, globals, locals);
+ return PyRun_String(str, Py_eval_input, globals, locals);
}
static PyObject *
@@ -558,7 +557,7 @@ builtin_execfile(self, args)
PyErr_SetFromErrno(PyExc_IOError);
return NULL;
}
- res = PyRun_File(fp, filename, file_input, globals, locals);
+ res = PyRun_File(fp, filename, Py_file_input, globals, locals);
Py_BEGIN_ALLOW_THREADS
fclose(fp);
Py_END_ALLOW_THREADS
@@ -882,7 +881,7 @@ builtin_input(self, args)
PyEval_GetBuiltins()) != 0)
return NULL;
}
- res = PyRun_String(str, eval_input, globals, locals);
+ res = PyRun_String(str, Py_eval_input, globals, locals);
Py_DECREF(line);
return res;
}
diff --git a/Python/ceval.c b/Python/ceval.c
index 58f0a8c..e23ea72 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -43,7 +43,6 @@ PERFORMANCE OF THIS SOFTWARE.
#include "frameobject.h"
#include "eval.h"
#include "opcode.h"
-#include "graminit.h"
#include <ctype.h>
@@ -2637,7 +2636,8 @@ exec_statement(f, prog, globals, locals)
if (PyFile_Check(prog)) {
FILE *fp = PyFile_AsFile(prog);
char *name = PyString_AsString(PyFile_Name(prog));
- if (PyRun_File(fp, name, file_input, globals, locals) == NULL)
+ if (PyRun_File(fp, name, Py_file_input,
+ globals, locals) == NULL)
return -1;
return 0;
}
@@ -2647,7 +2647,7 @@ exec_statement(f, prog, globals, locals)
"embedded '\\0' in exec string");
return -1;
}
- v = PyRun_String(s, file_input, globals, locals);
+ v = PyRun_String(s, Py_file_input, globals, locals);
if (v == NULL)
return -1;
Py_DECREF(v);
diff --git a/Python/compile.c b/Python/compile.c
index 9d6d395..9525aa0 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -58,6 +58,20 @@ PERFORMANCE OF THIS SOFTWARE.
#include <ctype.h>
+/* Three symbols from graminit.h are also defined in Python.h, with
+ Py_ prefixes to their names. Python.h can't include graminit.h
+ (which defines too many confusing symbols), but we can check here
+ that they haven't changed (which is very unlikely, but possible). */
+#if Py_single_input != single_input
+#error "single_input has changed -- update Py_single_input in Python.h"
+#endif
+#if Py_file_input != file_input
+#error "file_input has changed -- update Py_file_input in Python.h"
+#endif
+#if Py_eval_input != eval_input
+#error "eval_input has changed -- update Py_eval_input in Python.h"
+#endif
+
int Py_OptimizeFlag = 0;
#define OP_DELETE 0
diff --git a/Python/import.c b/Python/import.c
index ea6440a..f2d8040 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -35,7 +35,6 @@ PERFORMANCE OF THIS SOFTWARE.
#include "node.h"
#include "token.h"
-#include "graminit.h"
#include "errcode.h"
#include "marshal.h"
#include "compile.h"
@@ -43,8 +42,6 @@ PERFORMANCE OF THIS SOFTWARE.
#include "osdefs.h"
#include "importdl.h"
#ifdef macintosh
-/* 'argument' is a grammar symbol, but also used in some mac header files */
-#undef argument
#include "macglue.h"
#endif
@@ -317,7 +314,7 @@ parse_source_module(pathname, fp)
PyCodeObject *co;
node *n;
- n = PyParser_SimpleParseFile(fp, pathname, file_input);
+ n = PyParser_SimpleParseFile(fp, pathname, Py_file_input);
if (n == NULL)
return NULL;
co = PyNode_Compile(n, pathname);
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 8bb7565..138bc3f 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -36,7 +36,6 @@ PERFORMANCE OF THIS SOFTWARE.
#include "grammar.h"
#include "node.h"
#include "parsetok.h"
-#include "graminit.h"
#undef argument /* Avoid conflict on Mac */
#include "errcode.h"
#include "compile.h"
@@ -237,7 +236,7 @@ PyRun_InteractiveOne(fp, filename)
}
Py_BEGIN_ALLOW_THREADS
n = PyParser_ParseFile(fp, filename, &_PyParser_Grammar,
- single_input, ps1, ps2, &err);
+ Py_single_input, ps1, ps2, &err);
Py_END_ALLOW_THREADS
Py_XDECREF(v);
Py_XDECREF(w);
@@ -296,7 +295,7 @@ PyRun_SimpleFile(fp, filename)
Py_OptimizeFlag = 1;
v = run_pyc_file(fp, filename, d, d);
} else {
- v = PyRun_File(fp, filename, file_input, d, d);
+ v = PyRun_File(fp, filename, Py_file_input, d, d);
}
if (v == NULL) {
PyErr_Print();
@@ -316,7 +315,7 @@ PyRun_SimpleString(command)
if (m == NULL)
return -1;
d = PyModule_GetDict(m);
- v = PyRun_String(command, file_input, d, d);
+ v = PyRun_String(command, Py_file_input, d, d);
if (v == NULL) {
PyErr_Print();
return -1;