用Python實現《計算的本質:深入剖析程式和計算機》中的程式碼
《計算的本質:深入剖析程式和計算機》是本不可多得的好書!才讀完前面三章,書中利用Ruby語言實現了一個簡單的程式語言,一個完整的有限自動機!但Ruby語言我不是很熟悉,於是在一邊讀書的同時,我就順手用Python語言重寫了書中的程式碼,目前是第五章的程式碼寫完了!持續更新,連結如下:
第 2 章 程式的含義
2.3.1 小步語義 - 表示式
https://github.com/cforth/toys/blob/master/Simple/Machine2.3.1-1.py
2.3.1 小步語義 - 語句
https://github.com/cforth/toys/blob/master/Simple/Machine2.3.1-2.py
2.3.2 大步語義
https://github.com/cforth/toys/blob/master/Simple/Evaluate2.3.2.py
2.4 指稱語義
https://github.com/cforth/toys/blob/master/Simple/Denotation2.4.py
第 3 章 最簡單的計算機
3.1 確定性有限自動機
https://github.com/cforth/toys/blob/master/Automaton/DFA3.1.py
3.2 非確定性有限自動機
https://github.com/cforth/toys/blob/master/Automaton/NFA3.2.py
3.3 正規表示式
https://github.com/cforth/toys/blob/master/Automaton/Pattern3.3.py
3.4 等價性
https://github.com/cforth/toys/blob/master/Automaton/NFASimulation3.4.py
第 4 章 增加計算能力
4.1 確定性下推自動機
https://github.com/cforth/toys/blob/master/Automaton/DPDA4.1.py
4.2 非確定性下推自動機
https://github.com/cforth/toys/blob/master/Automaton/NPDA4.2.py
4.3.1 使用下推自動機進行分析 - 詞法分析
https://github.com/cforth/toys/blob/master/Automaton/LexicalAnalyzer4.3.1.py
4.3.2 使用下推自動機進行分析 - 語法分析
https://github.com/cforth/toys/blob/master/Automaton/GrammarAnalyzer4.3.2.py
第 5 章 終極機器
5.1 確定型圖靈機
https://github.com/cforth/toys/blob/master/Turing/DTM.py
第 6 章 從零開始程式設計
6.1 模擬lambda演算
https://github.com/cforth/toys/blob/master/LambdaCalculus/lambda6.1.py
6.1 FizzBuzz遊戲
https://github.com/cforth/toys/blob/master/LambdaCalculus/FizzBuzz.py
持續更新中...
相關文章
- 計算機程式的思維邏輯 (23) – 列舉的本質計算機
- 用python和計算機對話(計算機的語句)Python計算機
- python的個稅計算程式碼Python
- Contravariance 概念在計算機程式設計中的應用計算機程式設計
- 用Python開發實用程式 – 計算器Python
- 計算機程式的思維邏輯 (50) – 剖析EnumMap計算機
- 計算機程式的思維邏輯 (41) – 剖析HashSet計算機
- 計算機程式的思維邏輯 (29) – 剖析String計算機
- 計算機程式的思維邏輯 (30) – 剖析StringBuilder計算機UI
- 計算機程式的思維邏輯 (43) – 剖析TreeMap計算機
- 計算機程式的思維邏輯 (44) – 剖析TreeSet計算機
- Python 計算程式執行多久程式碼Python
- 深入理解計算機系統:程式計算機
- 使用SQL實現車流量的計算的示例程式碼SQL
- 程式設計師的計算機配置程式設計師計算機
- 深入理解計算機中的原碼、補碼、反碼計算機
- 用 150 行 Python 程式碼寫的量子計算模擬器Python
- C++ 實現簡略計算π的程式C++
- 計算機執行彙編程式碼的原理計算機
- 計算圓的面積程式碼
- 計算機二級python指導用書程式設計題答案計算機Python程式設計
- 計算機程式的思維邏輯 (47) – 堆和PriorityQueue的應用計算機
- 計算機軟著的程式碼文件怎麼做?計算機
- 計算機原理:程式管理計算機
- 關於《深入理解計算機系統》 程式碼是怎麼執行的計算機
- 批次計算遙感影像NDVI:Python程式碼Python
- 計算機學院的老師實際程式設計能力如何?計算機程式設計
- word2vec實現域名向量化並計算相似度-python程式碼Python
- 網格人為干擾度計算方法的matlab程式碼實現Matlab
- 計算機程式設計心得總結計算機程式設計
- 10 早期計算機如何程式設計計算機程式設計
- Java (計算機程式語言)Java計算機
- 自學程式設計和計算機科班出身的差別在哪?程式設計計算機
- 用c++實現淨現值的計算C++
- 3.python程式設計與計算機的關係,如何執行python檔案Python程式設計計算機
- HUST-計算機網路實驗-socket程式設計計算機網路程式設計
- 計算機程式的思維邏輯 (34) – 隨機計算機隨機
- 計算機視覺 | Matlab實現單目視覺里程計基於SURF特徵(程式碼類)計算機視覺Matlab特徵
- 程式設計必備基礎 計算機組成原理+作業系統+計算機網路,計算機基礎——更適合程式設計師的程式設計必備基礎知識作業系統計算機網路程式設計師