gpt4 book ai didi

parsing - 寻求一个交互式实用程序来创建上下文无关的解析器语法

转载 作者:行者123 更新时间:2023-12-02 05:31:53 25 4
gpt4 key购买 nike

我想要一个实用程序,我可以给出一段文本(在文本框中)并尝试解析器语法(通过编辑类似的 BNF)和标记结构,同时我可以看到解析树的外观(如果它无法使用我当前的语法解析文本,我会看看它在哪里停止)。

关键词是交互性。例如,我可以使用 flex 和 bison 来做到这一点,但我必须不断地重新创建我的词法分析器和解析器。

有这样的事情吗?我还没有找到。理想情况下,它应该可以在 Linux 上运行并且是免费的,如果这不是一个选择,它仍然值得关注。

最佳答案

你可以使用 GTKSourceView 与 pyBison 和 friend 一起完成它

我还没有看到任何东西,但如果你愿意,你可以编写一个程序来做到这一点。我要么将 Bison 的源代码移植到 DSO,这样您就可以加载它并通过它运行 BNF 并拉出自动机表。然后将评估附加到 GTK-source-view 文本框

-- 或 --

创建一个前端(GTKSourceView 看起来又不错)并将其附加到一些系统调用以写出您的 flex.c 和 bison.c 并形成一些共享对象输出。so 然后将其加载和卸载到应用程序中,您可以然后运行一些源代码。

在开发语法时我倾向于使用pyBison和其他高级语言工具来提高开发速度。然后稍后将 C/Flex/Bison 与 .l 和 .y 文件一起使用。 GTK 在 Python 中应该非常容易使用来实现上述目标,而不需要 DSO 和 dlopen() fandango。

与 Read-Eval-Print 循环非常相似,其中 BNF 和测试语法与一些后端 D/NFA 生成器处于循环中

一段时间后

我发现这回答了另一个问题:

http://jscc.jmksf.com/jscc_on_web.png

它是一个类似于 JavaScript Yacc/Bison 的工具,用于在 JavaScript 中生成解析器。您可以轻松地使用它来调试您的 C 语法,因为无论如何它们都是 BNF!我一定会用它。

关于parsing - 寻求一个交互式实用程序来创建上下文无关的解析器语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/872124/

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