iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Software Development

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

自製程式語言 Day 07 - 處理空白字元及註解

  • 分享至 

  • xImage
  •  

Yes

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

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

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

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


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

1 則留言

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

看到這邊用量詞來吃掉空白,讓我想起了之前土炮玩具語言時的經驗。

用 Regular expression 來實現 Tokenizer,一開始可以省很多功夫,也比較容易解釋,不過 Regular expression 終究是個上下文無關語言,在自訂語言的文法日趨複雜時,特別是有前後文關係時,會遇上不少麻煩。

只是要寫個玩具語言,是不用太認真看待這個問題,只是個人經驗參考。

高見龍 iT邦研究生 3 級 ‧ 2022-09-23 23:06:05 檢舉

新手上路,應該等真的遇到的時候就會知道痛了 :)

不過照每天推進的進度來看,說不定 30 天只夠做 Tokenizer 跟 Parser,還做不出會動的東西 orz

良葛格 iT邦新手 2 級 ‧ 2022-09-24 11:21:19 檢舉

想認識運算,推薦看這本:
https://www.tenlong.com.tw/products/9789864766000

其中第九章 Toyland 程式設計,也有寫了個小語言,而且是用 Ruby 實作。

高見龍 iT邦研究生 3 級 ‧ 2022-09-24 17:53:38 檢舉

感謝良葛格推薦,這本有躺在我的書架上,但一直沒翻完,現在再回去看應該會更有感覺 :)

我要留言

立即登入留言