【正文】
一定的理論深度和實際運(yùn)用價值 5設(shè)計質(zhì)量35%創(chuàng)見性 具 有 創(chuàng) 新 意 識 ,設(shè) 計 具 有 一 定 的 創(chuàng) 新 性 5正文部分成績(上表):外文資料譯文成績:總成績: 評定等級:評閱教師評審意見: 評閱教師簽名: 說明:此表指標(biāo)部分為正文部分計分表,正文部分成 績=實評總 分,外文資料譯文成績滿分為 10 分。2. 程序中所用到的遞歸下降算法的相應(yīng)描述,程序在進(jìn)行語法分析過程中對 TOKEN 串的識別,跳過空白字符的相應(yīng)處理方法,在運(yùn)行程序時,程序運(yùn)用 STL 中的棧和向量處理數(shù)據(jù),確定函數(shù) main 的起始位置。 (Persistent Path Objects ) 在 GDI 中,路徑屬于設(shè)備描述表(DC) ,畫完后路徑就會被破壞。前者使用基于句柄的編程方法而后者使用面向?qū)ο蟮木幊谭椒ā? 主要思想如下: CCminusDos 通過調(diào)用 CAnalyzer 的 tracetype 函數(shù)可以先進(jìn)行語法檢查,語法檢查通過后,由 CAnalyzer 調(diào)用 CParser 的 BulideSynaxTree()建立語法樹,與此同時,CAnalyzer 還調(diào)用 CSymbolTable 的 Traverse()函數(shù)建立符號表,所有工作結(jié)束后,由 CScaner 的 NextToken()函數(shù)分析函數(shù)的入口處 Main()函數(shù),分析完后,找到 Main()所在行數(shù),即可進(jìn)行下一步12的運(yùn)行,將圖形顯示出來,即通過 CCminusDos 調(diào)用 CGraphic 的DrawStack()函數(shù)來實現(xiàn)。 文件菜單功能模塊的設(shè)計 文件菜單功能模塊主要是用來對程序進(jìn)行打開,保存等操作,另外退出系統(tǒng)也包含在內(nèi)。重做功能:用來重新做上一次程序的操作。BOOL Redo(CPoint amp。然而,spirit 區(qū)別分析樹和抽象語法樹一代。 C++利用語法樹作為一個中間步驟之間的解析和代碼生成。(設(shè)置查找標(biāo)記)實現(xiàn)方法: void Paste()。(打開文件的路徑)主要用到的方法:virtual BOOL OnNewDocument()。該類包封裝了 庫,另外還有高亮度顯示的 CCrystalView。圖 即該模擬器的系統(tǒng)架構(gòu)圖:C + + 圖形化程序模擬器文件編輯運(yùn)行調(diào)試查看幫助程序調(diào)試程序執(zhí)行查看變量值查看堆棧中的內(nèi)容關(guān)于本程序的幫助打開 、 關(guān)閉程序保存程序查找 、 替換操作剪貼板功能操作程序語法檢查程序運(yùn)行圖 程序模擬器的系統(tǒng)架構(gòu)圖 經(jīng)過整體分析得出本系統(tǒng)應(yīng)完成的任務(wù)有:主要利用現(xiàn)有的平臺,用C++來實現(xiàn)對程序的模擬效果,包括調(diào)試,停止執(zhí)行,切換斷點(diǎn),下一步,單步進(jìn)入,語法檢查,運(yùn)行等程序的基本功能,另外在這些基礎(chǔ)上還要有圖形化的顯示功能,由所有這些功能構(gòu)成一個擴(kuò)展性好的系統(tǒng)。而且視頻設(shè)備的設(shè)備描述表還與特定的窗口有關(guān)。+新增功能:(Gradient Brushes) GDI+允許用戶創(chuàng)建一個沿路徑或直線漸變的畫刷,來填充外形(shapes),路徑(paths),區(qū)域(regions),漸變畫刷同樣也可以畫直線、曲線、路徑,當(dāng)你用一個線形畫刷填充一個外形(shapes) 時,顏色就能夠沿外形逐漸變化。 GDI+3第一章 前 言 課題研究背景現(xiàn)有程序模擬器的發(fā)展方向主要是針對一般程序的運(yùn)行,用戶無法了解內(nèi)部數(shù)據(jù)的處理過程及整個系統(tǒng)的組成,對整個程序的運(yùn)行過程不能有一個很好交互過程,在現(xiàn)有程序模擬器的基礎(chǔ)上來對新程序模擬器的研發(fā),基于 C++程序模擬器是一種可以對數(shù)據(jù)透明化,并且可以使用戶很好了解內(nèi)部數(shù)據(jù)處理過程的一種程序模擬器。s running procedure into a graphical procedure so That the users can take a better understanding of running process of the C++ program.The whole system bases on the store of the GDI+ and CCrystal of the Windows system, adopts the frame of the MVC, develops by the usage of VC++, and es to be abstract parsing tree after making use of the frame of Spirit, among which GDI is used for graphical demonstration and CCrystal for optimizing the interface. The system can open and save the documents of the disks and the users can make a good understanding of the changeable conditions of the variable value and the content of the stack by running the function which bases on the graphical demonstration.關(guān) 鍵 詞(35 個 ) program simulator。,本系統(tǒng)的功能可能完成不了編譯等功能,主要原因是編譯器這部分消耗時間太多,可能無法完成此部分功能,通過本系統(tǒng),再在此系統(tǒng)上加上編譯器的功能就可以算是一個完整的編程平臺了。主要設(shè)計方法或技術(shù)路線:(1)開發(fā)環(huán)境為VC++,圖形化顯示需用GDI+來實現(xiàn)??偝煽儯秸牟糠殖?績+外文資料譯文成績 。3. GDI+在項目中的應(yīng)用 DrawString(),DrawLine(),DrawRectangle(),Graphics 類,Pen 類等。在GDI+中,繪圖工作由 Graphics 對象來完成,你可以創(chuàng)建幾個與 Graphics 分開的路徑對象,繪圖操作時路徑對象不被破環(huán),這樣你就可以多次使用同一個路徑對象畫路徑了。 圖形對象和設(shè)備對象一樣,與屏幕的顯示窗口有關(guān),它包含著與項目重繪有關(guān)的屬性信息(譬如平滑度) ,然而圖形對象并沒有像 GDI 那樣與8Pen(畫筆 )、Path (路徑) 、 Image(圖像)、Font (字體)等攪在一起。運(yùn)行功能類序列圖(圖 ):+ D r a w S t a c k ( ) : v o i d+ D r a w S e l e c t ( ) : v o i dC G r a p h i c+ B u l i d S y n a t a x T r e e ( ) : 未指定 + T r a c e ( ) : v o i d * m _ p S c a n e r m _ s z S c o p eC P a r s e r+ amp。下面一一介紹:(1) 新建功能:這一功能用來新建一個程序文件,新建的文件自動以擴(kuò)展名為CPP 命名。剪切功能:用來剪切當(dāng)前選定的內(nèi)容。ptCursorPos)。該文件的spirit,潛在背后的邏輯分析樹和抽象語法樹代是相同的。同樣地,抽象語法樹是在內(nèi)存中的代表性程序,他們著眼于程序正常運(yùn)行,而不是放在語法。(存儲當(dāng)前文本內(nèi)容)20 BOOL m_bFound。(臨時存儲當(dāng)前程序文件內(nèi)容)LPCTSTR lpszPathName。具體的派生類圖如圖 :C G r a p h i cC V i e wC O u t p u t B a rC C o n t r o l B a rC R i c h E d i tC R i c h E d i t C t r lC E d i t R e p l a c e D l gC D i a l o gC F i n d T e x t D l gC D i a l o gC C r y s t a l T e x t V i e wC V i e w圖 MFC 派生圖(4)圖形界面類包。利用圖形化的 C++程序模擬器來進(jìn)行程序的編寫,不僅可以隨時檢查程序中各變量的變化情況,更為重要的是能夠使用戶對程序起到透明化的過程,而且在教學(xué)方面中也能使學(xué)生便于理解。 GDI+還將支持其它技術(shù),譬如重新著色、顏色校正、元數(shù)據(jù)、圖形容器,也許這些功能我們會在將來的 WindowsXP 或者 Microsoft 中看到. Device Contexts(設(shè)備描述表), Handles(句柄), 和 Graphics Objects(圖形對象) 如果你曾經(jīng)使用過 GDI 編寫過應(yīng)用程序,你肯定對設(shè)備描述表(DC )的概念非常熟悉,設(shè)備描述表是 Windows 使用的一個數(shù)據(jù)結(jié)構(gòu),用于存儲具體設(shè)備能力和與如何在設(shè)備上重繪一些項目的有關(guān)屬性信息。 作為圖形設(shè)備接口的 GDI+使得應(yīng)用程序開發(fā)人員在輸出屏幕和打印機(jī)信息的時候無需考慮具體顯示設(shè)備的細(xì)節(jié),他們只需調(diào)用 GDI+庫輸出的類的一些方法即可完成圖形操作,真正的繪圖工作由這些方法交給特定的設(shè)備驅(qū)動程序來完成,GDI+設(shè)備無關(guān)的應(yīng)用程序變得非常容易。 parsing analysis。關(guān) 鍵 詞(35 個 ) 程 序 模 擬 器 ; 語 法 分 析 ; GDI+英文摘要This paper mainly introduces parsing analysis, run functional design and realize process on the basis of the graphical program simulator, and the merit of the whole system is to make the program39。 本 科 畢 業(yè) 設(shè) 計 作 者 簽 名 : 二 ○○ 八 年 六 月 十 二 日湖 南 師 范 大 學(xué) 本 科 畢 業(yè) 設(shè) 計 任 務(wù) 書 畢 業(yè) 設(shè) 計 題 目 基 于 圖 形 的 C++程 序 模 擬 器 的 設(shè) 計 與 實 現(xiàn) ― ― 語 法 分 析 與 運(yùn) 行 功 能 設(shè) 計 與 實 現(xiàn)作 者 姓 名 黎帥師 所 屬 院 、 專 業(yè) 、 年級 工學(xué)院 計算機(jī)科學(xué)與技術(shù)專業(yè) 20xx 級指 導(dǎo) 教 師 姓 名 、 職稱鐘堅成 助教 預(yù)計字?jǐn)?shù) 120xx 開題日期 20xx.3.11選題的目的和意義,我們以前看到過程序模擬器,如 Masm等,可以看到這些程序模擬器的功能強(qiáng)大,此系統(tǒng)可以完成給定程序的調(diào)試等功能,促進(jìn)新系統(tǒng)的開發(fā)。(2)負(fù)責(zé)開發(fā)文件,編輯,運(yùn)行菜單功能的開發(fā)人員對VC++中的菜單,工具欄,多文檔等方面的知識要有一定的了解,其次,在這個基礎(chǔ)上還需有編譯原理方面的知識,主要是語法分析和詞法分析,語法分析采用遞歸下降的方法來處理。評定成績分為優(yōu)秀、良好、中等、及格、不及格五個等級,總成績 90—100 分記為優(yōu)秀,80—89 分記為良好,70—79 分記為中等,60—69 分記為及格,60 分以下記為不及格。4. MFC 的主要類介紹及 MVC 框架介紹。 (Transformations & Matrix Object) GDI+提供了矩陣對象,一個非常強(qiáng)大的工具,使得編寫圖形的旋轉(zhuǎn)、平移、縮放代碼變得非常容易。在 GDI中,所有與繪圖有關(guān)的繪圖對象必須選入指定設(shè)備描述表中(使用SelectObject 函數(shù)) ,才能被指定的設(shè)備描述表所使用。 N e x t T o k e n ( ) : 未指定 + M a p K e y w o r d ( ) : v o i d m _ t o k e n m _ b i s c l a s s : b o o lC S c a n e r+ O n C o m p i l e T r a c e R u n ( ) : v o i d+ O n C o m p i l e T r a c e T y p e C h e c k ( ) : v o i dC C m i n u s D o c+ d e l e t e H a s h T a b l e ( ) : v o i d+ s t _ i n s e r t ( ) : v o i d+ s t _ l o o k u p ( ) : i n tC S y m b o l T a b l e+ B u i l d S y m b o l T a b l e ( ) : v o i d+ i n s e r t N o d e ( ) : v o i d+ c h e c k N o d e ( ) : v o i d * m _ p P a r s e r : C P a r s e r m _ p S y m b o l T a b l e : C S y m b o l T a b l eC