【软件设计师教程】程序设计语言基础知识
生活随笔
收集整理的這篇文章主要介紹了
【软件设计师教程】程序设计语言基础知识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇博文主要對《軟件設計師教程》第二章進行粗略的總結(沒有在畫嚴格意義上的思維導圖),希望能讓讀者對第二章有個概要認識。
(一)圖
(二)其他
1.解釋程序和編譯程序的區別?
(1)解釋程序:直接解釋執行源程序;或將源程序翻譯成某種中間代碼后再加以執行。解釋程序和源程序參與到程序的運行過程中。
(2)編譯程序:將源程序翻譯成目標語言程序,然后在計算機上運行目標程序。機器上運行與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程。
2.詞法分析器的構造
(1)用正規式描述語言中的單詞構成規則
(2)為每個正規式構造一個NFA (不確定的有限自動機),它識別正規式所表示的正規集
(3)將構造出的NFA轉換成等價的DFA(確定的有限自動機)
(4)對DFA進行最小化處理,使其最簡
(5)從DFA構造詞法生成器
3.文法分類
(1)0型文法:短語文法,相當于圖靈機,0型語言遞歸可枚舉
(2)1型文法:上下文有關文法,對非終結符的替換必須考慮上下文
(3)2型文法:上下文無關文法,對非終結符的替換無需考慮上下文
(4)3型文法:正規文法
總結
以上是生活随笔為你收集整理的【软件设计师教程】程序设计语言基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab中的pascal函数
- 下一篇: java窗口进度条_java进度条窗口具