3

目前,我正在(只是为了好玩)研究一种将PHP代码分解为低级源代码的编译器VM

由于类型系统和许多PHP-features 不是那么合乎逻辑,我需要大量测试脚本来验证我的代码在PHP.

PHP我开始使用-sources中的测试来测试所有内容(此处)。但是很多测试不仅是特定于语言的,它们还包含来自网络服务器处理的一些功能(POST 数据等)。是否有任何其他测试可以PHP作为语言进行测试?如果脚本本身是用PHP.

4

2 回答 2

1

如果您正在验证您的语义在 PHP 的 Zend 实现中的行为,那么我建议您构建一个自动化工具来从 PHP 本身的 BNF 生成语法。这样,您将拥有大量表达大部分语义的 .php 文件。确保在生成的文件中包含大量跟踪代码。

然后通过 Zend 实现和您的实现运行它,以确保您获得相同的验证。使用一些损坏的代码生成来确保你也能抓住它。只有当你知道你的实现是正确的(有怪癖)时,你才能继续前进。

http://llvm.org/devmtg/2008-08/Lopes_PHP-JIT-InTwoDays.pdf可能会有所帮助。研究为 LLVM 构建 PHP JIT 的人。可能会提供一些关于他们如何针对现有实现测试语言语法和语义的有效性的信息。

于 2009-05-11T11:35:42.263 回答
0

我可能误解了你,但这可能是你要找的东西?
http://www.simpletest.org/

根据描述,他们将其设计为类似于 JUnit,但用于 php。

于 2009-05-10T14:38:08.120 回答