通俗地讲, 解析文本有哪些方式, 怎样进行的?
以前稍微接触了想, 工作以后朋友给补了一些知识, 但没有很清晰了解过,
因为前边写的一些练习, 加上上周写 Pygments 插件看的抽象的思路, 突然有点感悟,
Pygments 的方式这这样的, 简单地假想:
先有一个数组, 作为存放各种状态的栈, 从 root
栈开始,
随后定义一个系列状态, 以及匹配到各种字符串状态怎样切换,
比如遇到 "
往状态里 push 一个 'string'
,
随后用正则匹配内容, 适当往 'string'
栈里记录数据,
直到再次遇到关闭的 "
标记, 退出 'string'
这个栈, 继续后边的匹配,
看起来非常清晰.
我想知道是否有其他的方案也能对字符串进行解析呢, 简单的思路是怎样的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简单的讲,实现一个语法分析器,可参见antlr,你写出文法描述文档,然后用antlr工具,生成语法解析器。