文法和語言的基本知識

2021-10-01 13:24:48 字數 1103 閱讀 7823

序列的集合稱為__形式語言__

程式語言的描述有三個方面:語法語義語用

字母表:字母表是元素的非空有窮集合。

文法:g = (vn,vt,p,s)

​ vn是規則中非終結符號的集合

​ vt是終結符號的集合。vn與vt = 空,vn並vt稱為文法g的字彙表

​ p是文法規則的集合

​ s是開始符號

描述同一語言的文法不唯一。

推導和規則的區別:

直接推導的長度為1,推導的長度大於等於1。廣義推導的長度大於等於0。

句型:有終結符和非終結符

句子:只有終結符

語言:又文法產生的所有句子的集合成為文法所定義的語言,寄為l(g【s】)。

最右推導<=>最左規約 都是__規範推導__和__規範規約__

短語:乙個句型的語法樹中任一子樹葉結點所組成的符號串都是該句型的短語

​ 子樹末端結點行程的符號串是子樹根的短語

素短語:含有終結符的短語且自身不包含其他素短語

直接短語:語法樹中子樹不包含其他子樹

​ 簡單子樹末端階段是子樹根的直接短語

控制代碼:定義:乙個句型的最左直接短語稱為該句型的控制代碼。

​ 語法樹中最左的直接短語

​ 最左簡單子樹末端結點是控制代碼

文法

2型文法(上下文無關文法):

3型文法(正規文法):

判斷文法先從3->2->1->0文法判斷

文法的限制

文法的二義性:如果文法中存在兩顆不同的語法樹,則該文法是二義性文法

C語言基本知識

c語言中提供了一組標準函式,用來解決常見問題 每個標準函式有自己的名字 為了使用這個標準函式需要把 stdio.h 檔案的內容合併到原始檔中 為了使用標準函式需要編寫函式呼叫語句 n 表示換行,可以把後面的內容列印在下一行中 可以採用佔位符列印編寫程式的時候還不知道的數字 d 佔位符和整數型別字配對...

GO語言基本知識

go語言中,變數的宣告與pascal類似 var name int 先用var表示這是乙個變數,然後緊跟變數名,最後是變數型別。與c 一樣,存在指標型別,用 來取位址。數字型別,包括整數與浮點數。常用的用int32,int64,float32,float64。此外還有複數型別 complex64 注...

本體語言OWL基本知識

1 簡單的類和個體 簡單的具名類 class,rdfs subclassof 乙個領域中的最基本概念應分別對應於各個分類層次樹的根。owl中的所有個體都是類owl thing的成員。因此,各個使用者自定義的類都隱含地是 owl thing的乙個子類。要定義特定領域的根類,只需將它們宣告為乙個具名類 ...