gpt4 book ai didi

采用 BNF 定义并进行相应解析的 C 库?

转载 作者:行者123 更新时间:2023-12-02 03:30:17 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我正在寻找一个库,它可以接受一个定义 BNF 的字符串和另一个具有要解析的文本的字符串,并根据前者解析后者。请注意,我不想要需要以源代码形式编写定义然后需要编译的东西

最佳答案

libmarpa它实现了 Marpa algorithm , 做一般的 BNF 解析。但是,它不接受 BNF 作为字符串——您需要从字符串和词法分析器构建语法,例如,在这个 JSON parser 中.

只有你所要求的一半,但可以说是最难的一半。

同时,Marpa::R2基于 libmarpa 正是您所需要的——需要
一个描述 BNF 和词法分析器规则并构建识别器的字符串——一个可以直接用于生成 AST 或通过语义操作对其进行评估的解析器。

有努力方便地包装libmarpa来做你所说的1 , 2 .

还有一个Kollos project旨在使用 Lua 扩展和包装 libmarpa。

希望能帮助到你。

关于采用 BNF 定义并进行相应解析的 C 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27340329/

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