【正文】
一種簡單的編譯器的設(shè)計 摘要:基于編譯理論與虛擬機技術(shù),經(jīng)過詞法分析、語法分析、語義分析等過程,設(shè)計一個簡單的編譯器,將某一種源程序編譯成目標程序,以驗證結(jié)果的正確性。 關(guān)鍵詞:編譯器;詞法分析;語法分析;語義分析 中圖分類號:TP311文獻標識碼:A文章編號:10093044(2008)33150803 The Design of a Simple Compiler CHENG Hua (Jiangsu Food Science College, Huaian 223003, China) Abstract: Based on pile theory and Virtual Machine technology,to transfer source program into destination program by Lexical analyse, Parse, Semantic analyse, and to test and verify the results. Key words: piler。 lexical analyse。 parse。 semantic analyse 1 設(shè)計背景 目前,計算機無紙化考試系統(tǒng)的應(yīng)用越來越廣,選擇題、判斷題的自動評分基本完善,但對程序修改題、編程題等考題來說,運用簡單地看結(jié)果或指定行、段等辦法評分,不能從根本上達到客觀、公正地評閱考生答案。要想讓計算機評分具有智能化,就必須讓計算機具備“思想”,即讓評分系統(tǒng)能“看懂”考生答案,能“感受”設(shè)計成果的優(yōu)越之處與不足所在,能給“過程分”及“設(shè)計創(chuàng)新分”,而絕不單純依賴“運行結(jié)果”。本文以此為切入點,基于編譯理論與虛擬機技術(shù),自主設(shè)計有限元編譯系統(tǒng),分課程、分模塊,能自行分析、編譯考生答案(如程序代碼),進而判斷其正確性、合理性及優(yōu)越性。 2 編譯程序的一般結(jié)構(gòu) 編譯程序結(jié)構(gòu)框圖如圖1。 3 編譯器的設(shè)計 建立符號表及其管理程序 建立符號表,收錄某種語言(C、PASCAL等)的所有字符集,允許在編譯的各個階段插入或