編譯原理的課程實踐從1984年開始,以實現(xiàn)擴展PL/0語言到擴展PL/0抽象機的編譯器和實現(xiàn)擴展PL/0抽象機的解釋器為內容。PL/0語言的擴展包括增加數(shù)組類型和函數(shù)類型等,實現(xiàn)語言是Pascal。當時微機功能非常弱且數(shù)量很少,只有一臺Cromenco微機供課程實踐用,好在全班只有30個學生。學生只能先完成設計,把代碼寫在紙上,以節(jié)省用機時間。雖條件有限,但學生普遍反映收獲很大。該課程實踐是當時國內編譯原理課程實踐中要求最高的;1986年得知,該課程實踐的要求和美國西雅圖的University of Washington的要求相當。此后,課程實踐經歷了以下幾個階段:
 
    上述實驗內容持續(xù)到1993年,并配有實踐教程(講義)。
 
    1994年開始,編譯原理課程實踐單獨作為一門實踐課。為此,PL/0語言的擴展又增加了布爾類型,增加exit語句、break語句和布爾表達式短路計算等控制結構等,并且以C語言為實現(xiàn)語言。
    2002年開始,由于本科學制由五年改成四年,單獨的課程實踐課都被取消,編譯原理課也由80學時調整為60學時。這時的課程實踐僅開展熟悉Lex和Yacc的課程小實驗。
 
 
    2004年開始醞釀全新面貌的編譯原理課程實踐,經過3年準備,2007年開始實施。新的課程實踐以“源語言-抽象語法樹-低級中間表示-匯編代碼的內部表示-x86/MIPS匯編”為主線搭建課程實踐體系,安排了各種循序漸進、規(guī)模適度、“綜觀全局、實現(xiàn)局部”、強調工程質量規(guī)范的課程設計,并提供配套的實驗支持庫和課程設計開發(fā)包(該課程實踐放在實踐性教學的設計思想與效果等部分介紹)。
《普通高等教育"十一五"國家級規(guī)劃教材•高等學校規(guī)劃教材•編譯原理和技術》在國家規(guī)劃教材的基礎上,進行全面更新,以適應高校課程與教學改革的需要,并特別注意教材的可讀性和可用性,為任課教師提供各種教學服務。
《普通高等教育"十一五"國家級規(guī)劃教材•高等學校規(guī)劃教材•編譯原理和技術》共分9章。第1章的編譯概述討論了編譯程序的各個組成部分,從中讀者可以了解到編譯程序構造的各主要方面。第2章介紹有關形式語言的一些基本概念,這些是學習《普通高等教育"十一五"國家級規(guī)劃教材•高等學校規(guī)劃教材•編譯原理和技術》必要的基礎知識。第3章介紹詞法分析,它是整個分析過程的一個子任務。設計詞法分析程序的理論基礎是有限自動機。文中詳細討論了正規(guī)表達式和有限自動機的等價轉換算法。第4章詳細討論了用于編譯程序構造中的一些典型的語法分析方法。第5章的語法制導翻譯中,為使文法的產生式和語義規(guī)則聯(lián)系起來,引進了語法制導定義和翻譯模式這兩個概念,并給出如何書寫L-屬性的翻譯模式的方法。第6章討論用來支持一個程序的運行時刻環(huán)境的有關存儲組織的各種問題。之后,在第7章利用語法制導定義和翻譯模式這兩個概念來討論中間代碼生成。第8章在上一章的基礎上介紹目標代碼生成。最后,第9章集中討論中間代碼優(yōu)化,比較詳細地闡述了數(shù)據流分析和主要的全局優(yōu)化方法。 

郵箱
huangbenjincv@163.com

临沂市| 宁城县| 百色市| 湛江市| 林甸县| 英山县| 噶尔县| 耿马| 凤冈县| 健康| 通道| 新平| 西吉县| 白城市| 明溪县| 奉新县| 黔南| 横山县| 康马县| 巫山县| 兰州市| 屏山县| 麻城市| 黄冈市| 涟水县| 晋江市| 太湖县| 民和| 彩票| 罗平县| 柘城县| 武功县| 格尔木市| 奉新县| 彭山县| 志丹县| 南汇区| 梧州市| 浦江县| 武穴市| 保德县|