首页 > 通俗地讲, 解析文本有哪些方式, 怎样进行的?

通俗地讲, 解析文本有哪些方式, 怎样进行的?

以前稍微接触了想, 工作以后朋友给补了一些知识, 但没有很清晰了解过,
因为前边写的一些练习, 加上上周写 Pygments 插件看的抽象的思路, 突然有点感悟,

Pygments 的方式这这样的, 简单地假想:
先有一个数组, 作为存放各种状态的栈, 从 root 栈开始,
随后定义一个系列状态, 以及匹配到各种字符串状态怎样切换,
比如遇到 " 往状态里 push 一个 'string',
随后用正则匹配内容, 适当往 'string' 栈里记录数据,
直到再次遇到关闭的 " 标记, 退出 'string' 这个栈, 继续后边的匹配,
看起来非常清晰.

我想知道是否有其他的方案也能对字符串进行解析呢, 简单的思路是怎样的?


简单的讲,实现一个语法分析器,可参见antlr,你写出文法描述文档,然后用antlr工具,生成语法解析器。

【热门文章】
【热门文章】