2024年PHP日本大会

简介

警告

此扩展处于实验性阶段。此扩展的行为,包括其函数名称以及围绕此扩展的任何其他文档,都可能在PHP的未来版本中发生更改,恕不另行通知。使用此扩展需自行承担风险。

Parle扩展提供通用的词法分析和解析功能。其实现基于» Ben Hanson的库,并需要支持» C++14的编译器。词法分析器基于正则表达式匹配,解析器为LALR(1)。词法分析器和解析器是动态生成的,并在完成之后即可立即使用。Parle处理解析和词法分析,适当的数据结构表示和处理是实现者的任务。序列化和代码生成尚未被此扩展支持。

词法分析是将字符序列拆分为一系列词素的过程。然后,可以将词素列表用于针对形式语法的语法分析。这些操作也称为词法分析和解析。本文档并非旨在提供关于词法分析和解析的详尽信息。这方面的大量信息可在网络上的众多资源中找到。其中包含几个使用示例,以展示其功能。对于希望学习或使用解析和词法分析的PHP程序员来说,此扩展非常有用。无需手动实现状态机和语法解析,Parle消除了这些复杂的任务。因此,开发可以专注于实际问题的解决。

Parle的常见用例是当数据格式过于复杂,无法通过使用PCRE的正则表达式匹配来处理时。其实际应用非常广泛。无论是特定数据格式、现有函数的行为修改,甚至是自己的编程语言等等。诸如Parle\Lexer::dump()(用于检查生成的有限状态机)或Parle\Parser::dump()(用于检查生成的语法)之类的辅助方法非常有用。Parle\Parser::trace()方法也可用于跟踪解析操作。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top