使用 PLY 解析 python
我正在尝试编写一个 python 解析器,在我看来它可以解析“if 语句”,但事实并非如此。 它向我显示“语法错误”消息。
有人可以告诉我我做错了什么吗?
提前致谢。
代码在这里: https://github.com/narke/py2neko
我像这样修改了输入字符串:
s = '''if 5:
print 10
else:
print 20 \n'''
check_syntax(s)
输出是:
Syntax error at '5'
atom: 10
factor None
None
cmp: None None
atom: 20
factor None
None
cmp: None None
simple_stmt: None
I'm trying to write a python parser, and in my opiniion it could parse an "if statement" but it doesn't.
It shows me a "syntax error" message.
Can someone tell me what I'm doing wrong?
Thanks in advance.
The code is here: https://github.com/narke/py2neko
I modified the input string like this:
s = '''if 5:
print 10
else:
print 20 \n'''
check_syntax(s)
and the output is:
Syntax error at '5'
atom: 10
factor None
None
cmp: None None
atom: 20
factor None
None
cmp: None None
simple_stmt: None
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从您的代码来看:
if 5:\n
不是有效的语法,因为它不是完整的if
语句。如果表达式为 True,您需要提供一个套件(要执行的代码)。例如:From your code:
if 5:\n
is not valid syntax because it is not a completeif
statement. You need to provide a suite (code to execute) if the expression isTrue
. For example: