999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

層次化精準(zhǔn)編譯原理實踐教學(xué)

2020-08-26 07:46:55王中卿朱培培
電腦知識與技術(shù) 2020年20期
關(guān)鍵詞:實踐教學(xué)

王中卿 朱培培

摘要:《編譯原理》作為計算機專業(yè)一門重要的專業(yè)課,理論性強且較為抽象。實踐教學(xué)可以輔助理論教學(xué),訓(xùn)練學(xué)生思維,加強學(xué)生對理論知識的深度了解及設(shè)計編譯程序的能力。針對現(xiàn)有實踐教學(xué)體系的問題,在編譯原理核心算法和編澤器的設(shè)計兩方面,分別對教學(xué)內(nèi)容及實踐難度進行了層次化創(chuàng)新,從而對學(xué)生進行步步引導(dǎo),提高編譯原理的教學(xué)質(zhì)量。

關(guān)鍵詞:編譯原理;實踐教學(xué);詞法分析;語法分析;語法制導(dǎo)翻譯

中圖分類號:C642 文獻標(biāo)識碼:A

文章編號:1009-3044(2020)20-0158-02

Hierarchical and Precise Experiment Teaching of Principle Practical

WANG Zhong-qing, ZHU Pei-pei

(School of Computer Science and 'l'echnology, Soochow U niversity, Suzhou 215006, China)

Abstract: As an important professional course for computer maj ors,¨ C ompilation Principle "is highly theoretical and abstract. Practi-cal teaching can assist theoretical teaching, train students' thinking, and strengthen students' deep understanding of theoreticalknowledge and the ability to design compilers. Aiming at the problems of the existing practical teaching system, this paper makesthe teaching content and practice difficulty hierarchical in two aspects: the compilation principle core algorithms and compiler de-sign, so as to guide students step hy step and improve the teaching quality of compilation principle.

Key words: compilation principle; practical teaching; lexical analysis; grammatical analysis; grammatical guidance translation

1引言

編譯原理課程是高校計算機及信息類相關(guān)專業(yè)的基礎(chǔ)及核心課程,該課程涵蓋數(shù)據(jù)結(jié)構(gòu)、算法等多方面的知識,有著很強的邏輯推理性和高度概括的抽象性,同時也將實踐和理論高度結(jié)合[1],是計算機專業(yè)課中最具有挑戰(zhàn)力的課程之一,在語言處理、軟件工程、軟件自動化等諸多領(lǐng)域有著廣泛的應(yīng)用[2]。在編譯原理理論教學(xué)中有限自動機、語法制導(dǎo)等知識都比較抽象,理解難度較大,學(xué)生只能片面的了解編譯器的相關(guān)知識,且難以運用。其次理論教學(xué)模式單一,很難激起學(xué)生的學(xué)習(xí)興趣,影響學(xué)生創(chuàng)新和創(chuàng)造思維的發(fā)展,因此衍生了一系列改革理論教學(xué)的方法[3-4]。本文認(rèn)為理論教學(xué)還需要借助實踐課程來幫助學(xué)生進一步熟悉編譯原理技術(shù),培養(yǎng)設(shè)計實現(xiàn)編譯程序等能力。

編譯原理的實踐教學(xué)可以分為兩個方面:一方面是編譯原理相關(guān)算法的實踐[5],包括詞法分析部分的MYT算法和子集構(gòu)造法,語法分析部分的LL文法和LR文法等;另外一方面是編譯器的設(shè)計[6-7],包括從詞法分析到語法制導(dǎo)翻譯的整個流程,以及每一個模塊的設(shè)計。兩部分是相輔相成的,編譯原理相關(guān)算法的實現(xiàn)是整個編譯器設(shè)計的基礎(chǔ),而編譯器的設(shè)計又可以幫助理解編譯原理中的每個算法的思想。以往的相關(guān)實踐教學(xué)研究多偏重于其中一方面的教學(xué),而這兩方面對于編譯原理實踐課都很重要[8],本文將分別從這兩個方面介紹層次化編譯原理實踐課的具體設(shè)計方案。

2編譯原理核心算法的實現(xiàn)

本節(jié)著重介紹編譯原理核心算法的實現(xiàn),相關(guān)算法主要集中于詞法分析與語法分析部分。

2.1詞法分析的實驗設(shè)計

在詞法分析部分,著重于分析如何將正則表達式轉(zhuǎn)換為自動機,具體包含三方面的內(nèi)容:正則表達式的應(yīng)用,從正則表達式到不確定的有限自動機(NFA)的實現(xiàn)(MYT算法),從不確定的有限自動機(NFA)到確定的有限自動機(DFA)的實現(xiàn)(子集構(gòu)造法)。

