summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2005-10-20 19:59:25 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2005-10-20 19:59:25 (GMT)
commit3e0055f8c65c407e74ce476b8e2b1fb889723514 (patch)
tree169cce8c87033e15364b57de947073e6e9c34d59 /Modules
parent2cb94aba122b86dcda87d437eb36a860d14393d5 (diff)
downloadcpython-3e0055f8c65c407e74ce476b8e2b1fb889723514.zip
cpython-3e0055f8c65c407e74ce476b8e2b1fb889723514.tar.gz
cpython-3e0055f8c65c407e74ce476b8e2b1fb889723514.tar.bz2
Merge ast-branch to head
This change implements a new bytecode compiler, based on a transformation of the parse tree to an abstract syntax defined in Parser/Python.asdl. The compiler implementation is not complete, but it is in stable enough shape to run the entire test suite excepting two disabled tests.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_hotshot.c1
-rw-r--r--Modules/symtablemodule.c8
2 files changed, 6 insertions, 3 deletions
diff --git a/Modules/_hotshot.c b/Modules/_hotshot.c
index b75b1a32..0842728 100644
--- a/Modules/_hotshot.c
+++ b/Modules/_hotshot.c
@@ -3,6 +3,7 @@
*/
#include "Python.h"
+#include "code.h"
#include "compile.h"
#include "eval.h"
#include "frameobject.h"
diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c
index 909a404..7a52aae 100644
--- a/Modules/symtablemodule.c
+++ b/Modules/symtablemodule.c
@@ -1,6 +1,8 @@
#include "Python.h"
+#include "code.h"
#include "compile.h"
+#include "Python-ast.h"
#include "symtable.h"
static PyObject *
@@ -64,9 +66,9 @@ init_symtable(void)
PyModule_AddIntConstant(m, "DEF_IMPORT", DEF_IMPORT);
PyModule_AddIntConstant(m, "DEF_BOUND", DEF_BOUND);
- PyModule_AddIntConstant(m, "TYPE_FUNCTION", TYPE_FUNCTION);
- PyModule_AddIntConstant(m, "TYPE_CLASS", TYPE_CLASS);
- PyModule_AddIntConstant(m, "TYPE_MODULE", TYPE_MODULE);
+ PyModule_AddIntConstant(m, "TYPE_FUNCTION", FunctionBlock);
+ PyModule_AddIntConstant(m, "TYPE_CLASS", ClassBlock);
+ PyModule_AddIntConstant(m, "TYPE_MODULE", ModuleBlock);
PyModule_AddIntConstant(m, "OPT_IMPORT_STAR", OPT_IMPORT_STAR);
PyModule_AddIntConstant(m, "OPT_EXEC", OPT_EXEC);