| 
									
										
										
										
											2010-03-11 22:53:45 +00:00
										 |  |  | #! /usr/bin/env python3 | 
					
						
							| 
									
										
										
										
											2000-02-04 15:10:34 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | """Keywords (from "graminit.c")
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This file is automatically generated; please don't muck it up! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To update the symbols in this file, 'cd' to the top directory of | 
					
						
							|  |  |  | the python source tree after building the interpreter and run: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-29 16:45:34 +01:00
										 |  |  |     ./python Lib/keyword.py | 
					
						
							| 
									
										
										
										
											2000-02-04 15:10:34 +00:00
										 |  |  | """
 | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-10-30 05:17:22 +00:00
										 |  |  | __all__ = ["iskeyword", "kwlist"] | 
					
						
							| 
									
										
										
										
											2001-01-24 06:27:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | kwlist = [ | 
					
						
							|  |  |  | #--start keywords-- | 
					
						
							| 
									
										
											  
											
												Merged revisions 56020-56124 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
  r56037 | georg.brandl | 2007-06-19 05:33:20 -0700 (Tue, 19 Jun 2007) | 2 lines
  Patch #1739659: don't slice dict.keys() in pydoc.
................
  r56060 | martin.v.loewis | 2007-06-21 13:00:02 -0700 (Thu, 21 Jun 2007) | 2 lines
  Regenerate to add True, False, None.
................
  r56069 | neal.norwitz | 2007-06-21 22:31:56 -0700 (Thu, 21 Jun 2007) | 1 line
  Get the doctest working again after adding None, True, and False as kewyords.
................
  r56070 | neal.norwitz | 2007-06-21 23:25:33 -0700 (Thu, 21 Jun 2007) | 1 line
  Add space to error message.
................
  r56071 | neal.norwitz | 2007-06-21 23:40:04 -0700 (Thu, 21 Jun 2007) | 6 lines
  Get pybench working, primarily
   * Use print function
   * Stop using string module
   * Use sorted instead of assuming dict methods return lists
   * Convert range result to a list
................
  r56089 | collin.winter | 2007-06-26 10:31:48 -0700 (Tue, 26 Jun 2007) | 1 line
  Fix AttributeError in distutils/dir_util.py.
................
  r56124 | guido.van.rossum | 2007-06-29 18:04:31 -0700 (Fri, 29 Jun 2007) | 30 lines
  Merged revisions 56014-56123 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk
  ........
    r56019 | lars.gustaebel | 2007-06-18 04:42:11 -0700 (Mon, 18 Jun 2007) | 2 lines
    Added exclude keyword argument to the TarFile.add() method.
  ........
    r56023 | lars.gustaebel | 2007-06-18 13:05:55 -0700 (Mon, 18 Jun 2007) | 3 lines
    Added missing \versionchanged tag for the new exclude
    parameter.
  ........
    r56038 | georg.brandl | 2007-06-19 05:36:00 -0700 (Tue, 19 Jun 2007) | 2 lines
    Bug #1737864: allow empty message in logging format routines.
  ........
    r56040 | georg.brandl | 2007-06-19 05:38:20 -0700 (Tue, 19 Jun 2007) | 2 lines
    Bug #1739115: make shutil.rmtree docs clear wrt. file deletion.
  ........
    r56084 | georg.brandl | 2007-06-25 08:21:23 -0700 (Mon, 25 Jun 2007) | 2 lines
    Bug #1742901: document None behavior of shlex.split.
  ........
    r56091 | georg.brandl | 2007-06-27 07:09:56 -0700 (Wed, 27 Jun 2007) | 2 lines
    Fix a variable name in winreg docs.
  ........
................
											
										 
											2007-06-30 05:01:58 +00:00
										 |  |  |         'False', | 
					
						
							|  |  |  |         'None', | 
					
						
							|  |  |  |         'True', | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |         'and', | 
					
						
							| 
									
										
										
										
											2006-02-28 22:50:17 +00:00
										 |  |  |         'as', | 
					
						
							| 
									
										
										
										
											1997-07-23 18:10:52 +00:00
										 |  |  |         'assert', | 
					
						
							| 
									
										
										
										
											2017-10-05 20:24:46 -07:00
										 |  |  |         'async', | 
					
						
							|  |  |  |         'await', | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |         'break', | 
					
						
							|  |  |  |         'class', | 
					
						
							|  |  |  |         'continue', | 
					
						
							|  |  |  |         'def', | 
					
						
							|  |  |  |         'del', | 
					
						
							|  |  |  |         'elif', | 
					
						
							|  |  |  |         'else', | 
					
						
							|  |  |  |         'except', | 
					
						
							|  |  |  |         'finally', | 
					
						
							|  |  |  |         'for', | 
					
						
							|  |  |  |         'from', | 
					
						
							|  |  |  |         'global', | 
					
						
							|  |  |  |         'if', | 
					
						
							|  |  |  |         'import', | 
					
						
							|  |  |  |         'in', | 
					
						
							|  |  |  |         'is', | 
					
						
							|  |  |  |         'lambda', | 
					
						
							| 
									
										
										
										
											2007-02-28 20:21:30 +00:00
										 |  |  |         'nonlocal', | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |         'not', | 
					
						
							|  |  |  |         'or', | 
					
						
							|  |  |  |         'pass', | 
					
						
							|  |  |  |         'raise', | 
					
						
							|  |  |  |         'return', | 
					
						
							|  |  |  |         'try', | 
					
						
							|  |  |  |         'while', | 
					
						
							| 
									
										
										
										
											2006-02-28 22:50:17 +00:00
										 |  |  |         'with', | 
					
						
							| 
									
										
										
										
											2001-06-19 00:26:25 +00:00
										 |  |  |         'yield', | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | #--end keywords-- | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-12-02 07:48:15 +00:00
										 |  |  | iskeyword = frozenset(kwlist).__contains__ | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def main(): | 
					
						
							| 
									
										
										
										
											2001-02-09 09:10:35 +00:00
										 |  |  |     import sys, re | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     args = sys.argv[1:] | 
					
						
							|  |  |  |     iptfile = args and args[0] or "Python/graminit.c" | 
					
						
							|  |  |  |     if len(args) > 1: optfile = args[1] | 
					
						
							|  |  |  |     else: optfile = "Lib/keyword.py" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-25 12:01:36 -04:00
										 |  |  |     # load the output skeleton from the target, taking care to preserve its | 
					
						
							|  |  |  |     # newline convention. | 
					
						
							|  |  |  |     with open(optfile, newline='') as fp: | 
					
						
							|  |  |  |         format = fp.readlines() | 
					
						
							|  |  |  |     nl = format[0][len(format[0].strip()):] if format else '\n' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |     # scan the source file for keywords | 
					
						
							| 
									
										
										
										
											2010-09-03 19:52:03 +00:00
										 |  |  |     with open(iptfile) as fp: | 
					
						
							|  |  |  |         strprog = re.compile('"([^"]+)"') | 
					
						
							|  |  |  |         lines = [] | 
					
						
							|  |  |  |         for line in fp: | 
					
						
							|  |  |  |             if '{1, "' in line: | 
					
						
							|  |  |  |                 match = strprog.search(line) | 
					
						
							|  |  |  |                 if match: | 
					
						
							| 
									
										
										
										
											2013-04-25 12:01:36 -04:00
										 |  |  |                     lines.append("        '" + match.group(1) + "'," + nl) | 
					
						
							| 
									
										
										
										
											1997-03-20 20:40:45 +00:00
										 |  |  |     lines.sort() | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-25 12:01:36 -04:00
										 |  |  |     # insert the lines of keywords into the skeleton | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |     try: | 
					
						
							| 
									
										
										
										
											2013-04-25 12:01:36 -04:00
										 |  |  |         start = format.index("#--start keywords--" + nl) + 1 | 
					
						
							|  |  |  |         end = format.index("#--end keywords--" + nl) | 
					
						
							| 
									
										
										
										
											1997-03-20 20:40:45 +00:00
										 |  |  |         format[start:end] = lines | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  |     except ValueError: | 
					
						
							|  |  |  |         sys.stderr.write("target does not contain format markers\n") | 
					
						
							| 
									
										
										
										
											1997-03-20 20:40:45 +00:00
										 |  |  |         sys.exit(1) | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # write the output file | 
					
						
							| 
									
										
										
										
											2013-04-25 12:01:36 -04:00
										 |  |  |     with open(optfile, 'w', newline='') as fp: | 
					
						
							|  |  |  |         fp.writelines(format) | 
					
						
							| 
									
										
										
										
											1997-03-20 19:45:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-10-22 21:00:49 +00:00
										 |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     main() |