# Grammar for 2to3. This grammar supports Python 2.x and 3.x.
# NOTE WELL: You should also follow all the steps listed at
# https://devguide.python.org/grammar/
# Start symbols for the grammar:
# file_input is a module or sequence of commands read from an input file;
# single_input is a single interactive statement;
# eval_input is the input for the eval() and input() functions.
# NB: compound_stmt in single_input is followed by extra NEWLINE!
file_input: (NEWLINE | stmt)* ENDMARKER
single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE
eval_input: testlist NEWLINE* ENDMARKER
decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE
decorators: decorator+
decorated: decorators (classdef | funcdef | async_funcdef)
async_funcdef: ASYNC funcdef
funcdef: 'def' NAME parameters ['->' test] ':' suite
parameters: '(' [typedargslist] ')'
typedargslist: ((tfpdef ['=' test] ',')*
('*' [tname] (',' tname ['=' test])* [',' ['**' tname [',']]] | '**' tname [','])
| tfpdef ['=' test] (',' tfpdef ['=' test])* [','])
tname: NAME [':' test]
tfpdef: tname | '(' tfplist ')'
tfplist: tfpdef (',' tfpdef)* [',']
varargslist: ((vfpdef ['=' test] ',')*
('*' [vname] (',' vname ['=' test])* [',' ['**' vname [',']]] | '**' vname [','])
| vfpdef ['=' test] (',' vfpdef ['=' test])* [','])
vname: NAME
vfpdef: vname | '(' vfplist ')'
vfplist: vfpdef (',' vfpdef)* [',']
stmt: simple_stmt | compound_stmt
simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
small_stmt: (expr_stmt | print_stmt | del_stmt | pass_stmt | flow_stmt |
import_stmt | global_stmt | exec_stmt | assert_stmt)
expr_stmt: testlist_star_expr (annassign | augassign (yield_expr|testlist) |
('=' (yield_expr|testlist_star_expr))*)
annassign: ':' test ['=' test]
testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [',']
augassign: ('+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^=' |
'<<=' | '>>=' | '**=' | '//=')
# For normal and annotated assignments, additional restrictions enforced by the interpreter
print_stmt: 'print' ( [ test (',' test)* [','] ] |
'>>' test [ (',' test)+ [','] ] )
del_stmt: 'del' exprlist
pass_stmt: 'pass'
flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
break_stmt: 'break'
continue_stmt: 'continue'
return_stmt: 'return' [testlist]
yield_stmt: yield_expr
raise_stmt: 'raise' [test ['from' test | ',' test [',' test]]]
import_stmt: import_name | import_from
import_name: 'import' dotted_as_names
import_from: ('from' ('.'* dotted_name | '.'+)
'import' ('*' | '(' import_as_names ')' | import_as_names))
import_as_name: NAME ['as' NAME]
dotted_as_name: dotted_name ['as' NAME]
import_as_names: import_as_name (',' import_as_name)* [',']
dotted_as_names: dotted_as_name (',' dotted_as_name)*
dotted_name: NAME ('.' NAME)*
global_stmt: ('global' | 'nonlocal') NAME (',' NAME)*
exec_stmt: 'exec' expr ['in' test [',' test]]
assert_stmt: 'assert' test [',' test]
compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | async_stmt
async_stmt: ASYNC (funcdef | with_stmt | for_stmt)
if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
while_stmt: 'while' test ':' suite ['else' ':' suite]
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
try_stmt: ('try' ':' suite
((except_clause ':' suite)+
['else' ':' suite]
['finally' ':' suite] |
'finally' ':' suite))
with_stmt: 'with' with_item (',' with_item)* ':' suite
with_item: test ['as' expr]
with_var: 'as' expr
# NB compile.c makes sure that the default except clause is last
except_clause: 'except' [test [(',' | 'as') test]]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
# Backward compatibility cruft to support:
# [ x for x in lambda: True, lambda: False if x() ]
# even while also allowing:
# lambda x: 5 if x else 2
# (But not a mix of the two)
testlist_safe: old_test [(',' old_test)+ [',']]
old_test: or_test | old_lambdef
old_lambdef: 'lambda' [varargslist] ':' old_test
test: or_test ['if' or_test 'else' test] | lambdef
or_test: and_test ('or' and_test)*
and_test: not_test ('and' not_test)*
not_test: 'not' not_test | comparison
comparison: expr (comp_op expr)*
comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is' 'not'
star_expr: '*' expr
expr: xor_expr ('|' xor_expr)*
xor_expr: and_expr ('^' and_expr)*
and_expr: shift_expr ('&' shift_expr)*
shift_expr: arith_expr (('<<'|'>>') arith_expr)*
arith_expr: term (('+'|'-') term)*
term: factor (('*'|'@'|'/'|'%'|'//') factor)*
factor: ('+'|'-'|'~') factor | power
power: [AWAIT] atom trailer* ['**' factor]
atom: ('(' [yield_expr|testlist_gexp] ')' |
'[' [listmaker] ']' |
'{' [dictsetmaker] '}' |
'`' testlist1 '`' |
NAME | NUMBER | STRING+ | '.' '.' '.')
listmaker: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
testlist_gexp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] )
lambdef: 'lambda' [varargslist] ':' test
trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
subscriptlist: subscript (',' subscript)* [',']
subscript: test | [test] ':' [test] [sliceop]
sliceop: ':' [test]
exprlist: (expr|star_expr) (',' (expr|star_expr))* [',']
testlist: test (',' test)* [',']
dictsetmaker: ( ((test ':' test | '**' expr)
(comp_for | (',' (test ':' test | '**' expr))* [','])) |
((test | star_expr)
(comp_for | (',' (test | star_expr))* [','])) )
classdef: 'class' NAME ['(' [arglist] ')'] ':' suite
arglist: argument (',' argument)* [',']
# "test '=' test" is really "keyword '=' test", but we have no such token.
# These need to be in a single rule to avoid grammar that is ambiguous
# to our LL(1) parser. Even though 'test' includes '*expr' in star_expr,
# we explicitly match '*' here, too, to give it proper precedence.
# Illegal combinations and orderings are blocked in ast.c:
# multiple (test comp_for) arguments are blocked; keyword unpackings
# that precede iterable unpackings are blocked; etc.
argument: ( test [comp_for] |
test '=' test |
'**' test |
'*' test )
comp_iter: comp_for | comp_if
comp_for: [ASYNC] 'for' exprlist 'in' testlist_safe [comp_iter]
comp_if: 'if' old_test [comp_iter]
testlist1: test (',' test)*
# not used in grammar, but may appear in "node" passed from Parser to Compiler
encoding_decl: NAME
yield_expr: 'yield' [yield_arg]
yield_arg: 'from' test | testlist
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Pic to Code.zip (96个子文件)
Pic to Code
unicodedata.pyd 1.02MB
Pic to Code v0.4.1.exe.manifest 1KB
api-ms-win-crt-math-l1-1-0.dll 27KB
libcrypto-1_1-x64.dll 3.25MB
Include
pyconfig.h 20KB
_cffi_backend.cp37-win_amd64.pyd 177KB
api-ms-win-core-debug-l1-1-0.dll 18KB
api-ms-win-core-timezone-l1-1-0.dll 19KB
_multiprocessing.pyd 22KB
cryptography
hazmat
bindings
_openssl.cp37-win_amd64.pyd 750KB
_constant_time.cp37-win_amd64.pyd 13KB
zlib.dll 83KB
base_library.zip 767KB
_win32sysloader.pyd 11KB
api-ms-win-core-localization-l1-2-0.dll 21KB
api-ms-win-crt-convert-l1-1-0.dll 22KB
certifi
cacert.pem 277KB
win32wnet.pyd 34KB
api-ms-win-crt-process-l1-1-0.dll 19KB
_bz2.pyd 80KB
win32com
shell
shell.pyd 522KB
_socket.pyd 67KB
api-ms-win-core-profile-l1-1-0.dll 18KB
_lzma.pyd 244KB
api-ms-win-crt-locale-l1-1-0.dll 19KB
api-ms-win-core-string-l1-1-0.dll 18KB
_queue.pyd 20KB
api-ms-win-core-processthreads-l1-1-1.dll 19KB
mfc140u.dll 5.78MB
python37.dll 3.58MB
api-ms-win-core-rtlsupport-l1-1-0.dll 19KB
api-ms-win-crt-stdio-l1-1-0.dll 24KB
api-ms-win-crt-conio-l1-1-0.dll 19KB
_ssl.pyd 113KB
screen capture
pic.ico 66KB
Capture.exe 948KB
cryptography-2.9.2-py3.7.egg-info
top_level.txt 46B
LICENSE.PSF 2KB
WHEEL 106B
LICENSE 352B
METADATA 5KB
LICENSE.APACHE 11KB
AUTHORS.rst 2KB
LICENSE.BSD 1KB
RECORD 15KB
INSTALLER 4B
api-ms-win-crt-time-l1-1-0.dll 21KB
win32trace.pyd 21KB
api-ms-win-core-synch-l1-2-0.dll 19KB
liblzma.dll 151KB
tiff.dll 623KB
_decimal.pyd 256KB
api-ms-win-core-sysinfo-l1-1-0.dll 19KB
api-ms-win-core-processenvironment-l1-1-0.dll 19KB
_hashlib.pyd 31KB
_ctypes.pyd 124KB
libssl-1_1-x64.dll 667KB
PIL
_imagingtk.cp37-win_amd64.pyd 15KB
_imaging.cp37-win_amd64.pyd 608KB
api-ms-win-crt-runtime-l1-1-0.dll 23KB
api-ms-win-core-handle-l1-1-0.dll 18KB
VCRUNTIME140.dll 83KB
api-ms-win-crt-utility-l1-1-0.dll 19KB
api-ms-win-core-memory-l1-1-0.dll 19KB
api-ms-win-core-errorhandling-l1-1-0.dll 18KB
api-ms-win-crt-multibyte-l1-1-0.dll 26KB
api-ms-win-core-heap-l1-1-0.dll 19KB
api-ms-win-crt-environment-l1-1-0.dll 19KB
lib2to3
PatternGrammar.txt 793B
Grammar.txt 6KB
Grammar3.7.7.final.0.pickle 31KB
PatternGrammar3.7.7.final.0.pickle 2KB
api-ms-win-crt-filesystem-l1-1-0.dll 20KB
api-ms-win-core-file-l1-1-0.dll 22KB
api-ms-win-crt-string-l1-1-0.dll 24KB
api-ms-win-core-file-l2-1-0.dll 18KB
api-ms-win-core-util-l1-1-0.dll 18KB
api-ms-win-core-namedpipe-l1-1-0.dll 18KB
pythoncom37.dll 544KB
win32ui.pyd 1.38MB
api-ms-win-core-synch-l1-1-0.dll 20KB
ucrtbase.dll 993KB
api-ms-win-crt-heap-l1-1-0.dll 19KB
api-ms-win-core-file-l1-2-0.dll 18KB
win32api.pyd 130KB
Pic to Code v0.4.1.exe 3.5MB
pywintypes37.dll 135KB
api-ms-win-core-libraryloader-l1-1-0.dll 19KB
api-ms-win-core-interlocked-l1-1-0.dll 18KB
libzstd.dll 372KB
api-ms-win-core-processthreads-l1-1-0.dll 20KB
result.txt 870B
api-ms-win-core-datetime-l1-1-0.dll 18KB
pyexpat.pyd 188KB
api-ms-win-core-console-l1-1-0.dll 19KB
select.pyd 19KB
共 96 条
- 1
资源评论
- 江山一隅2020-12-23并不能用,识别以后没有代码出现
- 随便叫什么。2022-05-01怎么装
- liukaili2020-12-24效果不太好,感谢分享!!!
Kerry_6
- 粉丝: 766
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功