首先設(shè)計簡單實驗讓學(xué)生熟悉編程語言的環(huán)境,了解正則表達式的基本用法,例如匹配日期,提取超鏈接,提取文檔標(biāo)題與正文等。進一步的可設(shè)計實驗利用正則表達式進行LaTex源文件解析,從而提高學(xué)生的學(xué)習(xí)興趣,讓學(xué)生了解正則表達式如何與編譯原理結(jié)合。

熟悉正則表達式之后,可設(shè)計實驗基于MYT算法將正則表達式轉(zhuǎn)換為對應(yīng)的NFA狀態(tài)轉(zhuǎn)換表。實驗中可以給出識別字母表中一個字符、主運算符為閉包正則式的NFA狀態(tài)轉(zhuǎn)換表的構(gòu)建,讓學(xué)生以此為例,實現(xiàn)主運算符為選擇,連接等正則式的NFA狀態(tài)轉(zhuǎn)換表的構(gòu)建。

最后設(shè)計基于子集構(gòu)造法的實驗將NFA狀態(tài)轉(zhuǎn)換表轉(zhuǎn)換成對應(yīng)的DFA狀態(tài)轉(zhuǎn)換表,其中主要讓學(xué)生實現(xiàn)ε-closure(S)、ε-closure(T)和move(T,a)函數(shù),及驗證一個字符串是否能夠被DFA接受,從而提高學(xué)生對于從NFA到DFA轉(zhuǎn)換的理解。

2.2語法分析的實驗設(shè)計

在語法分析部分,由于計算機主要是基于自下而上的方式進行語法分析,因此主要要求學(xué)生實現(xiàn)兩個自下而上的語法分析算法:CYK算法和SLR語法分析方法。該部分的實驗有助于學(xué)生開拓算法知識,提高運用不同方法解決問題的能力。

CYK算法是一個基于動態(tài)規(guī)劃思想,用于測試串w對于一個上下文無關(guān)文法L的成員性的一個算法。該算法采用并行算法,用逐次推進的辦法獲得最優(yōu)的結(jié)構(gòu),學(xué)生要定義語法規(guī)則并計算相關(guān)概率推算最可能的句子結(jié)構(gòu)。

SLR語法分析方法由從左向右處理輸入字符串,遵循最右邊優(yōu)先派生的推導(dǎo)順序,并解決相關(guān)沖突,該實驗要求學(xué)生構(gòu)建SLR文法的可行前綴的DFA。

3編譯器的設(shè)計與實現(xiàn)

本節(jié)著重介紹編譯器的設(shè)計與實現(xiàn)過程中涉及的相關(guān)模塊的實現(xiàn)。整個實現(xiàn)過程需要利用編譯器構(gòu)建工具PLY(Py-thon Lex-Yacc),該工具已經(jīng)封裝了基本的詞法分析與語法分析模塊,基于PLY能夠使學(xué)生很快的構(gòu)建相關(guān)的編譯器模塊。

為了能夠更好地進行編譯器的設(shè)計與實現(xiàn),本文將整個實現(xiàn)過程分為兩個部分:一是對于一些簡單的語法處理器的實現(xiàn),二是構(gòu)建一個完整的基于程序設(shè)計語言的編譯器。在下面的小節(jié)將分別進行描述。

3.1簡單的語法處理器的實驗設(shè)計

為了讓學(xué)生能夠?qū)幾g器有一個形象的理解,首先讓學(xué)生構(gòu)建一些簡單的語法處理器,包括:化學(xué)表達式的解析,SQL語言的解析和LaTex源文件的解析。這些實驗循序漸進,從簡單到復(fù)雜,可以讓學(xué)生熟悉PLY工具,理解詞法分析模塊(lex)如何與語法分析模塊(yacc)聯(lián)系在一起、如何定義沒有二義性的語法規(guī)則以及如何處理移進和歸約沖突。

1)化學(xué)表達式的解析

化學(xué)分子式的解析主要為了考察學(xué)生對于單個語法單元的解析。化學(xué)分子式由元素符號和數(shù)字組成,本實驗要求學(xué)生計算化學(xué)分子式中元素的數(shù)目,例如“H2S04”中元素的數(shù)目為7。

2)SQL語言的解析

SQL語言的解析主要考察學(xué)生對于單行語句的解析。首先讓學(xué)生熟悉示例程序中的解析SQL語言的程序,然后讓學(xué)生擴展示例程序中的語法,使其能完全適應(yīng)SQL查詢語句,并完成相關(guān)SQL文件的查詢(包括,where、order by、group等)。該實驗要求學(xué)生寫出相應(yīng)的正則式提取及語法規(guī)則的定義。

3)LaTex源文件的解析

