2009-12-09 88 views
3

问题非常简单:是否可以使用PEG解析PHP? 我想使用PEG解析器生成器来解析PHP。请提供建议。谢谢!是否可以使用PEG解析PHP?

+1

我对PEG不是很熟悉,但我猜想这是可能的。你为什么不试一试(可能从PHP语法的简化版本开始,看它是否可以工作)。 – bcat 2009-12-09 00:13:59

+0

+1感谢您的建议。我会尝试。 – Viet 2009-12-09 06:26:17

回答

4

您可以使大多数解析器技术解析大多数语言,并付出足够的努力。

PEG是否会毫不费力地解析PHP是一个不同的问题。 AFAIK,PHP本身使用Bison(LALR),因此我认为PEG可能会处理由PHP发行版或类似内容提供的语法。如果你打算使用PHP发行版, 为什么不使用他们提供的解析器呢?

如果您不使用PHP发行版,解析PHP的问题很可能很难,因为您必须从联机参考手册 (我去过那里并完成),这是坦率地定义我见过的语言的最糟糕的方式之一:它只是一堆例子。

+0

+1 Hi Ira。非常感谢您的推理。是的,你说得对,使用PHP发布的解析器是最好的选择。不过,我更喜欢PHP的简单性。我会先尝试看看我能走多远。谢谢。 – Viet 2009-12-09 06:25:34

+1

“...我更喜欢PHP,因为它的简单性......”你是说PEG? – 2009-12-09 06:48:06

+1

你还在试图将PHP转换为C++(stackoverflow.com/questions/1090124/...)吗?如果是这样,你可以考虑使用一个已经有完整的PHP解析器的工具,并且可以应用源到源模式规则来执行这样的翻译。请参阅PHP Front End 2009-12-09 06:55:00

相关问题