# Mini Project ## Reference 1. [組合語言_Youtube](https://www.youtube.com/watch?v=-_PDGifygFs) 2. [Mini Project 講解(1:12:00)](https://www.youtube.com/watch?v=80ekJJFnLNo&t=3772s) 3. [組合語言_投影片](https://eeclass.nthu.edu.tw/media/doc/103864#5_728bd28f820da3763e5c1c6e6a2aa763) 4. [組合語言_PDF](https://drive.google.com/file/d/1DdI7yZutgpc6w6-rmXsAcNxbshOiurBO/view?usp=sharing) 5. [GitHub 參考程式碼](https://github.com/lightbulb12294/CSI2P-II-Mini) 6. [Compiler Explorer](https://godbolt.org/) ## 進度 | **時間** | **預計進度** | **實際進度** | | -------- | -------- | -------- | | ***11/9*** | 簡介、基本概念、語法 | 簡介 | | ***11/10*** | 簡介、基本概念、語法 | 簡介 | | ***11/11*** | Task1,2,3 | - | | ***11/12*** | Task All | - | | ***11/13*** | 繳交作業 | - | | ***11/14*** | Demo | - | ## 簡單架構 1. Lexer * 將input切成token * 補充:Token種類 Identifer (x) Assign (=) ... 2. Parser * 根據Grammer Rule 利用 Token 建立正確的 AST (preorder表示會是原本的input) * Semantic check * 確認樹是否有語法錯誤 3. CodeGen * 利用上個架構生成的 AST 建立 ASM (組合語言) 4. Optimize (有或無皆可) * 優化 ASM ## 參考Code架構 ```clike= //main ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up