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

計算機編譯原理課程虛擬實驗設計與實踐

2019-10-08 05:37:26李鳳霞陳宇峰計衛星
實驗技術與管理 2019年8期
關鍵詞:計算機實驗分析

余 月,李鳳霞,陳宇峰,計衛星

(北京理工大學 計算機學院,北京 100081)

“編譯原理”是計算機學科一門重要的專業基礎課程,已列入國際ACM教程和IEEE計算機學科的主干教程。編譯程序在語言處理、軟件工程、軟件自動化、逆向軟件工程、再造軟件工程等諸多領域有著廣泛的應用。一般定義編譯過程分為詞法分析、語法分析、語義分析與中間代碼生成、代碼優化、目標代碼生成等5個階段[1-4]。

“編譯原理”課程面臨的主要問題是:(1)編譯過程復雜,如果僅憑借書本、教師講述和簡單的PPT演示學習這些知識點,不利于學生理解;(2)一般的編譯原理的課程主要集中介紹前端的詞法分析和語法分析,對于中端的中間代碼生成和后端的優化以及一些高級技術[5],學生學習和理解起來有難度,同時這些內容也缺乏與之完全匹配的實驗內容來說明或驗證這些概念。

利用虛擬現實技術構建的虛擬實驗可以很好地解決編譯原理不易學和信息流動不可視的問題,使學生較好地掌握程序編譯知識。因此,針對計算機編譯過程信息演化過程不可視的特點,設計開發計算機編譯課程虛擬實驗,把不可視的信息傳輸過程用虛擬交互和演示驗證的實驗方法變得可視、可驗證,對于人才培養具有十分重要的意義。

1 虛擬實驗的建設方案

虛擬實驗是指利用虛擬現實技術,在計算機上所生成的三維、可視化的、交互性的、可完全取代甚至超越傳統實驗的實驗[6-9]。在高校的教學實踐中,虛擬實驗的作用,一是為缺乏實驗機會的學生提供實驗資源與良好的學習條件,提高他們的學習積極性與主動性;二是直觀地展示理論教學的重難點內容,提高教學效果[10-11]。

目前對于虛擬實驗的應用有 2個不同的建設方案:一是開發具有遠程訪問的物理(實際)實驗室,另一個是開發一個完全基于軟件的虛擬實驗室。

創建遠程訪問物理實驗室比較復雜,所需的硬件和軟件成本以及設備維護的總體費用較高,可擴展性較差,并且不容易支持更復雜的協作學習場景。遠程訪問的物理實驗室適用于解決實踐操作問題,可以通過遠程訪問方式為缺乏實驗機會的學生提供虛擬實驗資源與良好的學習條件,是一種使處于不同地點的學習者可以同時對一個實驗項目進行實驗操作的實驗環境。

基于軟件的虛擬實驗室具有節省開支、靈活性好、多路訪問、容易更改系統配置和抗損傷性的特點[12-13],既可以適用大規模的在線課程的虛擬實驗支持,也可以用于更直觀地展示教學內容的重難點問題,用于加強與理論教學的緊密結合。

2 計算機編譯原理課程虛擬實驗典型案例

根據計算機編譯原理[5]課程所包含的內容,編譯原理實驗內容應該分別針對形式語言與自動機理論基礎、前端的詞法分析和語法分析、中端的中間代碼生成和后端的優化以及一些高級技術。對于前端的詞法和語法分析,可以通過設計語言編譯器來幫助學生理解,而其余的抽象內容可以通過輔助虛擬實驗來解析其中的重難點內容。根據編譯原理的課程內容,設計了5個輔助教學的虛擬實驗:(1)DFA和NFA工作過程虛擬實驗;(2)數據流分析過程虛擬實驗; (3)堆棧操作原理虛擬實驗;(4)堆式內存的分配與垃圾回收虛擬實驗;(5)寄存器圖著色分配算法虛擬實驗。本文介紹2個典型虛擬實驗案例。

2.1 數據流分析過程虛擬實驗

數據流分析過程虛擬實驗的實驗目的是讓學生理解計算機編譯原理課程中對于給定的函數代碼數據流的分析過程,在數據流分析過程中理解和記憶知識點。為了進行代碼優化、編譯程序,需要收集整個代碼中的相關信息和每個基本塊的信息分布情況,這些信息就是數據流信息,而這一過程就叫做數據流分析過程。數據流分析是在編譯過程中使用的技術,它能從程序中收集語義信息并確定變量的定義和使用。通過數據流分析,可以不通過實際程序運行就能夠發現程序運行時相關信息的變化,通過這樣的方式讓學生理解程序運作[14]。

