kopia lustrzana https://github.com/micropython/micropython-lib
99 wiersze
1.9 KiB
Python
99 wiersze
1.9 KiB
Python
#! /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--
|
|
]
|
|
|
|
frozenset = set
|
|
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()
|