用C / C ++编写的PHP词法和语法分析器

时间:2009-02-22 18:55:12

标签: php c++ syntax

我正在Qt4中为我的Master项目编写一个PHP IDE。我试图复制Eclipse或Visual Studio的许多功能,而没有所有的膨胀和开销。我正在尝试完成一些代码,但我需要进行一些语法分析才能完成智能代码。我已经查看了PHP源代码,并考虑在我的代码中编译Zend引擎(并在信用到期时给予信用),但即使在盯着代码几天后我也不知道从哪里开始那个。

有没有人知道某些已经完成此操作的C ++代码,或者是为了自己的目的使用了Zend引擎,还是有一些关于自己编写引擎的建议?

1 个答案:

答案 0 :(得分:2)

PHP甚至没有任何远程接近正式的LALR(1)或LL(k)语法,你可以用它来以适合学术界的方式实现这一点。 Zend的解析器不是上下文感知的,并且充满了我所见过的临时消歧。

这并不是说你不能写一些做简单语法高亮的东西。以this javascript implementation为例。其标记化程序的代码为here,有关项目的活动主题为here