學習筆記(05):2020軟考軟件設計師--基礎知識實戰培訓視頻-程序語言基礎知識(一)...

立即學習:https://edu.csdn.net/course/play/7883/161184?utm_source=blogtoedu

一. 程序設計語言基本概念

  1. 低級語言和高級語言
    機器語言和彙編語言稱爲低級語言.
    機器語言指0 \ 1組成的機器指令序列.
    彙編語言指用符號表示指令的語言.
    高級語言是從人類的邏輯思維角度出發\面向各類應用的程序語言,抽象程度大大提高,需要編譯成特定機器上的目標代碼才能執行.
  2. 編譯程序和解釋程序
    高級語言或彙編語言編寫的程序稱爲源程序,源程序不能直接在計算機上執行.
    如果源程序是彙編語言編寫的,則需要一個稱爲彙編程序的翻譯程序將其翻譯成目標程序,然後才能執行.
    如果源程序是高級語言時,這個翻譯程序稱爲編譯程序.
    按源程序中語句的執行順序,逐條翻譯並立即執行相關功能的處理程序,稱爲解釋程序.

    程序的執行方式:
    1.編譯執行:按編譯方式在計算機上執行用高級語言編寫的程序,需經過兩個階段:
    編譯階段,把源程序翻譯爲目標程序;
    運行階段,真正執行此目標程序.
    優點:執行效率高,佔用資源小.
    缺點:兼容性差.
    2.解釋執行:源程序的每個語句一經解釋就立即執行.
    優點:可移植性較好,開發速度較快,與用戶通信方便.
    缺點:效率低.(因爲每次執行都要解釋一遍)

二.編譯系統基本原理(3-5分)

編譯程序的工作過程可以分爲6個階段:詞法分析\語法分析\語義分析\中間代碼生成\代碼優化\目標代碼生成.(背記)

1.詞法分析階段

輸入源程序,對構成源程序的字符串進行掃描和分解,識別出一個個的單詞,刪掉無用信息,報告分析時的錯我.

一個程序語言的基本語法符合分爲五類:關鍵字\標識符\常量\運算符\界符等

詞法分析器所暑促單詞符號常常表示成如下的二元式:(單詞種類,單詞符號的屬性值)(爲固定長度,符號屬性值可以用指針表示,指向內存中的值)

描述詞法規則通常用:正規式和有限自動機.

2.狀態轉換圖

狀態轉換圖是狀態有限的有向圖,用圓圈表示結點狀態,結點之間有向邊代表狀態轉換,有向邊上可標記字符,表示前一狀態接受某一個字符之後的狀態轉移.

 

狀態轉換圖的功能:

  • 用於識別一定字符串

狀態轉換圖的要求

  • 狀態(即結點)個數有限
  • 至少一個初始狀態,若干中止狀態
  • 每條邊上標有字符(也可以是空字符)

狀態轉換圖的表示習慣

  • 初始狀態用"o"表示
  • 非終止狀態用"o"表示
  • 狀態之間的跳轉用"------>"(有向邊)表示
  • 終止狀態用""表示
  • 多讀進一個字符用"*"表示

3.正規表達式與正規集(定義和運算)

狀態轉換圖可以構造詞法分析程序,但屬於非形式花描述正規表達式(簡稱正規式)是詞法分析的形式化表示方法.所謂形式化的方法,是指用一整套帶有嚴格規定的符號體系來描述問題的方法.

優點:更加清晰和準確

 

正規式定義中:

  • "|" 讀爲 "或"
  • "." 讀爲 "連接"
  • "*" 讀爲 "閉包"(即,任意有限次的自重複連接).

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章