gpt4 book ai didi

python - 如何使用 pyparsing 构建完整的 C 解析器?

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:51 24 4
gpt4 key购买 nike

<分区>

我正在尝试使用 pyparsing 构建一个完整的 C 解析器。

实际上,我的项目想要的是识别我感兴趣的 C 程序中的某些代码行。例如。具有类型转换、指针解引用等的复杂赋值指令。

我想,既然我投入了精力,我将在 pyparsing 中实现 Full C Grammar,并使用我需要的东西。

我引用了这个YACC的C Grammar,按照pyparsing写的(尽我对pyparsing的有限理解)。 http://www.lysator.liu.se/c/ANSI-C-grammar-y.html#translation-unit

然而,我得到的是 pyparsing 陷入无​​限循环。我已经在这里上传了python代码。 https://gist.github.com/gkernel/18cd1d38376d07db989a

我需要这方面的帮助。如果您知道,还请告诉我解决我的问题的替代方法。

编辑:需要明确的是,代码中可能存在错误,但我已经投入精力检查我是否编写了正确的语法。我基本上想问一下 pyparsing 是否可以用于像这样复杂的事情。

我做过的其中一件事是 Forward() 声明了语法中的所有非终结符,我想知道这是否是正确的方法。我这样做是因为 Python 会提示某些名称未定义。

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