chrysanthemum- 词法/语法分析框架

网友投稿 874 2022-10-20

chrysanthemum- 词法/语法分析框架

chrysanthemum- 词法/语法分析框架

chrysanthemum (中文名“菊花”)是一个由C++写成的小巧灵活、高度可伸缩、模块化、高性能的词法/语法分析框架。chrysanthemum 是一个纯模板库,包含头文件即可使用,且无任何第三方依赖。

chrysanthemum 不同于YACC和ANLTR等词法/语法分析工具(根据文法文件生成解析器代码),它是一个纯模板库,利用C的表达式模板,模板元编程等技术,使用一系列简介、小巧、灵活的核心类,自动推导并构建出任意复杂的文本解析对象,而且chrysanthemum 允许灵活的嵌入C函数对象作为语义动作,因此具有很好的灵活性和伸缩性。

chrysanthemum 能够极大的简化语法分析器的编写工作,使用户可以在C++环境中“书写”BNF范式从而快速的构造出对应的词法/文法分析器。同时chrysanthemum尽最大努力保证分析器的性能,力求达到近似于纯手工代码的效率。

chrysanthemum 大量使用使用表达式模板技术、模板元编程、C++0X新标准 和 函数式编程思想。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////chrysanthemum 完全以C0X新标准写成,因此只能用于对C0X支持比较好的编译器中,MSVC系列因没有提供可变模板参数的支持,////无法使用。目前仅在GCC4.5和GCC4.6环境下测试通过,WINDOWS环境可以选择使用MINGW。 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////注意:编译时请加上 -std=c0x 参数以打开C0X支持//////////////////////////////////////////////////////////////////////////////

chrysanthemum 很大程度上受到 Joel de Guzman 所编写的boost.spirit库的启发,但是力求更灵活,更高效,且更具收缩性。

本版本(V0.2.1版)是chrysanthemum第一个正式对外发布的版本,必然存在许多不足和缺陷。如果您有好的建议或问题请发送至ioriiod0@gmail.com

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Python+Flask+Echarts】可视化练习题 ---- 餐饮数据柱状图
下一篇:FeignClient实现接口调用方式(不同参数形式)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~