在介紹數據流分析過程前,首先要進行控制流分析??刂屏鞣治鍪请S程序進行劃分構成基本塊,再將基本塊連接起來構成程序流圖。在本實驗中,數據流分析采用到達-定值數據流分析。數據流分析的最終結果是要得到整個代碼中的相關信息和每個基本塊的信息分布情況,所以實驗最終要得到一張定值引用信息表。因此,實驗框架分為兩個場景:一個場景是控制流分析的內容,包括基本塊劃分、控制流圖構造的過程展示,分為代碼區、基本塊、數據流圖、提示板、控制區等5部分,如圖1(a)所示。另一個場景是數據流分析,主要包括數據流分析的展示和迭代表格的構造過程,還有用戶參與的部分,也分為5個部分,分別是控制區、數據流圖、迭代表格、用戶交互區和提示部分,如圖1(b)所示。

圖1 數據流分析過程虛擬實驗

2.2 堆棧操作原理虛擬實驗

堆(heap)和棧(stack)是兩種不同的動態數據區域,“堆”是一種接近鏈式的結構,“?!眲t是一種線性的結構。棧式存儲更為快捷方便,但是其自由度較??;而堆式存儲則使用方式較為麻煩,既需要程序員自己申請,又需要程序員自己進行釋放,但是自由度更高、更具有靈活性。每個棧區都可以使用基地址(frame pointer)和棧頂地址(stack pointer/top pointer)來描述。程序使用棧中的基地址和偏移量(通過棧頂地址來顯示)來訪問變量。一般情況下,一個C語言程序占用的內存空間包括系統區、棧區、共享內存區、堆區、全局變量區、文字常量區、程序代碼區等區域。

堆棧操作原理虛擬實驗針對堆棧操作,完整地表達了內存結構,能夠讓學生直觀地感受和認識到編譯過程中內存的變化。虛擬實驗的設計包括操作界面設計和人機交互設計,而人機交互設計主要體現在操作界面中。在操作界面中,用戶可以通過鼠標鍵盤等的輸入控制實驗的進行,通過實驗對堆棧操作原理有著更深層次的理解。

操作界面由3個界面組成,包括主實驗界面、編譯程序運行時內存分配圖展示界面和 func函數運行時堆棧操作在內存中的展示界面(見圖2)。

在主實驗界面中,主要有原理、操作說明區、代碼區、控制區和內存分布區,用戶可以通過點擊控制區的按鈕以控制實驗的進行,進行詳細的實驗操作,原理、操作說明區也將展示詳細的原理說明和操作說明。在控制區中設置了“開始”“結束”“返回”和“查看內存分布圖”等按鈕,可以通過點擊“開始”按鈕開始演示操作,點擊“結束”按鈕結束本次操作,點擊“查看內存分布圖”進入內存分布圖界面,如圖2(a)所示。

在編譯程序運行時內存分配圖的展示界面中,包括實驗問題描述區、代碼展示區、原理說明區和內存分布圖展示區,如圖2(b)所示。

在 func函數運行時堆棧操作在內存中的展示界面中,主要包括問題描述區、代碼區、原理說明區、操作說明區和 func函數運行時棧區擴展圖展示區以及控制區,如圖2(c)所示。

圖2 堆棧操作原理虛擬實驗

3 計算機編譯原理教學實踐過程與評價調查

北京理工大學計算機編譯原理虛擬實驗課程部署在“虛擬實驗工場”平臺,如圖3所示?!疤摂M實驗工場”平臺支持虛擬現實技術和計算機仿真技術構建的虛擬實驗,依托云服務支持在線服務,支持大規模在線課程實驗應用,并可與公用的 MOOC平臺實現對接[15]。目前主流的人機交互設備包括電腦和手機,所以要求開發的虛擬實驗也是既要支持 PC端,又要支持移動端。因此,計算機編譯原理課程的虛擬實驗都是基于Unity3D技術開發。Unity3D具有跨平臺特性,既支持單機版,又支持網頁版和移動版。利用Unity3D技術開發的虛擬實驗,可以較容易實現在不同用戶端下的移植,計算機編譯原理課程的虛擬實驗均可通過網絡實現在線訪問。

圖3 計算機編譯原理虛擬實驗課程

在計算機編譯原理虛擬實驗課程中,嘗試使用了數據流分析過程和堆棧操作原理2個虛擬實驗,每個實驗均需要學生完成實驗報告,實驗報告中需要記錄學生的操作結果、對實驗的理解和回答啟發式問題,例如:入棧操作和出棧操作分別遵循什么原則,調用函數時的堆棧操作遵循什么原則,當程序員使用堆操作進行內存分配,如果最后忘記釋放內存將會引發什么后果。

大部分學生對于計算機編譯原理虛擬實驗給出正面評價,只有少數人認為虛擬實驗太難(見圖4)。

圖4 學生對計算機編譯原理虛擬實驗的評價

4 結語

虛擬實驗不但是教學手段的創新,還需要在實驗內容上進行完善。計算機編譯原理課程難且抽象,通過虛擬現實技術將抽象問題形象化,解決了信息流動不可視問題,補充了編譯過程實驗體系的內容。相比于傳統的PPT、動畫展示方法,虛擬實驗增加了人機交互功能,可以加深學生對重難點知識的學習和理解。目前已經初步完成了部分計算機編譯原理實驗內容。作為虛擬實驗的進一步完善,要將語言編譯器+虛擬實驗方法結合起來用于計算機編譯原理課程教學中,通過代碼優化、模型優化、增加人機交互手段(例如使用虛擬現實頭盔),增加用戶的沉浸感,提高實驗教學水平。

猜你喜歡
計算機實驗分析
記一次有趣的實驗
計算機操作系統
隱蔽失效適航要求符合性驗證分析
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
做個怪怪長實驗
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
電力系統及其自動化發展趨勢分析
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 日本AⅤ精品一区二区三区日| 欧美a在线| 亚洲天堂久久新| 亚洲无码视频喷水| 91久久夜色精品国产网站| 欧洲成人在线观看| 香蕉视频国产精品人| 国产精品理论片| 韩国福利一区| 国产精品永久在线| 国产极品美女在线播放 | 国产97公开成人免费视频| 永久毛片在线播| 伊人狠狠丁香婷婷综合色| 国产成人毛片| 中文字幕va| 99精品影院| 国产精品欧美在线观看| 美女无遮挡免费网站| 四虎综合网| 青青草原国产av福利网站| 超碰aⅴ人人做人人爽欧美| 91色在线观看| 日韩AV无码一区| 国产欧美日韩一区二区视频在线| 2021国产v亚洲v天堂无码| 无码福利视频| 操操操综合网| 亚洲国产精品国自产拍A| 亚洲综合色婷婷中文字幕| 91香蕉视频下载网站| 色偷偷综合网| 国产综合在线观看视频| 香蕉久久国产超碰青草| 香蕉视频在线精品| 又爽又大又黄a级毛片在线视频| 国产后式a一视频| 欧美亚洲香蕉| 亚洲天堂精品在线| 无码中字出轨中文人妻中文中| 日韩 欧美 小说 综合网 另类 | 国产第四页| 国产精品夜夜嗨视频免费视频 | 国内丰满少妇猛烈精品播| 国产无码网站在线观看| 亚洲欧洲天堂色AV| 亚洲欧美色中文字幕| 日韩av无码精品专区| 亚洲中文字幕23页在线| AV网站中文| 亚洲天堂2014| 毛片在线区| 这里只有精品国产| 亚洲中文字幕精品| 制服丝袜国产精品| 亚洲欧洲日韩综合| 在线免费亚洲无码视频| 日韩激情成人| 国产精品漂亮美女在线观看| 九色最新网址| 国产精品永久不卡免费视频| 亚洲欧美极品| 亚洲男人的天堂久久香蕉| 成人亚洲视频| 91精品啪在线观看国产60岁| 丰满人妻一区二区三区视频| 亚洲天堂视频网站| 国产精品毛片一区| 色综合天天操| 久久精品丝袜| 亚洲一区二区约美女探花| 亚洲欧美一区二区三区蜜芽| 国产精彩视频在线观看| 69av在线| 再看日本中文字幕在线观看| 精品国产香蕉伊思人在线| 99ri精品视频在线观看播放| 毛片最新网址| 国产精品网址你懂的| 真实国产乱子伦视频| 欧美综合区自拍亚洲综合天堂| 国产欧美又粗又猛又爽老|