iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1
Software Development

自己的玩具自己做 - 自製程式語言系列 第 5

自製程式語言 Day 05 - 改變風格,從 OO 到 FP

  • 分享至 

  • xImage
  •  

Yes

Youtube 頻道:https://www.youtube.com/c/kaochenlong

如果畫面太小或看不清楚
可移駕至 https://www.youtube.com/watch?v=uxU-r88VAVw 觀看 4K 高畫質版本

GitHub 專案:https://github.com/kaochenlong/cann-lang

如果喜歡這個系列的影片,歡迎訂閱我的頻道
或是想聽我介紹一些別的內容,也可直接在這裡或 YouTube 頁面下方留言 :)


上一篇
自製程式語言 Day 04 - Parser
下一篇
自製程式語言 Day 06 - 處理字串
系列文
自己的玩具自己做 - 自製程式語言9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
良葛格
iT邦新手 2 級 ‧ 2022-09-23 22:08:18

這麼改之後,我看了後面的影片,判斷 token 的規則越來越多時,呈現了瀑布式的流程,如果你的語言開始出現區塊或呈現巢狀,就會更麻煩。

OO 有 OO 好處,例如直譯器模式,每個物件各自處理自己的規則,之後交給下一個,可以避免規則越來越多後,瀑布式的流程等問題:
https://openhome.cc/zh-tw/pattern/behavioral/interpreter/

上面也實現了個簡單的小型語言。

我想你應該知道,OO 與 FP 並不扺觸,也可以適當結合,例如,我土炮這個玩具語言時,大多數是 OO 結合 FP,極為少數情況(為了避免遞迴上限之類),才用了迴圈之類命令式的語法:
https://openhome.cc/zh-tw/toy-lang/

高見龍 iT邦研究生 4 級 ‧ 2022-09-23 22:12:26 檢舉

是的,其實用 OO 應該是比較好寫沒錯,我用 FP 的方式只是想給自己多一點壓力 :)

我要留言

立即登入留言