[Python-checkins] r67080 - peps/trunk/pep-0306.txt
benjamin.peterson
python-checkins at python.org
Mon Nov 3 16:28:02 CET 2008
Author: benjamin.peterson
Date: Mon Nov 3 16:28:02 2008
New Revision: 67080
Log:
a few updates and clarifications
Modified:
peps/trunk/pep-0306.txt
Modified: peps/trunk/pep-0306.txt
==============================================================================
--- peps/trunk/pep-0306.txt (original)
+++ peps/trunk/pep-0306.txt Mon Nov 3 16:28:02 2008
@@ -2,7 +2,7 @@
Title: How to Change Python's Grammar
Version: $Revision$
Last-Modified: $Date$
-Author: Michael Hudson <mwh at python.net>, Jack Diederich <jackdied at gmail.com>, Nick Coghlan <ncoghlan at gmail.com>
+Author: Michael Hudson <mwh at python.net>, Jack Diederich <jackdied at gmail.com>, Nick Coghlan <ncoghlan at gmail.com>, Benjamin Peterson <musiccomposition at gmail.com>
Status: Active
Type: Informational
Content-Type: text/plain
@@ -33,34 +33,36 @@
Checklist
- __ Grammar/Grammar: OK, you'd probably worked this one out :)
+ __ Grammar/Grammar: OK, you'd probably worked this one out :)
- __ Parser/Python.asdl may need changes to match the Grammar.
- Use Parser/asdl_c.py to regenerate Include/Python-ast.h
-
- __ 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/Python.asdl may need changes to match the Grammar. Run
+ make to regenerate Include/Python-ast.h and
+ Python/Python-ast.c.
+
+ __ Python/ast.c will 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
+ and Python/graminit.c. (make should handle this for you.)
__ Python/symbtable.c: This handles the symbol collection pass
- that happens immediately before the compilation pass
+ that happens immediately before the compilation pass.
__ Python/compile.c: You will need to create or modify the
- compiler_* functions for your productions.
+ compiler_* functions to generate opcodes for your productions.
__ You may need to regenerate Lib/symbol.py and/or Lib/token.py
- and/or Lib/keyword.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.
+ bang on Modules/parsermodule.c until it passes.
+
+ __ Add some usage of your new syntax to test_grammar.py
__ 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?
+ it runs. Note that this only needs to be done in Python 2.x.
__ If you've gone so far as to change the token structure of
Python, then the Lib/tokenizer.py library module will need to
More information about the Python-checkins
mailing list