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

編輯原理類C教學(xué)語言的研究與實現(xiàn)

2014-04-29 00:00:00羅春燕
無線互聯(lián)科技 2014年12期

摘 要:編輯原理類C教學(xué)語言的性質(zhì)相當(dāng)于C語言的子集之一,其詞法、語法的定義方面都較為清晰,具有功能較為簡單、結(jié)構(gòu)較為清晰、應(yīng)用較為方便的特點(diǎn)。編輯原理類C教學(xué)語言的編譯程序所采用的方式為一遍掃描結(jié)構(gòu),通過編譯過程幫助學(xué)生從整體上建立對編譯程序的概念。本文主要的研究目的就是在編輯原理課程教學(xué)現(xiàn)狀的基礎(chǔ)上實現(xiàn)類C教學(xué)語言的定義,最終完成類C教學(xué)語言及其編譯系統(tǒng)的實現(xiàn)。

關(guān)鍵詞:編輯原理;類C教學(xué)語言;編譯器

當(dāng)前,多數(shù)高校中“編輯原理”課程的教學(xué)語言依舊使用PL/O。PL/O屬于PASCAL的子集,學(xué)生對此并不熟悉,導(dǎo)致在“編譯原理”課程學(xué)習(xí)的過程中存在較大的困難。部分高校已經(jīng)意識到這點(diǎn)問題,開始重新選擇“編譯原理”課程的教學(xué)語言,其中SNL、TEST等語言過于簡單,不利于學(xué)生對編輯技術(shù)的掌握;C語言編譯器又過于復(fù)雜,導(dǎo)致學(xué)生在算法中浪費(fèi)大量的時間,分散學(xué)習(xí)編譯技術(shù)的精力。因此,本文提出了類C教學(xué)語言的設(shè)計,將其作為“編輯原理”課程教學(xué)語言。

1 “編譯原理”課程教學(xué)現(xiàn)狀

當(dāng)前,“編譯原理”屬于計算機(jī)專業(yè)必修專業(yè)基礎(chǔ)課程,在計算機(jī)學(xué)科中有著非常重要的地位與作用?!熬幾g原理”課程的主要內(nèi)容為編譯器構(gòu)造原理、編譯器基本設(shè)計、編譯器實現(xiàn)技術(shù)等,是計算機(jī)軟件工程技術(shù)人員所需要掌握的重要基礎(chǔ)知識之一,有著無可替代的地位[1]。

“編譯原理”課程在理論方面有著一定程度的深度與難度,很多學(xué)生在學(xué)習(xí)的過程中不能夠充分認(rèn)識課程中軟件開發(fā)原理及方法方面的潛在價值。高校的“編譯原理”課程教學(xué)中存在著“重理論,輕實踐”的現(xiàn)象。“編譯原理”教材實驗內(nèi)容中采用“PL/O語言編譯程序”,PL/O屬于PASCAL的子集,由于學(xué)生對于PASCAL知識較為陌生,導(dǎo)致學(xué)習(xí)過程中難度增加,對學(xué)生的學(xué)習(xí)興趣造成一定的影響。部分高校已經(jīng)意識到“編譯原理”教學(xué)語言方面存在的問題,已經(jīng)開始對其進(jìn)行改革,但是由于沒有較為合適的教學(xué)語言,改革的效果不佳。

2 類C語言的定義

本文提到的類C語言實際上就相當(dāng)于C語言的一個子集[2]。高校計算機(jī)專業(yè)的學(xué)生對C語言都較為熟悉,這就奠定了類C語言在“編輯原理”課程應(yīng)用中的基礎(chǔ),一方面能夠提高學(xué)生的學(xué)習(xí)信心與熱情,另一方面能夠確?!熬庉嬙怼闭n程學(xué)習(xí)的實效。

類C語言的單詞符號主要包括標(biāo)識符、保留字(標(biāo)識符子集)、分解符(包括單分解符與雙分解符兩種)、注釋符等?!熬庉嬙怼闭n程中的詞法分析較為簡單,在教學(xué)的過程中并不需要進(jìn)行二元式的輸出,給學(xué)生保留了一定的拓展空間。

類C語言的詞法與語法定義都較為清晰,其基礎(chǔ)為賦值語句,其構(gòu)造概念包括順序、條件、重復(fù)。類C語言一方面包含了PL/O語言的功能與特點(diǎn),另一方面又具有自身獨(dú)特的功能與特點(diǎn)。第一,類C語言的數(shù)據(jù)類型包含整型與字符型兩種數(shù)據(jù)類型,編譯學(xué)生在“編譯原理”課程學(xué)習(xí)的過程中實現(xiàn)語言的擴(kuò)充。第二,類C語言包含了數(shù)組,為學(xué)生在字符串常量與字符串變量的定義提供了便利。第三,類C語言包含了指針,為學(xué)生實現(xiàn)類C教學(xué)語言擴(kuò)充提供了可能。第四,類C語言能夠?qū)崿F(xiàn)函數(shù)調(diào)用,在程序執(zhí)行效率方面高于PL/O。第五,類C語言運(yùn)算豐富。

