注:
課程:《編譯技術》上機
此處完成 實驗前期準備
簡單說兩句:
因為編譯原理實驗的分數跟計組比起來少太多了,所以經過仔細考慮,我最終還是決定將時間投入複習中,實驗二只搞出乙個最基礎的東西來就好。之後如果想要補充些東西的話,再說吧....
前期準備
已經將整個資料夾都備好份,以供魔改後的回溯
開始實驗
第一步修改ast.c檔案
開啟實驗教程文件,附錄五
將附錄五**複製貼上到ast.c的後面,注意一下,那個#include,#define debug移到**最開頭去
第200行,新增全域性變數lev
lev是 層數,但是他沒有定義,之後編譯時會報錯,這裡給他補充上
第945,946行注釋掉
這兩行是用來生成中間**,目標**的,我們這裡只搞實驗二,為了避免這兩個**裡的bug干擾,我們將他注釋掉。
第二步修改parser.y檔案(parser.y是c語言文法)
第60行修改program語法
將我們之前刪掉的semantic_analysis0($1);加上
結果檢驗
依次執行
發現有亂碼,使用chcp 65001切換到utf-8編碼介面
發現符號表輸出成功。
這篇主要是講一下,生成符號表的具體操作步驟,下面一篇會補充一些**,然後講一下怎麼進行語義效驗
寫在結尾
希望以上可以幫到你!
如有錯誤,或不同想法,歡迎指出,互相學習共同進步!
三維動畫原理 1 前期準備
無論你要做什麼動畫,前期的準備工作都必不可少,它是你的作品最終成功的基石。做重要的準備工作 1.故事畫板 1 當你有靈感閃現時,先在畫板上盡可能快而簡略的勾勒出你的想法,這個就是最原始的草圖 接下來,把草圖進行細化,加上色彩和簡單的背景,大致可以表現作品的風格和情節,可以通過這個半成品與客戶進行交流...
實驗二 準備
1.專案實現的基礎知識 線性表的操作 使用。2.實驗要求 為遊戲設計初始歡迎介面,遊戲介面,遊戲結束介面。具體實現過程如下 實現貪吃蛇遊戲基本功能,遊戲開始之後出現初始歡迎介面,玩家可選擇開始遊戲 開始遊戲之後,螢幕上隨機出現乙個 食物 上下左右控制 蛇 的移動,吃到 豆子 以後 蛇 的身體加長一點...
哈工大編譯原理實驗1 詞法分析
設計實現類高階語言的詞法分析器,基本功能如下 1 能識別以下幾類單詞 識別符號 由大小寫字母 數字以及下劃線組成,但必須以字母或者下劃線開頭 關鍵字 型別關鍵字 整型 浮點型 布林型 記錄型 分支結構中的if和else 迴圈結構中的do和while 過程宣告和呼叫中的關鍵字 運算子 算術運算子 關係...