-1

与某些语言相比,PHP 的语法有点长(例如,在 java 中调用一个对象的方法是用句点 (.) 而不是 phps (->) 来完成的)。

我一直想编写自己的语言,但我只是一年级的本科生,而且知识渊博,无法编写将某些内容转换为 Java VM 或其他内容的字节码的解析器。

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

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

所以既然我有证据证明它是可能的。我的问题是:我真的可以制作一些可以用于未来项目的东西吗?例如,我可以让它和 PHP 一样快或几乎一样快吗?

我将尝试任何一种方式,只是为了更多地了解 PHP 以及语言是如何组合在一起的,但我想知道我是否真的可以将最终结果变成值得该死的东西。

4

1 回答 1

1

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

还有其他人对其他语言有相同的想法。例如,看一下CoffeeScript,它基本上是相同的想法,但用于 Javascript。

您可以完成这项工作,但您必须考虑转换过程。如果您正在寻找性能,您不希望在每个请求上都实时完成。因为添加复杂层只会减慢您的代码速度。哪怕只是一点点。为了弥补这一点,CoffeeScript 提供了一个用于预编译的命令行“编译器”,但也允许延迟加载情况——这非常适合开发目的。这样的设置也可能对您有用。

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

祝你好运!;)

于 2011-03-18T06:29:16.833 回答