2010-03-04 53 views
4

我一直在研究一种可以编译到PHP一段时间的元语言的规范/ kitchensink。现在我想开始构建这个东西。在我使用PHP_Lexergenerator和PHP_Parsergenerator实现小型DSL之前,他们工作得很好,但我从来没有构建过这种规模的任何东西。我将不胜感激您的任何反馈/建议/经验!实现元语言编译为PHP的最佳方式

我粘贴规范在http://pastebin.com/613mFGsB

+1

这方面的进展如何? – musicin3d 2017-10-12 21:10:57

+0

@ musicin3d它成为https://github.com/runekaagaard/snowscript,它实际上可以将PHP代码编译为PHP。当我用1.0版本完成90%时,我已经停止使用PHP并失去兴趣。 – 2017-10-16 20:12:11

回答

4

Haxe是一种实现PHP作为编译目标的语言。这似乎与你想要达到的目标类似。这是OSS,所以你可以看看他们是如何做到的。

+0

多数民众赞成在一个非常好的主意,没有想到,看起来像虽然编译器在OCaml中我完全空白,但可能有一些有趣的实现细节挖出。 – 2010-03-04 12:19:26

2

pihipi是一个有趣的例子,但现在我杀了它。所以看看Haxe:Haxe是一种实现PHP作为编译目标的语言。这似乎与你想要达到的目标类似。这是OSS,所以你可以看看他们是如何做到的。

+0

哇,这很有趣。我正在浏览你的“parser.y”和“lexer.re”文件,发现它们比PHP核心中相应的文件更加美观。我们的目标看起来非常相似,只有我将大量空白引入混合。在编写PHP代码时,您是否仍然每天使用pihipi,或者趣味性和有用性会消失吗? – 2010-03-04 15:26:35

+0

是的,我猜想创建新编程语言的解析器的最后20%花费时间。 – 2010-03-04 15:49:31

5

不要让其他人的类似项目阻止你这样做。无论你如何得到这个,你真正从这个项目中得到的是对编码和解析的进一步理解。如果您只是加入现有项目,您将不会深入了解这些知识。

我还想指出的是,如果Linux,Ubuntu等原本的制造商简单地“跳上”其他人的类似项目,就不会存在。不要害怕自己做事,有时候会有伟大的成果。

+0

听起来像非常可靠的建议!多谢! – 2010-03-04 22:41:05