我正在寻找一个动态的基于C的解析器/框架。 它必须是动态的,因为EBNF不断变化,像野牛这样的情况在这种情况下不适用。 boost :: spirit对我来说几乎没用,因为它需要C++。关于流C语法分析器
有没有人有想法?
我正在寻找一个动态的基于C的解析器/框架。 它必须是动态的,因为EBNF不断变化,像野牛这样的情况在这种情况下不适用。 boost :: spirit对我来说几乎没用,因为它需要C++。关于流C语法分析器
有没有人有想法?
如果您希望语法在计算运行时发生变化,那么您想要的是Earley-style context free parser。您可以随时更改规则并运行Earley分析算法。
如果语法“缓慢”改变(例如,每天一次),那么您不需要像Earley这样的动态增强解析器;您可以使用传统的解析器生成器并根据需要简单地运行它们。
什么阻止你使用boost :: spirit与包装从C代码中调用它? –
“EBNF在不断变化” - 在运行时? –
只是一个好奇心:你的任务是什么?我在大学的编译器课程中处理过BNF,所以我想知道BNF会不断变化的情况 – dgraziotin