有没有任何免费的解析器生成器生成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++ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |