如何实现属于自己的语言
我们总是纠结于语言的不足,所以有能人会自己实现的语言。
那么,如果我想实现一种语言,我该怎么去做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我们总是纠结于语言的不足,所以有能人会自己实现的语言。
那么,如果我想实现一种语言,我该怎么去做?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
先去熟悉現有的語言。
面向過程的
面向對象的
函數式編程
以及神一樣的 Lisp 和背後的 Lambda 演算。
然後,你會發現,沒有一款編程語言能超越 Lisp。但是卻很少有人用它去生產。
小時候也有你的想法。那時候我剛開始學 Visual Basic,連 C 都不會。後來才發現,很多當初覺得不足的地方,恰恰是這門語言成爲這門語言的原因,也是這門語言的優勢所在。
當你熟悉了天下絕大多數種類的語言,然後,如果你還能發現,有一種語言,它還未出現,卻能滿足其它所有語言難以滿足的需求。這時候,你可以開發真正屬於自己的語言了。
如果不是這樣的話,僅僅是爲了增強現有的語言,完全沒必要從 0 開始。
現有的解析器編譯器完全可以復用,唯一要做的,只是略微修改語法。(不過有時候是因爲這樣做工作量太大沒人願意做,比如 PHP 對
func()[index]
語法的支持)或者用全新的但現有的開源架構,比如 LLVM。