3 類C編譯器概述

類C編譯器屬于小型的編譯器,其所能夠編譯的語言并不包含全體C集合,而是C中的一個子集。在類C編譯器中所采用的控制程序為Parse()函數(shù),該函數(shù)所采用的分支結(jié)構(gòu)能夠?qū)崿F(xiàn)對全局變量的掃描、預(yù)處理或函數(shù)處理。

類C編譯器的特點(diǎn)包括:第一,類C編譯器能夠依據(jù)翻譯任務(wù)過程中對源程序或中間形式掃描的遍數(shù)對編譯程序進(jìn)行劃分,主要的編譯程序分類包括一遍掃描與多遍掃描兩種。一遍掃描編譯程序具有效率較高的特點(diǎn),編譯的速度相對較快,但是具有分工與優(yōu)化不便的缺點(diǎn),結(jié)構(gòu)與算法不夠清晰。多遍掃描編譯程序具有編譯結(jié)構(gòu)與算法清晰、功能獨(dú)立、聯(lián)系簡單等特點(diǎn),但編譯效率較低。本文所講的類C教學(xué)語言才采用的為一遍掃描編譯程序。第二,類C編譯器中采用的較為簡潔、易懂的算法,讓學(xué)生能夠?qū)⒏嗟淖⒁饬性诰幾g過程中。第三,程序編寫的過程中會在關(guān)鍵部分加入詳細(xì)的英文注釋,從而實現(xiàn)了程序可讀性的增強(qiáng),為學(xué)生程序閱讀提供了方便,促進(jìn)學(xué)生的能力訓(xùn)練與功能擴(kuò)展。

4 類C編譯器的詞法分析與語法分析

4.1 類C編譯器的詞法分析

編譯過程中的第一個階段就是詞法分析,主要的任務(wù)是對單詞進(jìn)行分析與識別。源程序中構(gòu)成為字符序列,詞法分析就是對源程序中的字符進(jìn)行逐個掃描,依據(jù)詞法規(guī)則對其中的最小語法單位進(jìn)行識別,進(jìn)而對其進(jìn)行分類,為語法分析的輸入奠定基礎(chǔ)。語法分析器在工作的過程中首先需要對輸入程序字符的合法性進(jìn)行檢查,如果字符正確則向語法分析程序返回一個對應(yīng)的內(nèi)部符號,如果字符錯誤則調(diào)用錯誤處理程序。

詞法分析的主要內(nèi)容包括:第一,對單詞及其屬性進(jìn)行分析與識別;第二,對各種分隔符進(jìn)行跳過;第三,對詞法進(jìn)行檢查,對發(fā)現(xiàn)的錯誤進(jìn)行報告;第四,依據(jù)需要實現(xiàn)符號表、常數(shù)表格的建立。在類C教學(xué)語言中采用的是一遍掃描編譯程序,因此詞法分析模塊的運(yùn)行實際上是語法分析模塊進(jìn)行調(diào)用的,詞法分析與語法分析之間交錯進(jìn)行。

4.2 類C編譯器的語法分析

編譯程序構(gòu)造方法的理論基礎(chǔ)為語言形式化描述。詞法分析程序構(gòu)造中所采用的為正則文法描述方法,而語法分析程序構(gòu)造中則依賴上下文無關(guān)文法描述方法,其中正則文法描述方法包含在上下文無關(guān)文法描述方法中。上下文無關(guān)文法描述方法能夠幫助類C編譯器語法分析器的實現(xiàn)。

語法分析器主要指的是類C編譯器中的執(zhí)行語法分析的程序,在編譯過程中占據(jù)著核心地位。語法分析的主要任務(wù)是對各類語法成分進(jìn)行識別,為寓意分析與代碼生成奠定基礎(chǔ);其基本任務(wù)為依據(jù)上下文無關(guān)文法描述方法對源程序中的語法結(jié)構(gòu)進(jìn)行分析,并在分析的過程中對源程序的語法正確性進(jìn)行檢查。

5 類C編譯器的語義分析與機(jī)器語言

5.1 類C編譯器的語義分析

語義分析的主要任務(wù)為依據(jù)主義規(guī)則對識別的各種語法成分進(jìn)行含義分析,并對其進(jìn)行初步翻譯,從而生成中間代碼或目標(biāo)代碼。具體的任務(wù)主要包括:類型確定、語義檢查、類型檢查、控制流檢查、一致性檢查、相關(guān)名字檢查、作用域分析、識別含義。

語法制導(dǎo)與翻譯模式從概念上進(jìn)行分析都是在語法分析的基礎(chǔ)上實現(xiàn)語法樹的建立,然后對語法樹進(jìn)行遍歷,按照一定的語法樹對語義規(guī)則進(jìn)行計算,生產(chǎn)代碼、檢查符號表、給出錯誤信息等過程實現(xiàn)翻譯動作的完成。因此,語義規(guī)則計算的過程實際上就是輸入源程序串翻譯的過程。在編譯程序的過程中目標(biāo)代碼屬于最后的階段,是在語義分析或者優(yōu)化中間代碼的基礎(chǔ)上實現(xiàn)的,主要的任務(wù)就是通過中間代碼的輸入生成等價的目標(biāo)代碼。

