[Python-Dev] Making None a keyword (original) (raw)

Guido van Rossum guido@python.org
Fri, 26 Apr 2002 08:42:56 -0400


Here's what I have so far. :-)

*** Grammar/Grammar 15 Oct 2001 15:44:04 -0000 1.45 --- Grammar/Grammar 26 Apr 2002 12:30:36 -0000


*** 80,86 **** term: factor ((''|'/'|'%'|'//') factor) factor: ('+'|'-'|'') factor | power power: atom trailer* ('' factor) ! atom: '(' [testlist] ')' | '[' [listmaker] ']' | '{' [dictmaker] '}' | '' testlist '' | NAME | NUMBER | STRING+ listmaker: test ( list_for | (',' test) [','] ) lambdef: 'lambda' [varargslist] ':' test trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME --- 80,86 ---- term: factor ((''|'/'|'%'|'//') factor) factor: ('+'|'-'|'') factor | power power: atom trailer* ('' factor) ! atom: '(' [testlist] ')' | '[' [listmaker] ']' | '{' [dictmaker] '}' | '' testlist '' | NAME | NUMBER | STRING+ | 'None' listmaker: test ( list_for | (',' test) [','] ) lambdef: 'lambda' [varargslist] ':' test trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME

It needs to add 'None' as an alternative to all other places where currently NAME occurs.

The Unix Makefile automatically regenerates Includes/graminit.h and Python/graminit.c when you touch Grammar/Grammar.

For some mysterious reason, I didn't have to change the code generator at all -- the NAME terminals and the 'None' terminal look the same to it. :-)

--Guido van Rossum (home page: http://www.python.org/~guido/)