Mah*_*hdi 2 php compiler-construction
几年前,我开始研究一些关于编程语言的想法,因为我对它们感到非常兴奋,我只想看看它们是如何工作的,所以我决定为此编写一个非常简单的编译器.由于我在PHP中更舒适,更有经验,我只是看看是否可以用PHP编写编译器,很快就发现是的,这是可能的.所以我开始制作它,幸运的是一切都很好,现在它工作正常.
那些日子我只想要一个地方开始研究我的想法,并且由于PHP开发速度很快(不需要编译),我手上还有MySQL,调试非常简单,等等.
现在我想扩展这个简单的编译器,这就是我需要你的建议.我的主要问题是"PHP是编译器项目的正确工具吗?".假设我不会公开发布它,所以只要考虑PHP处理任务的能力,而不是像分发那样的其他问题.
我相信它有一些优点.它开发速度很快,我只是编辑代码并按下浏览器上的F5,然后我就得到了我的二进制输出.我还在那里制作了一个文本框,我可以在那里编写简单的代码,按下提交,然后我再次获得二进制输出.在MySQL中保存和处理解析数据也很快.但是现在我更担心脚本超时.如果要编译10,000行源代码,我猜它会超时.我知道我可以增加超时,但仍然担心.另外我知道PHP作为一种脚本语言(正如我所听到的)慢了10倍而不是编译应用程序.
所以,你认为我必须关闭C吗?(我也可以这样做)...或者你有什么想法,如果我可以继续我的PHP后端,但处理更严重的事情,而不是面临严重的错误?
更新:
是! 该项目是个人和乐趣.你也可以考虑一下!
关于应用基于PHP的编译器,是的,它不是一个真实世界的编译器,但想象一下,如果你想与他人分享你的想法,这将是巨大的,如果你给他们一个web形式来写自己的代码,按下按钮并下载二进制代码.然而,这不是我的目标,我只是想知道这一点.
关于Lex/Yacc,我的想法更多的是关于优化最终的二进制代码,所以我需要的不仅仅是通过Lex/Yacc生成二进制代码.
PHP不是编写编译器的理想环境.它可行吗?当然.你应该这样做吗?我强烈反对用PHP这样的高级语言编写编译器.我也反对不必要地重新发明轮子.
如果它很有趣,我会说它,但我目前没有看到PHP驱动编译器的任何实际用途.