广义lpeg和ometa启发的解析和打印框架。
glop的Python项目详细描述
广义lpeg和ometa启发的解析和打印框架。
简介
GLOP是对解析表达式语法的一种探索,主要受 lua的LPEG模块和alesandro warth的OMeta项目。当然了 也深受grep和朋友的影响。
它旨在提供几种不同的功能:
- 一个工具和友好的命令行界面,用于搜索 一个la grep,并将它们转换为一个sed、awk、perl-e等等
- 多个语言的库以匹配该工具的功能。
- 为给定语法生成多种语言的分析器的工具
- 图书馆也为上述。
- 用多种语言实现一个非平凡问题的研究。
工作原理
目前,glop可以接受语法并使用very执行它们。 对解析文本执行操作的简单语言。
代码仅在python中实现。
仍需实施的事项
- 分析器生成器。
- 一个生成的解析器,它与手动生成的解析器相匹配(glop需要 能够自行启动)
未决问题
基本上,一切都还没有结束。
lpeg的一个显著特点是它专注于匹配模式, 而不是整个语法关注模式会导致语法 更适合模式,因为终端比非终端更常见