2009-12-17 25 views
0

在編譯器類中,我們爲編譯語言構建了一個解析器,該語言是C的簡化版本。解析器所做的就是根據輸入和出口製作符號表如果語法不正確,會顯示錯誤消息。現在我們需要輸入用這種語言編寫的輸入文件,並將其轉換爲mips代碼(實際上spim代碼是mips for linux。)爲什麼需要符號表?它可以在沒有符號表的情況下完成嗎?符號表如何有助於將一種語言翻譯爲另一種語言

回答

2

符號表將告訴編譯器的任何進一步傳遞是否任何給定的名稱是(例如)類型的名稱,函數的名稱,變量的名稱等等。如果不知道那麼你將C翻譯成彙編代碼(或任何其他實質性操作),那麼?!考慮一下,例如X * Y; - 這是乘以X乘以Y還是說Y是一個指向X的指針?你需要知道X是否命名了一個類型,以消除這個問題 - 除了符號表之外,還有什麼可以告訴你的?

相關問題