Show More
Commit Description:
Merge pull request #17 from nattee/master...
Commit Description:
Merge pull request #17 from nattee/master
upgrade to current working snapshot
References:
File last commit:
Show/Diff file:
Action:
lib/assets/Lib/keyword.py
| 93 lines
| 2.1 KiB
| text/x-python
| PythonLexer
|
r584 | #! /usr/bin/env python3 | |||
"""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-- | ||||
'False', | ||||
'None', | ||||
'True', | ||||
'and', | ||||
'as', | ||||
'assert', | ||||
'break', | ||||
'class', | ||||
'continue', | ||||
'def', | ||||
'del', | ||||
'elif', | ||||
'else', | ||||
'except', | ||||
'finally', | ||||
'for', | ||||
'from', | ||||
'global', | ||||
'if', | ||||
'import', | ||||
'in', | ||||
'is', | ||||
'lambda', | ||||
'nonlocal', | ||||
'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" | ||||
# scan the source file for keywords | ||||
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) + "',\n") | ||||
lines.sort() | ||||
# load the output skeleton from the target | ||||
with open(optfile) as fp: | ||||
format = fp.readlines() | ||||
# insert the lines of keywords | ||||
try: | ||||
start = format.index("#--start keywords--\n") + 1 | ||||
end = format.index("#--end keywords--\n") | ||||
format[start:end] = lines | ||||
except ValueError: | ||||
sys.stderr.write("target does not contain format markers\n") | ||||
sys.exit(1) | ||||
# write the output file | ||||
fp = open(optfile, 'w') | ||||
fp.write(''.join(format)) | ||||
fp.close() | ||||
if __name__ == "__main__": | ||||
main() | ||||