gpt4 book ai didi

python - pyparsing 的 s 表达式解析错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:41 25 4
gpt4 key购买 nike

我正在尝试使用 Python (v3.4.0) 和 pyparsing (v2.0.1) 解析 s 表达式。我对以下代码进行了相当多的思考,但不断收到 ParseException。该代码确实解析了例如“a(”,但无法解析“(a (b))”。

import pyparsing as pp

# S-expression grammar
w = pp.Word(pp.alphanums)
lp = pp.Suppress("(")
rp = pp.Suppress(")")
sexp = pp.Forward()
sexp_list = pp.Forward()
sexp_list << (sexp | (sexp + sexp_list))
sexp << (w | (lp + sexp_list + rp))

s = "(a (b))"

try:
pr = sexp.parseString(s)
print(pr)
except pp.ParseException as e:
print(e)

最佳答案

这个差异对你有用吗?

9,10c9,10
< sexp_list << (sexp | (sexp + sexp_list))
< sexp << (w | (lp + sexp_list + rp))
---
> sexp_list = pp.Group(lp + pp.ZeroOrMore(sexp) + rp)
> sexp << (w | sexp_list)

关于python - pyparsing 的 s 表达式解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com