自定义PHP解释器?

时间:2011-03-17 23:34:25

标签: php syntax transpiler

好的,这是一个好的,

我喜欢php并认为它确实是最好的语言。但是与某些语言相比,它的语法有点长(例如,在java中调用一个对象的方法是用句点(。)而不是phps( - >)完成的)。 而且我确定这只是挑选,但请与我裸露。

所以我一直想写自己的语言,但我只是第一年的学士学生,而且我没有足够的知识来编写一个解析器,可以将某些内容转换为Java VM的字节代码或其他东西。

所以相反,我正在考虑用PHP编写一个解析器,将我的语法转换为PHP代码,然后使用正则表达式和东西运行。

原因是: PHP是一种稳定的网站语言(我的语法适合Web开发人员) 我已经在专业级别上了解PHP(或者至少我认为我这样做) 我已经看到了类似的实现:http://tetraboy.com/lolcode/lol_core.phps 这将LolCode转换为PHP。而且我知道它只是一个笑话,但它仍然已经完成了

因为我有证据证明它是可能的。 我的问题是: 我真的可以做一些我可以用于未来项目的东西吗?例如我可以让它像PHP一样快或几乎一样快吗?

我会尝试尝试任何一种方式,只是为了学习更多关于PHP以及如何组合语言的目的,但我想知道我是否真的可以把最终结果变成值得一试的东西。

1 个答案:

答案 0 :(得分:1)

如果有的话,这是一个非常有趣的学习项目。

还有其他人与其他语言有相同的想法。例如,看看CoffeeScript,这与Javascript基本相同。

您可以使这项工作,但您必须考虑转换过程。如果您正在寻找性能,则不希望在每个请求上实时完成此操作。因为添加复杂层会降低代码速度。即使它只是最微小的一点。为了记住这个,CoffeeScript提供了一个命令行“编译器”,用于预编译,但也允许延迟加载情况 - 这很适合开发目的。这样的设置可能对你有用。

您需要查看PHP_LexerGeneratorPHP_ParserGenerator来实现解析器。即使后者不再维持:)

祝你好运! ;)