我一直在研究一種可以編譯到PHP一段時間的元語言的規範/ kitchensink。現在我想開始構建這個東西。在我使用PHP_Lexergenerator和PHP_Parsergenerator實現小型DSL之前,他們工作得很好,但我從來沒有構建過這種規模的任何東西。我將不勝感激您的任何反饋/建議/經驗!實現元語言編譯爲PHP的最佳方式
我粘貼規範在http://pastebin.com/613mFGsB。
我一直在研究一種可以編譯到PHP一段時間的元語言的規範/ kitchensink。現在我想開始構建這個東西。在我使用PHP_Lexergenerator和PHP_Parsergenerator實現小型DSL之前,他們工作得很好,但我從來沒有構建過這種規模的任何東西。我將不勝感激您的任何反饋/建議/經驗!實現元語言編譯爲PHP的最佳方式
我粘貼規範在http://pastebin.com/613mFGsB。
Haxe是一種實現PHP作爲編譯目標的語言。這似乎與你想要達到的目標類似。這是OSS,所以你可以看看他們是如何做到的。
多數民衆贊成在一個非常好的主意,沒有想到,看起來像雖然編譯器在OCaml中我完全空白,但可能有一些有趣的實現細節挖出。 – 2010-03-04 12:19:26
pihipi是一個有趣的例子,但現在我殺了它。所以看看Haxe:Haxe是一種實現PHP作爲編譯目標的語言。這似乎與你想要達到的目標類似。這是OSS,所以你可以看看他們是如何做到的。
哇,這很有趣。我正在瀏覽你的「parser.y」和「lexer.re」文件,發現它們比PHP核心中相應的文件更加美觀。我們的目標看起來非常相似,只有我將大量空白引入混合。在編寫PHP代碼時,您是否仍然每天使用pihipi,或者趣味性和有用性會消失嗎? – 2010-03-04 15:26:35
是的,我猜想創建新編程語言的解析器的最後20%花費時間。 – 2010-03-04 15:49:31
不要讓其他人的類似項目阻止你這樣做。無論你如何得到這個,你真正從這個項目中得到的是對編碼和解析的進一步理解。如果您只是加入現有項目,您將不會深入瞭解這些知識。
我還想指出的是,如果Linux,Ubuntu等原本的製造商簡單地「跳上」其他人的類似項目,就不會存在。不要害怕自己做事,有時候會有偉大的成果。
聽起來像非常可靠的建議!多謝! – 2010-03-04 22:41:05
這方面的進展如何? – musicin3d 2017-10-12 21:10:57
@ musicin3d它成爲https://github.com/runekaagaard/snowscript,它實際上可以將PHP代碼編譯爲PHP。當我用1.0版本完成90%時,我已經停止使用PHP並失去興趣。 – 2017-10-16 20:12:11