用rust寫乙個玩具直譯器0

2021-10-02 13:33:27 字數 293 閱讀 9003

假期閒來無事, 看了thorsten ball的writing an interpreter in go, 他還有一本寫編譯器的暫時沒看, 跟著書上的**寫了一遍, 想著用rust重寫一遍, 現在正在寫eval部分.

writing an interpreter in go

我對go的感覺如它宣傳的一般, 21世紀的c語言, 用go寫了乙個小web程式, 感覺比flask好上手快多了

go的優點

go的缺點

我剛開始學rust,感覺這是一門很神奇的語言優點

缺點 鍛鍊自己的程式設計水平

使用Rust寫乙個累加器

需求如下 有乙個函式 foo,接受引數 n,返回乙個閉包 該閉包接受引數 i,返回 n i。用法 let f foo n 得到乙個閉包 let v f i 呼叫閉包並傳入引數i,得到值v具體型別版本總是比泛型版本更容易理解,因此我的第乙個版本是具體型別的,它只接受 i32 型別,並且工作的很好 fn...

論用C語言寫乙個PE直譯器(3)

可能在上篇文章中,有讀者會有疑問,可不可以用file檔案指標來進行操作呢?這麼簡單直接 理論上是可以的,但是需要知道的一點是,file其實是一種結構體,它包含了描述檔案的一些資訊。因此通過file來進行檔案操作其實會多出一些轉換。但這一點其實還好,比較重要的是,因為使用的指標是檔案指標,所以中間可能...

論用C語言寫乙個PE檔案直譯器(1)

因為在初學pe檔案格式的時候吃了很多的苦,這裡想用一種通俗易懂的方式來講解這麼個東西。而這第一篇,準備先不或瑣碎或系統性地講一講知識性的東西 我們來談一談pe檔案結構的本質 pe檔案的全稱是portable executable file 可移植的可執行檔案。最常見的就比如我們的exe檔案,還有如d...