用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
持續更新中...
相關文章
- 計算機程式的思維邏輯 (19) - 介面的本質計算機
- 計算機程式的思維邏輯 (23) – 列舉的本質計算機
- 計算機程式的思維邏輯 (23) - 列舉的本質計算機
- 用python和計算機對話(計算機的語句)Python計算機
- 計算機程式的思維邏輯 (9) - 條件執行的本質計算機
- 計算機程式的思維邏輯 (41) – 剖析HashSet計算機
- 計算機程式的思維邏輯 (50) – 剖析EnumMap計算機
- 計算機程式的思維邏輯 (43) – 剖析TreeMap計算機
- 計算機程式的思維邏輯 (44) – 剖析TreeSet計算機
- 計算機程式的思維邏輯 (46) - 剖析PriorityQueue計算機
- 計算機程式的思維邏輯 (48) - 剖析ArrayDeque計算機
- 計算機程式的思維邏輯 (40) - 剖析HashMap計算機HashMap
- 計算機程式的思維邏輯 (41) - 剖析HashSet計算機
- 計算機程式的思維邏輯 (43) - 剖析TreeMap計算機
- 計算機程式的思維邏輯 (44) - 剖析TreeSet計算機
- 計算機程式的思維邏輯 (31) - 剖析Arrays計算機
- 計算機程式的思維邏輯 (38) - 剖析ArrayList計算機
- 計算機程式的思維邏輯 (50) - 剖析EnumMap計算機
- 計算機程式的思維邏輯 (51) - 剖析EnumSet計算機
- python的個稅計算程式碼Python
- 計算機程式的思維邏輯 (32) - 剖析日期和時間計算機
- 深入理解計算機系統:程式計算機
- 用Python開發實用程式 – 計算器Python
- 計算機程式的思維邏輯 (54) - 剖析Collections - 設計模式計算機設計模式
- 程式設計師應該讀的 7 本計算機書程式設計師計算機
- 計算機程式的思維邏輯 (29) – 剖析String計算機
- 計算機程式的思維邏輯 (29) - 剖析String計算機
- 計算機程式的思維邏輯 (39) - 剖析LinkedList計算機
- 計算機程式的思維邏輯 (49) - 剖析LinkedHashMap計算機HashMap
- 深入理解計算機中的原碼、補碼、反碼計算機
- 程式設計師的計算機配置程式設計師計算機
- Python 計算程式執行多久程式碼Python
- 計算機程式的思維邏輯 (30) – 剖析StringBuilder計算機UI
- 計算機程式的思維邏輯 (30) - 剖析StringBuilder計算機UI
- Contravariance 概念在計算機程式設計中的應用計算機程式設計
- 程式設計的本質程式設計
- 使用SQL實現車流量的計算的示例程式碼SQL
- C++ 實現簡略計算π的程式C++