摘要:本文對(duì)編譯原理的等價(jià)性進(jìn)行了分析和研究,提出一種有效的組織等價(jià)知識(shí)的方法,并在此基礎(chǔ)上提出應(yīng)用等價(jià)關(guān)系提高教學(xué)效果的一種方法論。結(jié)合編譯原理教學(xué)實(shí)踐說(shuō)明了該方法的可用性和有效性。
關(guān)鍵詞:知識(shí)等價(jià)性;教學(xué)方法論;教學(xué)效果;編譯原理
1背景
在教學(xué)中,我們常常會(huì)使用斷言:“甲與乙是一樣的”,“甲乙二者是等價(jià)的”等等。從教和學(xué)的角度,這樣的斷言有如下作用:
1) 建立知識(shí)之間的聯(lián)系,有助于對(duì)知識(shí)進(jìn)行組織,構(gòu)建知識(shí)框架;
2) 減輕記憶的負(fù)擔(dān),即本來(lái)對(duì)“甲”和“乙”的細(xì)節(jié)需要分別地記憶,現(xiàn)在二者被等價(jià)關(guān)聯(lián)起來(lái),有大量細(xì)節(jié)不必重復(fù)記憶了;
3) 便于知識(shí)的靈活運(yùn)用。例如原來(lái)使用“甲”知識(shí)解決的問(wèn)題換做用“乙”知識(shí)去求解或許是一條更加簡(jiǎn)潔有效的途徑;另外,求解某問(wèn)題時(shí),可用的知識(shí)從原來(lái)的一種增加到兩種,理論上增加了求解成功的可能性;
4) 便于突出重點(diǎn),對(duì)于等價(jià)的知識(shí),可以從其他的適合性角度做出選擇,不使總的知識(shí)量過(guò)于膨脹。
從以上可以看出,這種教學(xué)現(xiàn)象反映了教學(xué)過(guò)程中對(duì)知識(shí)等價(jià)性的關(guān)注。顯然,關(guān)注知識(shí)等價(jià)性的教學(xué)過(guò)程對(duì)于提高教學(xué)效果必定產(chǎn)生積極作用。
等效思維、等價(jià)轉(zhuǎn)化、等值變換等一些思維方法在教學(xué)和研究中被經(jīng)常使用,從一定程度上說(shuō)明關(guān)注知識(shí)等價(jià)性的教學(xué)過(guò)程已經(jīng)廣為人們所接受。然而,不幸的是,這些思維方法僅停留在概念層面,屬于哲學(xué)上的思考,有模糊性,尚沒有形成系統(tǒng)的方法論(methodology)。事實(shí)上,由于這一原因,在課程教學(xué)中,有效地運(yùn)用這種關(guān)注知識(shí)等價(jià)性的教學(xué)方法面臨著實(shí)質(zhì)性的困難。
編譯原理是一門傳授對(duì)計(jì)算機(jī)程序進(jìn)行分析、變換和優(yōu)化的課程,是計(jì)算機(jī)專業(yè)核心課程,課程的知識(shí)分布在理論、技術(shù)和實(shí)現(xiàn)等多個(gè)層面,多年來(lái)的教學(xué)實(shí)踐反映出該課程是本專業(yè)學(xué)生最難學(xué)的課程之一,因而,結(jié)合該門課程的教學(xué),系統(tǒng)地研究關(guān)注知識(shí)等價(jià)性的教學(xué)方法有典型性,同時(shí)從提高本門課程教學(xué)效果上也方便驗(yàn)證該方法的有效性。
本文提出了一種關(guān)注知識(shí)的等價(jià)性的教學(xué)方法論,并應(yīng)用于編譯原理課程教學(xué)中,給出了組織等價(jià)知識(shí)dmSgchPyxl255aXZWDvYntgzgKNX0fMSiOpUxxnFDUY=的方法,以及提高教學(xué)效果的形式規(guī)則,并基于編譯原理教學(xué)實(shí)踐闡明了該方法的有效性。本文后面部分:第二節(jié)分析等價(jià)性的利用對(duì)于提高教學(xué)效果的積極作用;第三節(jié)提出一種關(guān)注知識(shí)等價(jià)性的方法論;第四節(jié)結(jié)合編譯原理課程分析了該方法論的可用性和有效性;最后是本文總結(jié)。
2等價(jià)性的利用對(duì)提高教學(xué)效果的意義
一般來(lái)說(shuō),恰當(dāng)?shù)厥褂弥R(shí)之間的等價(jià)關(guān)系,對(duì)于提高教學(xué)效果產(chǎn)生積極作用。等效思維、等價(jià)轉(zhuǎn)化以及等值變換等這些思維方法,是以知識(shí)的等價(jià)性為基礎(chǔ)所建立起來(lái)的,在教學(xué)過(guò)程中有意識(shí)或無(wú)意識(shí)地得到了廣泛使用。本節(jié)在介紹這些思維方法的基礎(chǔ)上,結(jié)合編譯原理中活動(dòng)記錄(棧幀)知識(shí)對(duì)這些方法進(jìn)行了具體解釋,并基于此進(jìn)行了初步分析。
2.1基于等效思維舉一反三
所謂等效思維,就是在效果相同的前提下,把實(shí)際的、難于理解的問(wèn)題變成理想的、易于思考的問(wèn)題。它是數(shù)學(xué)上“等價(jià)轉(zhuǎn)化思想”在科學(xué)學(xué)科的問(wèn)題求解中的應(yīng)用,是一種常用的有效的科學(xué)思維方法。它常常是通過(guò)變換思維角度,對(duì)題目作適當(dāng)假設(shè),或者代換。
活動(dòng)記錄是一種數(shù)據(jù)結(jié)構(gòu),用于運(yùn)行時(shí)??臻g的管理,目的是支持函數(shù)調(diào)用的語(yǔ)義?;顒?dòng)記錄的結(jié)構(gòu)有多種,常見的是fp-sp[1]365和sp-top[2]259兩種結(jié)構(gòu)。這兩種結(jié)構(gòu)中的內(nèi)容是完全一樣的,也就是效果相同,但也存在著差異。fp-sp結(jié)構(gòu)的特點(diǎn)是,幀指針fp把活動(dòng)記錄分為兩個(gè)部分,前一部分的內(nèi)容由調(diào)用者中的代碼來(lái)建立,而后一部分的內(nèi)容由被調(diào)用者中的代碼建立。sp-top結(jié)構(gòu)中幀指針sp指向活動(dòng)記錄的開始位置,這樣幀與幀之間的邊界清楚。但是訪問(wèn)sp-top結(jié)構(gòu)的單元所使用的偏移量的絕對(duì)值要大。基于等效思維,拋開了這些差異,從fp-sp結(jié)構(gòu)容易得出sp-top結(jié)構(gòu),反之亦然。進(jìn)一步地,容易設(shè)計(jì)出不同的活動(dòng)記錄結(jié)構(gòu),以及相應(yīng)的調(diào)用序列(calling sequence)和返回序列代碼,取得舉一反三的效果。
然而,在這一思維方法中,對(duì)于“實(shí)際的、難于理解的”知識(shí)和“理想的、易于思考的”知識(shí),缺乏方法論層面上的定義和解釋,而“效果相同”也是泛化和不明確的陳述,因而,可以看出這一思維方法仍然停留在概念層面上,缺乏形式化描述,這成為有效應(yīng)用這一方法的瓶頸。
2.2基于等價(jià)轉(zhuǎn)化化難為易
在數(shù)學(xué)研究中,使一種研究對(duì)象在一定條件下轉(zhuǎn)化為另一種研究對(duì)象的數(shù)學(xué)思想稱為等價(jià)轉(zhuǎn)化思想,是一種思維策略的體現(xiàn),即我們常說(shuō)的換個(gè)角度想問(wèn)題,它是解決數(shù)學(xué)問(wèn)題的重要思想,它要求我們能把握住問(wèn)題的本質(zhì),能辨正地看待事物,能運(yùn)用所學(xué)的知識(shí)把復(fù)雜的問(wèn)題轉(zhuǎn)換為較簡(jiǎn)單的問(wèn)題解決,把隱含的條件轉(zhuǎn)化為明顯的條件,把生疏的問(wèn)題轉(zhuǎn)化為較熟知的問(wèn)題去解決。
運(yùn)行時(shí)系統(tǒng)常?;跅Y(jié)構(gòu)來(lái)支持嵌套過(guò)程的調(diào)用和返回。采用D表(Display表)的棧幀結(jié)構(gòu)提高了時(shí)間效率,但理解起來(lái)略顯繁瑣。與它等效的采用靜態(tài)鏈的棧幀結(jié)構(gòu)理解起來(lái)更簡(jiǎn)潔一些。除此以外,二者沒有區(qū)別。因此,基于對(duì)靜態(tài)鏈棧幀結(jié)構(gòu)理解的基礎(chǔ)上,通過(guò)將靜態(tài)鏈等價(jià)轉(zhuǎn)化為D表,使得后者化難為易了。
然而,在這一思維方法中,對(duì)于“一定條件”和“研究對(duì)象”缺乏形式化描述也成為有效使用該方法的障礙。
2.3基于等值變換法進(jìn)行創(chuàng)新思維
等值變換法是從已有的事物中,通過(guò)模擬、借鑒、產(chǎn)生聯(lián)想來(lái)改變?cè)瓉?lái)的對(duì)象而進(jìn)行創(chuàng)造的方法,是依照蠶變成飛蛾、桑繭變成蠶絲的自然現(xiàn)象而總結(jié)出來(lái)的一種創(chuàng)造技法。自然界的各種等值變換形式歸結(jié)為三種類型:1)自我成長(zhǎng)型等值變換,即類似于蠶從幼蟲變化為成蟲的變換過(guò)程;2)被加工型等值變換,即類似于從桑葉到蠶絲這一變換過(guò)程;3)綜合型等值變換,即前兩種的綜合。
仍然以棧幀知識(shí)為例,我們能注意到,嵌套過(guò)程的語(yǔ)義是一種知識(shí),而棧幀結(jié)構(gòu)及其調(diào)用序列和返回序列構(gòu)成了另一種知識(shí),在一定的抽象層次上看,這兩種知識(shí)之間存在著等價(jià)性。基于等值變換這種思維方法,后一種知識(shí)是前一種知識(shí)經(jīng)第二類等值變換得到。進(jìn)一步地,我們可以給棧幀結(jié)構(gòu)中增加表示超長(zhǎng)、變長(zhǎng)形參單元,可以支持過(guò)程閉包和變長(zhǎng)參數(shù)語(yǔ)義等等,依次可以看出是對(duì)棧幀知識(shí)的第一類等值變換。等值變換使得編譯原理的理論知識(shí)轉(zhuǎn)變?yōu)榉椒▽用娴闹R(shí),并最終轉(zhuǎn)變?yōu)槌绦虼a,就是組成編譯系統(tǒng)的代碼。
等值變換法的核心是保持等值,從已有到未知。目前仍然沒有形式化描述,沒有適用于計(jì)算系統(tǒng)的方法論。
綜上所述,基于知識(shí)的等價(jià)性,將等效思維、等價(jià)轉(zhuǎn)化以及等值變換等思維方法應(yīng)用在編譯原理教學(xué)中,必定取得舉一反三、化難為易和創(chuàng)新思維的教學(xué)效果。但是,教授和學(xué)習(xí)每一種涉及到等價(jià)性的知識(shí)的過(guò)程中,準(zhǔn)確描述等價(jià)關(guān)系是決定能夠利用等價(jià)性提高教學(xué)效果的前提,這將在下一節(jié)具體闡述。除此以外,基于等價(jià)性剪裁教學(xué)內(nèi)容的意義在于:將適應(yīng)不同的學(xué)分要求、適應(yīng)不同的學(xué)生基礎(chǔ)這件事,轉(zhuǎn)變成為在多種等價(jià)知識(shí)中進(jìn)行選擇的問(wèn)題,顯然都變得易于實(shí)施。
3關(guān)注知識(shí)等價(jià)性的教學(xué)方法論
本節(jié)采用一種層次結(jié)構(gòu)組織知識(shí),并定義知識(shí)間的等價(jià)關(guān)系,在此基礎(chǔ)上引入知識(shí)等價(jià)性的層次視覺和抽象視覺,給出等效思維、等價(jià)轉(zhuǎn)化和等值變換等思維方法的一種形式化描述,形成一種關(guān)注知識(shí)等價(jià)性的教學(xué)方法論。
3.1知識(shí)單元及其層次結(jié)構(gòu)組織
知識(shí)是哲學(xué)層面的概念,為了應(yīng)用于計(jì)算系統(tǒng)中并得到方便處理,采用知識(shí)單元的概念。
定義1 知識(shí)單元通常是指在一個(gè)問(wèn)題域中用于闡述或解決某個(gè)問(wèn)題的概念、算法、定理等,它在內(nèi)容上是相對(duì)獨(dú)立和完整的。依據(jù)是將知識(shí)作為某個(gè)對(duì)象看待,作為結(jié)構(gòu)化的知識(shí)要素,作為知識(shí)內(nèi)容的不可再分的打包形式。知識(shí)單元有時(shí)采用集合形式表示,其元素是知識(shí)個(gè)體或稱為知識(shí)實(shí)例。
將編譯原理的內(nèi)容作為一個(gè)問(wèn)題領(lǐng)域,記為?,
那么?是編譯原理的知識(shí)單元的全集。知識(shí)單元不是
孤立的,它們之間存在著大量的聯(lián)系,我們把它表示成知識(shí)單元之間的關(guān)系。知識(shí)抽象是知識(shí)單元之間的
一種常見的關(guān)系,知識(shí)抽象關(guān)系的全集記為?。那
么有:
(1)T"(a:CaC)&Icir