gpt4 book ai didi

python - 使用 Lark 解析获取符号

转载 作者:太空狗 更新时间:2023-10-30 02:26:09 30 4
gpt4 key购买 nike

我正在尝试解析我正在编写的一些伪代码,但在获取符号值时遇到了一些问题。它解析成功,但不会返回与“常规”字符相同的值。这是一个例子:

>>> from lark import Lark
>>> parser = Lark('operator: "<" | ">" | "=" | ">=" | "<=" | "!="', start="operator")
>>> parsed = parser.parse(">")
>>> parsed
Tree(operator, [])
>>> parsed.data
'operator'
>>> parsed.value
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Tree' object has no attribute 'value'

为什么没有值?是否有另一种方法来获取所使用的确切运算符?

最佳答案

这里是 Lark 的作者。 Mike 的回答是准确的,但获得相同结果的更好方法是使用“!”规则前缀:

>>> from lark import Lark
>>> parser = Lark('!operator: "<" | ">" | "=" | ">=" | "<=" | "!="', start="operator")
>>> parser.parse(">")
Tree(operator, [Token(__MORETHAN, '>')])

关于python - 使用 Lark 解析获取符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008954/

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