5.2 類C編譯器的機(jī)器語言

在自定義目標(biāo)代碼向著機(jī)器碼程序進(jìn)行轉(zhuǎn)換的過程中,需要解決的問題包括:第一,機(jī)器碼程序的存儲結(jié)構(gòu);第二,自定義目標(biāo)代碼相對地址;第三,自定義目標(biāo)代碼處理;第四,機(jī)器碼的輸出。機(jī)械碼程序的存儲器中的組成部分包括信息區(qū)、代碼區(qū)及常量字符串區(qū)、數(shù)據(jù)區(qū)等。

6 總結(jié)

當(dāng)前,“編程原理”課程教學(xué)中采用的教學(xué)語言為PL/O,增加了“編程原理”課程學(xué)習(xí)的難度,降低了學(xué)生學(xué)習(xí)的信心與熱情。本文為了能夠方便學(xué)生的“編程原理”課程學(xué)習(xí),定義了類C教學(xué)語言,這種教學(xué)語言一方面包含了PL/O語言的優(yōu)點(diǎn),另一方面又規(guī)避了PL/O語言的缺點(diǎn)。通過類C教學(xué)語言的應(yīng)用滿足了“編程原理”課程的需要,降低了“編程原理”課程學(xué)習(xí)的難度,為學(xué)生的“編程原理”課程學(xué)習(xí)提供了便利。

[參考文獻(xiàn)]

[1]王軍民,繆相林,繆亞林,孫超,張詠冬.基于WindowsNT/2000平臺的DDK設(shè)備驅(qū)動軟件的編譯方法[J].計算機(jī)工程與設(shè)計.2011,02(32):543-544+547.

[2]劉學(xué)平,李一波,王亞杰,劉成.關(guān)于C程序移植再編譯方法的研究——計算機(jī)判閱c程序題的改進(jìn)方法[J].浙江大學(xué)學(xué)報(工學(xué)版).2013,02(21):74-75.

主站蜘蛛池模板: 成人综合网址| 欧美激情视频二区| 国产福利免费视频| 亚洲 日韩 激情 无码 中出| 无码国产伊人| 亚洲欧美精品日韩欧美| 午夜精品区| 精品一区二区三区水蜜桃| 丰满少妇αⅴ无码区| 国产午夜一级淫片| 精品欧美一区二区三区久久久| 另类重口100页在线播放| 丰满人妻中出白浆| 伊人久久久久久久| 亚洲Aⅴ无码专区在线观看q| 精品一区二区久久久久网站| 国产xx在线观看| 国产成人亚洲欧美激情| a级毛片一区二区免费视频| 黄色片中文字幕| 欧美福利在线观看| 黄色片中文字幕| 欧美亚洲第一页| 97超爽成人免费视频在线播放| 国产91麻豆免费观看| 一本一道波多野结衣av黑人在线| 亚洲永久色| 中文字幕无线码一区| 成人免费一级片| 国产精女同一区二区三区久| 国产成人精品免费视频大全五级| 国产在线一区二区视频| 欧洲熟妇精品视频| 尤物亚洲最大AV无码网站| 亚洲娇小与黑人巨大交| 无码国产偷倩在线播放老年人 | 色综合久久88色综合天天提莫| 国内精品小视频福利网址| 黄色网在线| 亚洲国产综合精品一区| 国产成人1024精品| 天天躁夜夜躁狠狠躁图片| 国内精品手机在线观看视频| 2020精品极品国产色在线观看 | 白浆视频在线观看| 欧美亚洲国产日韩电影在线| 亚洲黄色高清| 蜜臀AV在线播放| 99视频精品在线观看| 色偷偷av男人的天堂不卡| 98超碰在线观看| www.亚洲一区| 天天躁日日躁狠狠躁中文字幕| 91综合色区亚洲熟妇p| 午夜国产在线观看| 亚洲性影院| 亚洲精品中文字幕无乱码| 亚洲VA中文字幕| 亚洲国产精品不卡在线 | 最新痴汉在线无码AV| 成人av专区精品无码国产| 成人伊人色一区二区三区| 亚洲视屏在线观看| 免费a在线观看播放| 人妻中文久热无码丝袜| 国产精品久久久久久久久久久久| 秘书高跟黑色丝袜国产91在线| 在线观看精品国产入口| 5388国产亚洲欧美在线观看| 欧美在线免费| 国产无码网站在线观看| 一级香蕉视频在线观看| 专干老肥熟女视频网站| 亚洲成a人片| 啦啦啦网站在线观看a毛片| 熟女日韩精品2区| 尤物精品国产福利网站| 伊人久久精品无码麻豆精品| 好久久免费视频高清| 91偷拍一区| 国产成人综合欧美精品久久| 福利视频99|