19

我想知道是否有人在某处为 PHP 编译了 EBNF。我找到了这个站点这个站点。不过,两者似乎都不完整。这个问题非常相似,但已经有一年了。我想知道是否有任何进展。

4

4 回答 4

14

您可能想看看PHP 内部使用的 yacc 语法。我知道,这不是 EBNF,但也许可以满足您的需求。

您可能还想查看re2c 词法分析器定义

于 2012-01-19T18:54:02.713 回答
8

我从中获取以下链接的网站是意大利语的,但我们有:

于 2012-01-19T18:33:43.810 回答
1

ANTLR 4 PHP 语法也可用:https ://github.com/antlr/grammars-v4/tree/master/php 。

特征

  • 异构代码处理():
    • HTML
    • 脚本
    • CSS
    • PHP
    • 赫雷多克
  • 替代语法
  • 赫雷多克
  • 插值字符串(但未完全覆盖)。
  • asp标签。
  • 使用人工字符串片段改进了词法分析器错误处理(例如末尾的双闭引号:)<div attr='value'' />

测试

语法已在以下项目中经过测试(解析无误):

此外,该解析器已经在来自不同 CMS 的大量 PHP 文件(约 70000 个文件)上进行了测试。

于 2018-05-02T22:17:45.620 回答
0

她可以使用 ANTLR3 语法:

  http://code.google.com/p/phpparser/

上述语法与当前的 ANTLR 版本ANTLR4不兼容。

于 2013-09-15T21:20:55.203 回答