symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/keyword.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 #! /usr/bin/env python
       
     2 
       
     3 """Keywords (from "graminit.c")
       
     4 
       
     5 This file is automatically generated; please don't muck it up!
       
     6 
       
     7 To update the symbols in this file, 'cd' to the top directory of
       
     8 the python source tree after building the interpreter and run:
       
     9 
       
    10     python Lib/keyword.py
       
    11 """
       
    12 
       
    13 __all__ = ["iskeyword", "kwlist"]
       
    14 
       
    15 kwlist = [
       
    16 #--start keywords--
       
    17         'and',
       
    18         'as',
       
    19         'assert',
       
    20         'break',
       
    21         'class',
       
    22         'continue',
       
    23         'def',
       
    24         'del',
       
    25         'elif',
       
    26         'else',
       
    27         'except',
       
    28         'exec',
       
    29         'finally',
       
    30         'for',
       
    31         'from',
       
    32         'global',
       
    33         'if',
       
    34         'import',
       
    35         'in',
       
    36         'is',
       
    37         'lambda',
       
    38         'not',
       
    39         'or',
       
    40         'pass',
       
    41         'print',
       
    42         'raise',
       
    43         'return',
       
    44         'try',
       
    45         'while',
       
    46         'with',
       
    47         'yield',
       
    48 #--end keywords--
       
    49         ]
       
    50 
       
    51 iskeyword = frozenset(kwlist).__contains__
       
    52 
       
    53 def main():
       
    54     import sys, re
       
    55 
       
    56     args = sys.argv[1:]
       
    57     iptfile = args and args[0] or "Python/graminit.c"
       
    58     if len(args) > 1: optfile = args[1]
       
    59     else: optfile = "Lib/keyword.py"
       
    60 
       
    61     # scan the source file for keywords
       
    62     fp = open(iptfile)
       
    63     strprog = re.compile('"([^"]+)"')
       
    64     lines = []
       
    65     for line in fp:
       
    66         if '{1, "' in line:
       
    67             match = strprog.search(line)
       
    68             if match:
       
    69                 lines.append("        '" + match.group(1) + "',\n")
       
    70     fp.close()
       
    71     lines.sort()
       
    72 
       
    73     # load the output skeleton from the target
       
    74     fp = open(optfile)
       
    75     format = fp.readlines()
       
    76     fp.close()
       
    77 
       
    78     # insert the lines of keywords
       
    79     try:
       
    80         start = format.index("#--start keywords--\n") + 1
       
    81         end = format.index("#--end keywords--\n")
       
    82         format[start:end] = lines
       
    83     except ValueError:
       
    84         sys.stderr.write("target does not contain format markers\n")
       
    85         sys.exit(1)
       
    86 
       
    87     # write the output file
       
    88     fp = open(optfile, 'w')
       
    89     fp.write(''.join(format))
       
    90     fp.close()
       
    91 
       
    92 if __name__ == "__main__":
       
    93     main()