❶ 關於編譯原理的學習
在未來的幾年大學畢業後,我挖了一個編譯器的理論書籍,然後買了一本類似的書,真正有用的。
無論是工作還是業余的,如果你要編譯一個點稍微有一些智能的程序必須使用。大家都用正則表達式編譯原理,它僅僅是一個小的應用實例。
應用程序可以做一些先進的技術,讓您在行業中站穩腳跟。
等
語法分析可以用來分析它是否包含一些用戶上傳的代碼,使您的網站更可靠。
分析和分解用戶輸入的SQL語句,了解它是否是危險和SQL注入。
結算業務軟體允許用戶輸入條件表達式和四則運算,允許用戶自定義結算公式或條件,使軟體上了一個檔次。
甚至可??以創建自己的編程語言,由於語言做編程後充分利用,然後編譯成一個老闆是什麼樣的語言。有些公司希望一些公司希望java,C#,C + +,VB,等你並不需要各種麻煩。這樣做還有一個好處,你因為語言對象的源代碼是公認的開源社區,這樣你就可以打開。然後,如果這項技術為核心技術,以開公司,具有技術上的先進性這個核心競爭力的更高水平的,是非常有價值的。
想像一下,您的公司的員工只有自我的語言,少的機會,他們就放棄了。你的用戶總是可以得到一套完整的源代碼,他們認為市場的機會是很大的。其他通用軟體公司能不能給一套完整的源代碼,始終保持那麼一點點。
❷ 想要自學編譯原理,需要先學好哪些先修課給點好的學習建議。
首先要弄清楚編譯原理的本質。
編譯本質上就是翻譯,將一種語言翻譯成另一種語言,並且保證含義不變。
而編譯軟體大致分為
詞語分析、語法分析、語義分析以及其他部分。
詞語分析就分析一串串字母哪些屬於一個詞。
語法分析就是分析一串串詞哪些符合語法規則, 哪些不符合語法規則。
語義分析就是分析符合語法規則的詞,在特定語法規則下表達了什麼含義。
這是編譯軟體的前端,後端就是將這些含義轉換相應的機器指令。
❸ 如何學好 程序設計語言 編譯原理 誠求
1.明確學習目的
學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
2.打好基礎
學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
(3)選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發開發工具如 Java 等。 3)網路開發對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
3. 注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
4.掌握編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道 VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
5.多實踐、多交流
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
6.養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
7.上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。例如網站「編程課堂」()主要以 VB 和 Delph;教學和交流為主,提供大量實用技巧;網站「現在時編程學園」()是專門介紹C、VC、VB、Delphi 等的綜合編程網站;網站「 VB 編程樂園 」()提供內容豐富而且實用的編程技術文章、精選控制項、源代碼下載、計算機考試、相關軟體以及編程書籍推薦等等。
8.加強計算機理論知識的再學習
學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
❹ 學習編譯原理要有什麼基礎
編譯原理內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。
主要是講怎麼做程序的編譯器。
需要數學基礎和很強的邏輯思維。
編譯原理里的字元閉包是指有限循環。關於閉包這些名詞解釋,你們的課程應該有離散數學吧?會有對這些概念的解釋。
編譯原理這書啊。得花老大精力去看了。每一行都會是至關重要的。如果你漏看了哪一節,或許接下來看到的新字母就不知道是什麼意思了。
所以要反復看,反復用邏輯思維推敲。做習題,習題類型也就幾種,做熟了就很簡單
❺ 如何學好編譯原理
對於你將來有很大前途,對於你的思維開拓有很大幫助。更主要能幫你學習很多演算法已經更好更快的掌握新的語言。從長遠角度看的話有幫助,但是從近的看,如果你就業啊之類的就沒什麼大用處了。以下是我們老師的說法:編譯程序構造是計算機學科中一個非常成功的分支,也是最早獲得成功的分支;編譯原理蘊涵著計算機學科中解決問題的思路、抽象問題和解決問題的方法;編譯原理課程的學習有利於加深對程序語言的理解,可以幫助你更加快速的掌握新的語言工具;課程中包含了很多軟體技術,程序設計語言編譯程序構造的基本原理和實現方法是軟體的核心技術之一,這對於以後從事軟體設計是很有幫助的.
❻ 覺得《編譯原理》這門課很無聊,又想學好它,有什麼建議嘛
完全不理解,在我看來,編寫程序員的原則,就像沒有畫家研究人體解剖學一樣,當然沒有說不能肯定的成功,但是如果你有一個更好的基礎,就可以提高成功的機會。在底層的情況下,上層的描述將更加真實和生動。
同時,在學習了這門課程後,對於開發者來說,他將開始使用自己的知識發展,享受「上帝」的感覺,嘗試創造一種語言,我想這種感覺不是每門課程都能帶給你的。完成這個過程之後,我相信,當你真的,你寫程序,編程語言對你將有一個深入了解這些知識的本質會讓你站的高度完全不同,如果你學習好,真的,我認為其他的人看到的是語法,你看到背後的實現,這種感覺真的很好,不信你試試。有這么多好處,無論如何都有充分的理由努力學習。
❼ 《編譯原理》猶如天書,怎麼學
話說編譯原理這種東西除了天才和真正潛心做學問的人,有人學懂過么?
要通過考試的話,自己照著書上的例子做個小的詞法分析跟語法分析的玩具玩玩就好了(可以報編譯錯誤的那種 ),語義分析別想了
還有本書叫《深入java虛擬機》,可以參考著看一下,看解釋型語言和編譯型語言的區別