1. 程式人生 > >編譯原理第3講——高階程式設計語言的語法描述

編譯原理第3講——高階程式設計語言的語法描述

上下文無關文法

文法

文法:描述語言的語法結構的形式規則 在這裡插入圖片描述 He gave me a book.按照規則進行變換 在這裡插入圖片描述

語法描述的幾個概念

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 注意:有前後之分的區別! 在這裡插入圖片描述 閉包與正規閉包區別:若V中原來沒有空字,則閉包中一定有空字,但正規閉包不會引入空字

上下文無關文法

在這裡插入圖片描述 終結符:不能再分解的單位 非終結符:句子,可以再分解和定義 在這裡插入圖片描述 所定義的語言最終感興趣的文法單位。對於英語來說是句子 在這裡插入圖片描述 左邊是非終結符,右邊是終結符和非終結符組成的串。 G= < {i,+,*,(,)}, {E}, E, P >

  • 第一元:終結符i代表識別符號
  • 第二元:唯一的非終結符E,代表表示式
  • 第三元:開始符號
  • 第四元:文法的產生式定義,它包括 在這裡插入圖片描述

約定化簡 在這裡插入圖片描述