freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

編譯原理課程設計心得體會-閱讀頁

2024-11-14 22:27本頁面
  

【正文】 .北京:、金成植著.《編譯程序構造原理和實現(xiàn)技術》.北京:、體會和建議。明白任務的要求和內容224。開始著手寫代碼224。根據(jù)DFA及自頂向下等理論修改完善代碼等這些過程。在充分了解了語法分析需要哪些信息時,我才真正了解了詞法分析的工作內容和目標,才知道詞法分析需要完成哪些任務獲取到哪些信息。經(jīng)過揣摩書上的例子,自己理解和掌握了怎么設計過濾注釋和分析程序中Token的DFA,于是開始根據(jù)設計好的DFA進行編碼,最后經(jīng)過調試已經(jīng)可以正確地完成詞法階段的任務了。雖然之前寫的詞法分析的代碼已經(jīng)完成了詞法分析的需求,也是根據(jù)DFA的原理編寫的,但是在代碼結構上卻難以體現(xiàn),在對書上的根據(jù)已知DFA寫代碼的例子進行了詳細的研究之后,發(fā)現(xiàn)自己的代碼并沒有像書上那樣完全按照所依據(jù)的DFA各狀態(tài)轉移的關系進行編寫,所以對代碼進行了重寫,像書上一樣嚴格按照狀態(tài)之間轉移的方式進行編寫,將狀態(tài)劃分成11個狀態(tài),狀態(tài)分別按1~11進行標注,程序也按照DFA來編寫,也實現(xiàn)了詞法分析的功能。在寫語法分析的時候,已經(jīng)對編譯器的語法分析的內容有了一定的了解,所以直接進行了理論的學習。由于C語言給出的文法有左遞歸存在,于是自己將存在左遞歸的文法改寫成EBNF的形式,并據(jù)此進行代碼編寫。在編寫過程中,還有一類問題,就是存在公共左因子,如文法expression→ var = expression | simpleexpression,左因子為ID,在分析過程中,由于已經(jīng)取出了一個ID的Token,且生成了一個IdK的節(jié)點,但是在當前狀態(tài)無法確定是哪一個推導,然而IdK節(jié)點已經(jīng)生成,又無法回退,并且是使用自頂向下的分析方法,已經(jīng)生成的IdK在程序上方無法使用,自己通過查閱資料等途徑的學習確定了在這種情形下的處理方式:將已經(jīng)生成的IdK節(jié)點傳到下方的處理程序,所以TreeNode * simple_expression(TreeNode * k)、TreeNode * additive_expression(TreeNode * k)等函數(shù)都被設計成有節(jié)點類型參數(shù)的函數(shù),目的就是將已經(jīng)生成的節(jié)點傳到下面的分析函數(shù)中去。首先最基本的成果是完成了課程設計的任務,實現(xiàn)了編譯器的詞法分析和語法分析階段的功能,詞法分析主要能過濾注釋、分析出語法分析階段需要的Token并滿足語法階段的所有要求,能夠判別詞法分析階段是否出錯和出錯類型和位置。由于在編寫程序過程中,涉及到了正則表達式、DFA、提取公共左因子、消除左遞歸、EBNF、求First集合和Follow集合、遞歸向下分析方法以及編程語言方面的知識,所以,通過本次的課程設計的實踐,使得自己對編譯原理這門課的許多知識點有了更加深刻和具體的理解,而不再只限制于做題。如:以前在編譯原理課上雖然知道First集合和Follow集合怎么求的,卻不知道First集合和Follow集合到底是干什么的,通過編寫程序自己明白了他們的實際作用,使得自己不僅知其然還知其所以然,從而使得自己加深了對知識點的理解和掌握。此外,由于在做報告的時候,需要描繪DFA和程序流程圖,使得自己初步掌握了使用visio和word畫圖的能力。[第四篇:編譯原理課程設計學習心得體會一周的課程設計很快過去,總體感覺得做得很不爽。不知道變量的含義,函數(shù)的作用。c 確實有很多不完美的地方,我最煩的就是指針,指來指去的很讓人頭疼。如果自己獨立編寫代碼的話,我會首先考慮用java,其次考慮用c,最后才用c。因考慮到編譯是一門考研科目,所以自己打算在考試結束以后再完完整整地做一個。一定在考試把所有的漏動填平。通過該課程設計,收獲頗多。通過把該算法的內容,算法的執(zhí)行順序在計算機上實現(xiàn),把原來以為很深奧的書本知識變的更為簡單,對實驗原理有更深的理解。三、激發(fā)了學習的積極性通過該課程設計,全面系統(tǒng)的理解了編譯原理程序構造的一般原理和基本實現(xiàn)方法。把學過的計算機編譯原理的知識強化,能夠把課堂上學的知識通過自己設計的程序表示出來,加深了對理論知識的理解。課程設計中程序比較復雜,在調試時應該仔細,在程序調試時,注意指針,將不必要的命令去除。加深了理解文件系統(tǒng)的內部功能及內部實現(xiàn),培養(yǎng)實踐動手能力和程序開發(fā)能力的目的。使我加深了對《計算機操作系統(tǒng)》,《編譯原理》,《算法分析與設計》《c語言》四門課程的認識。通過本次設計,使我對編譯原理有了進一步的了解,更加鞏固了所學習的知識。語法分析的主要任務就是:在詞法分析的基礎上,根據(jù)語言的語法規(guī)則,把單詞符號串分解成各類語法單位?!睂Υ?,我查找資料設計出一個簡單的程序。編譯原理是一門比較抽象的課程,也比較難以學得透。確實是這樣,我慶幸當初聽老師的話,比較認真地去聽課。但至少對編譯這個概念有一定的了解。它是軟件工程的基礎,學好它,對軟件的設計有很大的幫助。剛開始設計的時候,我根本就找不著路。我們學過C和C++程序設計語言,理所當然會想到使用這兩種語言之一來實現(xiàn)。在網(wǎng)上找了一些資料,也參考過別人所寫的代碼,慢慢開始寫......剛好期末考試,也就寫寫停停,拖了比較長時間。后來寫著寫著,來感覺了,就覺得,其實學習也是一件挺有趣的事。盡管代碼并不完善,并且會有錯誤,不過,今后我會再次努力學習,然后把它做得更
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1