語義分析器

題目

(1)選擇一個編譯器,如:TINY 或其它編譯器也可(需自備源代碼)。
(2)閱讀語義分析源程序,加上你自己的理解。尤其要求對相關函數與重要變量的作用與 功能進行稍微詳細的描述。若能加上學習心得則更好。TINY 語言請參考《編譯原理及實踐》 第 6.5 節。
(3)理解符號表的定義(欄目設置)與基於抽象語法樹的類型檢查/推論的實現方法(樹遍 歷)。
(4)測試語義分析器。對 TINY 語言要求輸出測試程序的符號表與測試結果。 TINY 語言: 測試用例一:sample.tny。 測試用例二:用 TINY 語言自編一個程序計算任意兩個正整數的最大公約數與最大公倍數。

測試文件

read a;
read b;
if a < b then
t:=a;
a:=b;
b:=t;
c:=a;
d:=b;
if 0 < b then
repeat
t:=a-a/bb;
a:=b;
b:=t
until b=0;
write a;
write c
d/a
end
end

程序代碼

https://blog.csdn.net/yyd19981117/article/details/89261108
推薦查看這篇博客,講解比較全面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章