文法是用來定義語言的乙個模型,常用的文法體系為chomsky文法體系。
文法g(grammar)是乙個四原組,g=(n,t,p,s),n(non-terminator)是非終結符集合,t(terminator)是終結符集合,p(production)是產生式集合,s(start)是起始符
其中:n 交 t = 空集
p 是形式為 α -> β 的產生式
α ∈ (n∪t)*n+(n∪t)*,也就是說α中必須有乙個非終結符
β ∈ (n∪t)* ,也就是說β可以是空串
s∈n1型文法 又稱上下文有關文法。生成式形式為 α->β, 且 |α| < |β| 並且不存在 a->ε
2型文法 又稱上下文無關文法。生成式形式為 a->α,即左邊必須只有乙個非終結符
3型文法 又稱正則文法。
生成式 a->wb或a->w,稱為右線性文法
生成式 a->bw或a->w,稱為左線性文法
0型文法 對生成式沒有任何限制的文法稱為0型文法。從0到3都是包含的關係,但是有特例,包含 a->ε 產生式的2,3型文法不屬於1型文法。
四種文法產生的語言分別稱為 上下文有關語言,上下文無關語言,正則語言,無限制性語言。
2型語言是很重要的一種語言,除了用四元組的方法表示,此處再介紹兩種表示方法。
當人們要解釋或者討論程式語言本身時,經常又需要一種語言,被討論的語言叫做物件語言,即某種程式語言,討論物件語言的語言稱為元語言,即元語言是描述語言的語言。bnf正規化通常被作為討論某種程式語言語法的元語言,而語法圖是與bnf正規化的描述能力等價的另一種文法表示形式,因其直觀性而經常採用。
(1)巴科斯正規化(backus normal form,bnf)
2型文法生成式左端只有乙個非終結符,所以可以把左端相同的生成式合併在一起,右端用|隔開,用::=代替->,所有非終結符用<>括起來,這是backus為了描述aigol語言首次提出並使用的。
用bnf描述十進位制整數的生成語法:
《無符號整數》 ::= 《數字》|《數字》《無符號整數》
《數字》 ::= 0|1|2|3|4|5|6|7|8|9
(2)語法圖
語法圖有四種基本形式
(3)推導樹
2型文法還經常用推導樹表示
ICP 演算法體系
2.匹配 兩個點集之間的點進行配對 3.權重 給每個匹配的點對分配權重 4.去除 去除不符合條件的點對 5.誤差度量和最小化 基於以上點對,給出每個點對的誤差計算方法 參考icp演算法由besl等人於1992年提出,文獻可以參考 a method for registration of 3d sha...
機器學習 演算法體系
貝葉斯 bayesian 決策樹 decision tree 線性分類 linear classifier 無監督學習 unsupervised learning 邏輯學習機 logic learning machine 自組織對映 self organizing map 關聯規則學習 associ...
資料庫攻擊方法體系
1.查詢有漏洞 的引數。測試像 00.27和 3b這樣的基本sql 注入字元。檢查錯誤,以識別sql注入。2.檢查錯誤,獲得有關資料庫,表和列名的資訊。3.查詢標準標量 版本,檔案位置 獲得資料庫型別資訊。確定與系統 相關的使用者 確定與資料庫相關的使用者。確定與應用程式相關的使用者。4.查詢標準資...