LaTex源文件的解析主要是考察學(xué)生對于多行語句的解析。該實驗需要學(xué)生定義LaTex中各個標(biāo)簽的語法規(guī)則,輸出相應(yīng)的語法樹,并轉(zhuǎn)化為PDF格式。語法分析中會運用到遞歸思想,能鍛煉學(xué)生的邏輯思維能力,且該實驗?zāi)芗訌妼W(xué)生對La-Tex文本的認(rèn)識。

3.2基于Python--的編譯器的實驗設(shè)計

當(dāng)學(xué)生實現(xiàn)了上述簡單的語法處理器之后,本節(jié)將繼續(xù)指導(dǎo)學(xué)生實現(xiàn)一個基于Python——語法的編譯器。所謂Python——是指一個比Python更簡單的程序設(shè)計語言。整個編譯器的實現(xiàn)包括:賦值語句,輸出語句,條件與循環(huán)語句,函數(shù),類的實現(xiàn)等。

首先需要實現(xiàn)的是簡單四則運算的程序,例如c=a+b,其中包括賦值語句和輸出語句,該實驗要求學(xué)生先構(gòu)造語法樹,然后為每一條Python語句所對應(yīng)的語法樹結(jié)點沒置一個屬性并為每一個產(chǎn)生式實現(xiàn)語法制導(dǎo)翻譯。

其次是實現(xiàn)循環(huán)與條件語句的解析,包括while,for,if等語句。并基于這些語句實現(xiàn)復(fù)雜的算法的編譯,例如:二分查找和選擇排序,從而幫助學(xué)生不斷優(yōu)化細節(jié),使程序具有更好的魯棒性。

然后是函數(shù)的解析,該實驗需要通過一個函數(shù)表來保存每個函數(shù)的信息,然后通過函數(shù)表實現(xiàn)函數(shù)的調(diào)用。在該實驗中,學(xué)生要考慮到函數(shù)定義、函數(shù)調(diào)用、返回語句等的解析與翻譯。

最后就是類的解析,該實驗需要實現(xiàn)類中變量和函數(shù)的翻譯等,要注意類中成員函數(shù)、成員變量和一般函數(shù)、變量的區(qū)別以及構(gòu)造函數(shù)的解析。

整個基于Python-語法編譯器的實現(xiàn)過程從簡單的語句到函數(shù)再到類,一步一步指導(dǎo)學(xué)生優(yōu)化Python——語法的體系,幫助學(xué)生熟悉從詞法分析到語法分析再到語法制導(dǎo)翻譯的過程,有利于培養(yǎng)學(xué)生將理論轉(zhuǎn)化為實踐的能力。

4結(jié)束語

在編譯原理實踐教學(xué)過程中,文章針對現(xiàn)有教學(xué)進行了一些創(chuàng)新研究。實踐教學(xué)改變了傳統(tǒng)理論教學(xué)單一的模式,提高了學(xué)生的興趣,且實踐內(nèi)容由算法到編譯器的實現(xiàn),實踐難度由淺入深,均具有層次性,循序漸進,一步一步引導(dǎo)學(xué)生深入了解編譯程序,不僅鍛煉了學(xué)生的編程能力,為之后大型程序的開發(fā)奠定了基礎(chǔ),還提高了教學(xué)的質(zhì)量。關(guān)于層次化實踐教學(xué)這個課題,還需要和更多相關(guān)課程的教師一起探討研究。

參考文獻:

[1]余芳,王曉明,趙森.基于創(chuàng)新思維培養(yǎng)的編譯原理實驗教學(xué)改革[J].大學(xué)教育,2019(12):45-47.

[2]余月,李鳳霞,陳宇峰,計衛(wèi)星.計算機編譯原理課程虛擬實驗設(shè)計與實踐[J].實驗技術(shù)與理,2019,36(8):123-126.

[3]楊旭.新工科背景下基于混合式教學(xué)的編譯原理課程教學(xué)改革探析[J].計算機產(chǎn)品與流通,2019(12):225.

[4]于雙元,徐金安,丁丁,陳鈺楓.基于層次遞進模式的“編譯原理”課程教學(xué)研究與實踐[J].工業(yè)和信息化教育,2019(3):51-55.

[5]萬新燕,時招軍.編譯原理實驗教學(xué)設(shè)計[J].教育教學(xué)論壇,2019(8):261-262.

[6]李春娥.編譯原理實驗教學(xué)設(shè)計的改進[J].計算機產(chǎn)品與流通,2018(11):225.

[7]侯書東,常家琦,劉恒.編譯原理課程教學(xué)實踐探究[J].安徽工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2018,35(04):91-92.

[8]孫守卿.基于工程教育專業(yè)認(rèn)證的《編譯原理》課程改革[J].電腦知識與技術(shù),2019,15(29):104-106.

