首先將tm.c的執行得到tiny虛擬機器
globals.h main.c
util.h util.c
scan.h scan.c
parse.h parse.c
symtab.h symtab.c
analyze.h analyze.c
code.h code.c
cgen.h cgen.c
拷貝到工程的目錄(tiny)下,然後把這些檔案新增到工程中;
編譯鏈結,生成可執行檔案tiny.exe
三、編譯tiny程式
1. 開啟dos視窗(開始->執行->輸入cmd),開啟c:(輸入cd\);
2. 將壓縮包內的sample.tny(用途是輸入乙個數給出該數的階乘),儲存到c:中(也可以自己用tiny語言寫乙個tny的源**);
3. 輸入tiny sample.tny,編譯原始檔,生成目標**sample.tm;
4. 輸入tm sample.tm,用tm虛擬機器執行目標**,可先輸入h命令,檢視虛擬機器的功能;
5. 根據提示,輸入命令,比如輸入t進行跟蹤程式執行的過程:
out instruction prints:輸出結果
未完。。。
編譯原理 TINY編譯器學習(一)
編譯原理及實踐 中附帶的tiny編譯器,僅有幾千行,這點 就實現了乙個完整的編譯器,及對應的目標 執行程式,接下來會用一段時間研究下這個 1.源 2.原始碼結構 globals.h main.c util.h util.c scan.h scan.c parse.h parse.c symtab.h...
編譯原理實驗一 TINY語言的詞法分析
實驗一 tiny語言的詞法分析 一 實驗目的 評價依據,描述是否準確到位 構造tiny語言的詞法分析器 掃瞄器 要求利用第三方的lex工具進行構造。實驗結果 構造出的掃瞄器,能夠讀入教材樣例中給出的tiny語言的示例 分解成token輸出。二 實驗設計 評價依據實驗方案設計是否合理 一 tiny語言...
Tiny6410 交叉編譯helloworld程式
在工作目錄下建立helloworld.c檔案 cpp view plain copy print include main 儲存關閉後。編譯helloworld檔案 csharp view plain copy print root snail home workdir qt project hel...