Youtube 頻道:https://www.youtube.com/c/kaochenlong
如果畫面太小或看不清楚
可移駕至 https://www.youtube.com/watch?v=Ay6HOVQTKyY 觀看 4K 高畫質版本
GitHub 專案:https://github.com/kaochenlong/cann-lang
如果喜歡這個系列的影片,歡迎訂閱我的頻道
或是想聽我介紹一些別的內容,也可直接在這裡或 YouTube 頁面下方留言 :)
看到這邊用量詞來吃掉空白,讓我想起了之前土炮玩具語言時的經驗。
用 Regular expression 來實現 Tokenizer,一開始可以省很多功夫,也比較容易解釋,不過 Regular expression 終究是個上下文無關語言,在自訂語言的文法日趨複雜時,特別是有前後文關係時,會遇上不少麻煩。
只是要寫個玩具語言,是不用太認真看待這個問題,只是個人經驗參考。
新手上路,應該等真的遇到的時候就會知道痛了 :)
不過照每天推進的進度來看,說不定 30 天只夠做 Tokenizer 跟 Parser,還做不出會動的東西 orz
想認識運算,推薦看這本:
https://www.tenlong.com.tw/products/9789864766000
其中第九章 Toyland 程式設計,也有寫了個小語言,而且是用 Ruby 實作。
感謝良葛格推薦,這本有躺在我的書架上,但一直沒翻完,現在再回去看應該會更有感覺 :)