[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