【通聯(lián)編輯:王力】

收稿日期:2020-01-19

基金項目:面向杜交網(wǎng)絡(luò)的中文事件抽取與預(yù)測研究,國家自然科學(xué)基金( 61806137);基于文本和社交網(wǎng)絡(luò)的突發(fā)事件發(fā)現(xiàn)研究,江蘇省高等學(xué)校自然科學(xué)研究面上項目(18KJB520043)

作者簡介:王中卿(1987-),男,江蘇蘇州人,講師,博士,主要研究方向為自然語言處理;朱培培(1995-),女,江蘇省徐州人,碩士研究生,主要研究方向為自然語言處理,

猜你喜歡
實踐教學(xué)
高職高專《旅游電子商務(wù)》實踐教學(xué)環(huán)節(jié)的研究
基于體驗式教學(xué)的管理學(xué)課程教學(xué)改革與實踐
中國市場(2016年35期)2016-10-19 03:11:23
客戶關(guān)系管理課程實踐教學(xué)模式初探
中國市場(2016年35期)2016-10-19 02:58:48
地方高校城鄉(xiāng)規(guī)劃專業(yè)實踐教學(xué)的特色化探索
科技視界(2016年21期)2016-10-17 17:25:51
茶學(xué)專業(yè)校企合作實踐教學(xué)探索
考試周刊(2016年79期)2016-10-13 23:35:16
《電氣工程畢業(yè)設(shè)計》 課程的教學(xué)設(shè)計
考試周刊(2016年79期)2016-10-13 23:26:02
基于卓越計劃的金屬結(jié)構(gòu)材料課程實踐化改革與建設(shè)
基于應(yīng)用型創(chuàng)新人才培養(yǎng)的模塊式實踐教學(xué)體系構(gòu)建
研究型學(xué)習(xí)在傳熱學(xué)實踐教學(xué)中的應(yīng)用
思想政治理論課實踐教學(xué)研究述評
主站蜘蛛池模板: 在线观看国产小视频| 免费在线看黄网址| 国产亚洲欧美在线人成aaaa| 亚洲国产欧美中日韩成人综合视频| 精品福利一区二区免费视频| 亚洲国产日韩在线观看| 无码日韩视频| 精品国产www| 国产理论最新国产精品视频| 91精品视频在线播放| 人妻熟妇日韩AV在线播放| 扒开粉嫩的小缝隙喷白浆视频| 亚洲视频四区| 看你懂的巨臀中文字幕一区二区 | 久久久久久高潮白浆| 欧洲亚洲一区| 亚洲愉拍一区二区精品| 国产丝袜啪啪| 亚洲精品片911| 国产玖玖视频| 91九色最新地址| 午夜限制老子影院888| 国产地址二永久伊甸园| www.精品国产| 欧洲高清无码在线| 在线观看国产网址你懂的| 国产91精品久久| 亚洲男女在线| 91精品网站| 中文字幕永久视频| 亚洲综合18p| 免费99精品国产自在现线| 亚洲男人天堂网址| 国产激情在线视频| 毛片免费试看| 日韩A级毛片一区二区三区| 精品少妇三级亚洲| 国产小视频免费观看| 亚洲六月丁香六月婷婷蜜芽| 国产在线精彩视频二区| 亚洲欧洲自拍拍偷午夜色| 欧洲一区二区三区无码| 国产成人精品一区二区秒拍1o| 日韩成人午夜| 丝袜国产一区| 婷婷激情五月网| 亚洲一区波多野结衣二区三区| 91啦中文字幕| 波多野一区| 久久夜色精品| 国产成人精品一区二区| 欧类av怡春院| 亚洲无码91视频| 久久久久人妻一区精品色奶水| 国产性生大片免费观看性欧美| 97se亚洲| 真实国产精品vr专区| 少妇被粗大的猛烈进出免费视频| 一级毛片免费的| 中文字幕乱妇无码AV在线 | 日韩黄色大片免费看| 亚洲精品无码人妻无码| 欧美一区二区三区不卡免费| 亚洲成肉网| 欧美国产成人在线| 香蕉蕉亚亚洲aav综合| 午夜无码一区二区三区在线app| 欧美色香蕉| 日本道中文字幕久久一区| 伊人久久大香线蕉综合影视| 五月天久久婷婷| 精品国产成人高清在线| 亚洲成人动漫在线观看| 成人精品午夜福利在线播放| 国产国语一级毛片在线视频| 在线视频一区二区三区不卡| 国内毛片视频| 不卡无码h在线观看| 亚洲男人的天堂视频| 亚洲AV无码久久精品色欲| 欧美精品啪啪| 欧美成人怡春院在线激情|