C ++解析代码(手写)

时间:2012-12-13 11:28:35

标签: c++ parsing

我需要解析一种类似于Java的最小化版本的语言。因为效率是我选择手写解析器而不是像GOLD,bison和yacc这样的LRAR解析器生成器的最重要因素。

然而,我找不到好手写解析器背后的理论。看起来这些生成器及其背后的机制只有教程。

我是否必须使用正则表达式?因为我可以成像,与手写的tokiners相比,它们很慢。

有人知道手写解析的好课程或教程吗?

1 个答案:

答案 0 :(得分:0)

如果它有帮助,这里(不是类或教程,但是)手写解析器的一个例子:https://github.com/tabatkins/css-parser(但它明确地编码为与规范的正确/简单对应,而不是针对高性能进行了优化。)

我希望,更大的问题是开发解析规范。解析器规范的示例包括http://dev.w3.org/csswg/css3-syntax/和用于解析HTML5的类似解析器。

使用解析器生成器的先决条件是语法语法已由语法定义(解析器生成器支持语法格式),而不是解析算法。