怎樣設計一套程式語言?

時間 2021-05-05 14:48:04

1樓:阿五-哈默迪

我本人對這塊感興趣,但是沒有系統學習過。

設計的前提是思考。是的,你要是不是的思考。我設計程式語言的乙個高峰期是高中時代。那時我甚至上課都在用紙和筆,思考並設計著。

思考的目的是加加減減。你可以試著往你的語言新增某些炫酷的特性。接著,你應該嘗試運用它。要是你發現這個特性帶來混亂時,不要猶豫,立即剔除。

推薦:《程式設計之魂:與27位程式語言創始人的對話》

2樓:

我覺得任何語言都可以編譯為機器可讀的2進製命令,包括一切解釋語言。對於不能切離執行時的語言解釋,那麼要做的就是把執行時和低階指令也一起編譯而已。

3樓:Belleve

從型別系統開始:

分型別嗎?

有積型別嗎?

有和型別嗎?

有遞迴型別嗎?

有引數多型嗎?

有依存型別嗎?

有子型別關係嗎?

能居留皮爾士律(Pierce Law)嗎?

4樓:rainoftime

無事莫跳語言坑

LL、LR之類的語法分析只是繁雜,而語義分析的各種細節才是繁難,而且不好測試;

實現複雜的type system(譬如Haskell、Scala這樣的)需要相當的功底,所以業餘愛好者開發的語言(譬如Python、PHP)很多是動態型別的,且早期版本往往比較低效;

優化要考慮的東西特別多,即便有了LLVM等工具,還是需要自己做High Level的優化以及Runtime的設計;。。。

如何設計一套紙幣面值方案?

劉添億 我寫乙個函式,求解配湊某乙個金額需要多少紙幣。對於整數比值,我可以用dec2base函式求出。由於我最終要求乙個小數比值的情況,所以我自己寫了乙個函式。函式的本質就是進製轉換。我把10進製的數,轉換為q進製的數,配湊金額的時候只舍不入,這時候q進製數,每一位的數字和,就是湊成某個金額所需的紙...

如何建立一套 UI 設計規範?

郝小七 適用於0到1的初創產品 1到1.1的迭代產品 1.收集場景 給已經趨於成熟的產品整理規範,第一步就是要先收集場景。以對話方塊為例,對話方塊可能出現的地方很多,型別也各有不同,在沒有規範之前,產品中可能會有各種各樣的對話方塊,每個設計師做的可能都有些差別,所以第一步,是把產品中所有出現過的對話...

如何看待口是心非的人,當面一套背後一套?

匿名答一下,這種問題說起來就生氣。身邊就有這樣的人,還是室友,每天抬頭不見低頭見,現在已經互相無視了。大一剛入學大家就發現她性格有點不討人喜歡,喜歡耍小性子,還會對大家在A不在的時候說A壞話,在B不在的時候說B壞話,甚至說有小肚子的室友墮過胎,也不尊重其他室友的父母,和寢室裡的其他人小吵不斷,認為我...