openmedialibrary_platform/Darwin/lib/python3.5/keyword.py

95 lines
2.2 KiB
Python
Raw Normal View History

2014-09-30 16:15:32 +00:00
#! /usr/bin/env python3
2013-10-11 17:28:32 +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:
./python Lib/keyword.py
"""
__all__ = ["iskeyword", "kwlist"]
kwlist = [
#--start keywords--
2014-09-30 16:15:32 +00:00
'False',
'None',
'True',
2013-10-11 17:28:32 +00:00
'and',
'as',
'assert',
'break',
'class',
'continue',
'def',
'del',
'elif',
'else',
'except',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
2014-09-30 16:15:32 +00:00
'nonlocal',
2013-10-11 17:28:32 +00:00
'not',
'or',
'pass',
'raise',
'return',
'try',
'while',
'with',
'yield',
#--end keywords--
]
iskeyword = frozenset(kwlist).__contains__
def main():
import sys, re
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"
2014-09-30 16:15:32 +00: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'
2013-10-11 17:28:32 +00:00
# scan the source file for keywords
2014-09-30 16:15:32 +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:
lines.append(" '" + match.group(1) + "'," + nl)
2013-10-11 17:28:32 +00:00
lines.sort()
2014-09-30 16:15:32 +00:00
# insert the lines of keywords into the skeleton
2013-10-11 17:28:32 +00:00
try:
2014-09-30 16:15:32 +00:00
start = format.index("#--start keywords--" + nl) + 1
end = format.index("#--end keywords--" + nl)
2013-10-11 17:28:32 +00:00
format[start:end] = lines
except ValueError:
sys.stderr.write("target does not contain format markers\n")
sys.exit(1)
# write the output file
2014-09-30 16:15:32 +00:00
with open(optfile, 'w', newline='') as fp:
fp.writelines(format)
2013-10-11 17:28:32 +00:00
if __name__ == "__main__":
main()