PHP形式语义?

jam*_*her 6 php formal-semantics

我的任务是学习PHP,但有很多事情我不明白.例如,"变量函数"的概念不是我在其他任何地方看到过的.还有很多其他的例子,但为了简洁起见,我发现了PHPWTF,它有许多PHP特性的例子.

我使用的大多数其他语言都有正式规范(例如,Haskell 2010)或至少有关于其形式语义的研究论文(例如,这适用于Javascript).但是,我找不到任何可比的PHP.

有一个官方的"语言参考".但是,它非常非正式,读起来像一个维基,并且缺少整个部分(例如,关于语法的部分根本没有定义语法).确认我怀疑的是,这个人告诉我没有正式的规范,甚至没有定义的语法.

维基百科有一篇关于"PHP语法和语义"的文章,但它只涉及语法,几乎没有提到语义.

我在PHP 上发现的一篇论文是关于它的赋值语义的论文.这是该语言的一个非常小的片段,如果没有某些语境,可能对我没什么用处.还有关于'SaferPHP'的论文,它可能与PHP的一些定义有关,虽然我看不到任何.

口译员/编译器提供语义,所以我想看看这些.然而,Zend源是令人生畏的(虽然它确实提供了有用的测试用例),而HipHop则运行到270万LoC.(我发现人们为编写一种语言的编译器付出了巨大的努力而没有编写类似规范的东西.)

我想过为PHP寻找类型系统的指导,就像TypeScript为JavaScript提供一些指导一样.我在Hack上发现了这些诱人的幻灯片,Hack是PHP的可选类型系统.然而,它只是幻灯片,而且此时项目似乎是Facebook的内部项目.

有谁知道比这些穷人的语义更好的东西?或者每个人都只是"通过实例学习"?

小智 2

这个答案是在您最初的问题之后出现的,但现在我们终于有了 PHP 的正式语义。查看: http: //www.phpsemantics.org。最近在 ECOOP 2014 论文集上发表了一篇关于它的论文,如果您有兴趣,可以在我链接的网页中找到链接。问候。