[Python-checkins] r54070 - peps/trunk/pep-0306.txt
jack.diederich
python-checkins at python.org
Thu Mar 1 23:39:01 CET 2007
Author: jack.diederich
Date: Thu Mar 1 23:39:00 2007
New Revision: 54070
Modified:
peps/trunk/pep-0306.txt
Log:
* update the Checklist to reflect the current ast/compiler
Modified: peps/trunk/pep-0306.txt
==============================================================================
--- peps/trunk/pep-0306.txt (original)
+++ peps/trunk/pep-0306.txt Thu Mar 1 23:39:00 2007
@@ -2,7 +2,7 @@
Title: How to Change Python's Grammar
Version: $Revision$
Last-Modified: $Date$
-Author: Michael Hudson <mwh at python.net>
+Author: Michael Hudson <mwh at python.net>, Jack Diederich <jackdied at gmail.com>, Nick Coghlan <ncoghlan at gmail.com>
Status: Active
Type: Informational
Content-Type: text/plain
@@ -33,13 +33,26 @@
Checklist
- __ Grammar/Grammar: OK, you'd probably worked this one out :)
+ __ Grammar/Grammar: OK, you'd probably worked this one out :)
- __ Python/compile.c: you'll most likely need to edit both the
- actual compiler and the symtable builder (which is to say both
- the com_foo and the sym_foo functions).
+ __ Parser/Python.asdl may need changes to match the Grammar.
+ Use Parser/asdl_c.py to regenerate Include/Python-ast.h
- __ You may need to regenerate Lib/symbol.py and/or Lib/token.py.
+ __ Python/Python-ast.c may need changes to create the AST
+ objects involved with the Grammar change. Lib/compiler/ast.py
+ will need matching changes to the pure-python AST objects.
+
+ __ Parser/pgen needs to be rerun to regenerate Include/graminit.h
+ and Python/graminit.c
+
+ __ Python/symbtable.c: This handles the symbol collection pass
+ that happens immediately before the compilation pass
+
+ __ Python/compile.c: You will need to create or modify the
+ compiler_* functions for your productions.
+
+ __ You may need to regenerate Lib/symbol.py and/or Lib/token.py
+ and/or Lib/keyword.py
__ The parser module. Add some of your new syntax to test_parser,
bang on parsermodule.c until it passes.
@@ -47,22 +60,17 @@
__ The compiler package. A good test is to compile the standard
library and test suite with the compiler package and then check
it runs. You did add some of your new syntax to the test
- suite, didn't you? There's a script in Tools/compiler that
- does this.
+ suite, didn't you?
__ If you've gone so far as to change the token structure of
- Python, then the tokenizer library module will need to be
- changed.
+ Python, then the Lib/tokenizer.py library module will need to
+ be changed.
__ Certain changes may require tweaks to the library module
pyclbr.
- __ Jython too will need work, but I don't know what. Explanations
- gratefully received.
-
__ Documentation must be written!
-
References
[1] SF Bug #676521, parser module validation failure
More information about the Python-checkins
mailing list