編譯技術基礎 (二)高階語言及其語法描述

2021-10-11 11:43:18 字數 1119 閱讀 4585

語法

語法是指一組可以形成和產生合式程式的規則,包括詞法規則和語法規則兩部分。

詞法規則,指單詞符號的形成規則

語法規則,指語法單位的形成規則 語義

一組可以定義程式意義的規則,這些規則稱為語義規則

文法的分類

0型文法:也稱為短語文法,指的是p中每個產生式α→β的左部α中至少含有乙個非終結符的文法。0型文法描述的語言稱為0型語言,它是一種遞迴可列舉語言;反之,遞迴可列舉集必定是0型語言,並且可由圖靈機進行識別。

1型文法:也稱上下文有關文法,是指在0型文法的基礎上,若p中每個產生式α→β還滿足|α|≤|β|(s→ε除外)的文法。對終結符進行替換時必須考慮上下文環境,而且一般不允許替換成空串ε。1型文法描述的語言稱為1型語言上下文有關語言,這種語言可由限行界限自動機來識別。

2型文法:也稱上下文無關文法,是指p中的每個產生式形如a→β的文法,其中a∈vn,β∈(vt∪vn*)。對非終結符進行替換時不必考慮上下文。它所描述的語言稱為2型語言或上下文無關語言,這種語言可以由下推自動機來識別。

3型文法:也稱為正規文法,是指p中的每個產生式形如a→αb或a→α的文法,其中a、b∈vn,α∈vt*。這種形式的3型文法也稱為右線性文法。若p中每個產生式形如a→bα或a→α,則稱這種形式的3型文法為左線性文法。它所描述的語言稱為3型語言正規語言,這種語言可以由有限自動機來識別。

(1)簡述識別符號和名字的定義與區別。

名字都是用識別符號來表示的,雖然名字和識別符號在形式上往往難於區分,但二者是有本質區別的。

識別符號是乙個沒有意義的字串行,而名字卻有明確的意義和屬性。

高階語言及其語法描述

詞法規則 合法單詞的構成規則,也就是如何從字母表中選擇字元構成乙個合法單詞 語法規則 合法程式的構成規則,也就是如何把各個單詞符號組成更大的語法單位 高階語言的一般特性 1.表示式的形式 字首,中綴,字尾 2.表示式中的運算子 算數,關係,邏輯 優先順序,結合性 其中優先順序和結合性是消除文法二義性...

編譯原理 第二章 語言及其文法

1 基本概念 串是乙個有窮符號 symbol 序列 串s的長度,通常記作 s 是指s中符號的個數 空串 empty string 是長度為0的串,用 epsilon 表示 0 2 基本運算 如果x和y是串,那麼x和y的連線 concatenation 是把y附加到x後面而形成的串,記作xy 注意 s...

編譯原理 第二章 程式語言及其文法

1 文法 g s xsx y所識別的語言是 x n y x n 2 給定文法a ba ca,為該文法句子的是 bca 3 設有文法g s s s1 s0 sa sc a b c,下列符號串中是該文法的句子有 bc10 4 文法g產生的 句子 的全體是該文法描述的語言。5 若文法g定義的語言是無限集,...