国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
少走彎路:學習編譯原理的相關建議 [程序人生]
 少走彎路:學習編譯原理的相關建議出處:CSDN
[ 2005-04-13 15:08:27 ] 作者:hzzasdf 責任編輯:linjixiong
 
  筆者的思路大體上類似第4種方法,但也稍有不同.由于一個偶然的原因, 筆者需要編寫一個詞法分析器和語法分析器,用于程序源代碼的靜態(tài)分析.開始無從下手,硬著頭皮看了點編譯原理,覺得困難很大.后來偶然找到一個類似的開源程序,是利用一個叫做PCCTS的編譯器自動生成工具開發(fā)的,大受啟發(fā).開源就是好!筆者找來了一個叫做ANTLR的工具(它是PCCTS的新版,支持生成java,c++和c#代碼),又下載了一個c語言的語法文件(因為筆者需要處理c代碼文件),然后自己編了少量動作(action)語句,界面代碼,分析處理代碼等,就這樣,在對編譯原理所知甚少(以前學過的因為理解不深都忘了,只記得正則表達式)的情況下,僅用一個星期就寫出了程序.

  這次實踐使筆者對編譯原理興趣大增,重新又學了一遍編譯原理,并歸納出筆者認為比較實用有效的編譯原理學習步驟:

  1.先利用ANTLR之類的編譯器生成工具,做一個小程序(如上面提到的HTML文件轉化成純文本文件的程序),所需知識只是正則表達式的基本知識和生成工具本身的使用方法(可以看聯(lián)機幫助和網(wǎng)上教程(tutorial)來掌握). 這樣做的好處是:

  1)可以體會到編譯原理的實用性,提高學習興趣

  2)入門容易,消除編譯原理學習的畏難情緒.

  3)獲得詞法分析器和語法分析器的感性認識,有利于加深對理論的理解.

  4)獲得編譯器自動生成工具(compiler compiler)的使用經(jīng)驗,提高解決實際問題的能力.(實際工作很多都不是手編而是利用工具的)

  2.象ANTLR之類的工具是開源(open source)的,可研究其源碼,以便必要時自己手編分析程序.

  3.回過頭來看編譯原理教材. 這時大概會發(fā)現(xiàn),很多理論很容易懂,剩下的只有上面說的幾個難點,多看幾遍,重點突破.

  4.結合教材所附源碼,進一步加深對教材的理解

  這里順便提一下,有的編譯原理的教材,對于輸入子系統(tǒng)不單立一章來講,有的甚至完全忽略,筆者認為, 輸入子系統(tǒng)相對于詞法分析器和語法分析器來說當然簡單地多,但也是兩者的基礎,故有必要看源碼來理解.在這方面,ANTLR的實現(xiàn)機制和Lex是不同的(當然和java與c的差異有關),可對照著看.
  
  筆者學習VC++時,深切體會到好教材的重要.筆者開始吃了劣質光盤版”教材”和”21天學VC++”的禍害,看了一個月還如入云霧之中,后來看了《VC++技術內(nèi)幕》,方才豁然開朗.但是編譯原理的教材卻似乎質量相差不是特別大,關鍵還在于合適的方法.以上方法筆者也是誤打誤撞總結出來的,希望有所參考價值.
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《編譯原理》這門課的作用
學好編譯原理的重要
初識 ANTLR
編譯器編譯原理
《編譯原理簡明教程》PPT 第13章
比開源快30倍的自研SQL Parser設計與實踐
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服