有没有任何免费的解析器生成器生成C代码并正确处理Unicode?

前端之家收集整理的这篇文章主要介绍了有没有任何免费的解析器生成器生成C代码并正确处理Unicode?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在询问 this question之后,我现在出售尝试使用解析器生成器,之前我要手动写东西.

然而,我似乎找不到任何这样的生成C代码的解析器,也不能找到正确处理Unicode的解析器. (请注意,我的输入是在UCS-2 – 我不在乎支持基本多语言平面之外的位,如果这使建立解析器更困难)

有一些可以产生C的解析器,但是这样的解析器似乎把异常安全性抛出窗口,这将阻止我在任何语义动作中使用C.

存在符合这两个原则的解析器生成器,或者我卡住了一切手?

编辑:哦,我的项目是BSL许可的,所以对于使用解析器生成器本身的输出不会有太多的限制.

解决方法

C有两种方法.使用程序,从使用免费格式或使用模板编写的语法生成C文件.

当您在模板类型中编写语法时,您有两种选择.使用boost :: proto,其中每个操作符被重新定义,以在boost :: fusion(boost :: spirit,boost :: msm,boost :: xpressive中使用)中构建一个语法树. (基本思想在这里:Expression Templates)或者用自己的模板建立一个手工编写的表达式树,并直接存储boost :: mpl容器.这款巧克力用于饼干.

在饼干你有

or_<>,seq_<>,char_<>,..

模板.饼干是基于Yard,但扩展了扩展boost ::范围,以获得更好的submatch功能.

The Biscuit Parser Library 1

The Biscuit Parser Library 2

Yet Another Recursive Descent (YARD) parsing framework for C++

猜你在找的C&C++相关文章