gpt4 book ai didi

parsing - Python3解析器生成器

转载 作者:行者123 更新时间:2023-12-02 14:50:32 26 4
gpt4 key购买 nike

我正在寻找一个适用于 Python3 的相当复杂的语言(类似于 Python 本身的复杂性)的解析器生成器。如果它可以自动生成 AST,这将是一个额外的好处,但如果它只是在解析时调用规则,我就很好了。我没有特殊要求,也不必非常高效/快速。

最佳答案

LEPL不完全是一个解析器生成器 - 它更好!解析器在 Python 代码中定义并在运行时构建(因此效率较低,但更易于使用)。它使用运算符重载来构造一个非常可读的 DSL。像c = a & b | 这样的东西b & c 表示 BNF c := a b | b c..

您可以将(子)解析器的结果传递给 abritary 可调用对象,这对于 AST 生成非常有用(对于将数字文字转换为 Python 级数字对象也很有用)。它是一个递归下降解析器,因此您最好避免语法中的左递归(有内存对象可以使左递归起作用,但是 "Lepl's support for them has historically been unreliable (buggy)" )。

关于parsing - Python3解析器生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142643/

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