文法的形式化定義
產生式的簡寫
符號的約定
未用尖括號括起來的部分表示語言的基本符號,尖括號括起來的部分稱為語法成分
g=(
vt,v
n,p,
s)
g=(v_t,v_n,p,s)
g=(vt
,vn
,p,s
)
v
nv_n
vn:非終結符集合終結符集合和非終結符集合都是字母表
終結符集合與非終結符集合是不相交的,vt∩
vn=∅
v_t\cap v_n = \varnothing
vt∩vn
=∅
而終結符集合與非終結符集合的並集是文法符號集,vt∪
vn
v_t\cup v_n
vt∪vn
:文法符號集。
p:產生式集合,產生式描述了將終結符和非終結符組合成串的方法。 s∈
vn
s \in v_n
s∈vn
。開始符號表示的是該文法中最大的語法成分。
下列符號是非終結符
字母表中排在後面的大寫字母(如x、y、z)表示文法符號(即終結符或非終結符)
字母表中排在後面的小寫字母(主要是u、v、…、z)表示終結符號串(包括空串)
小寫希臘字母,如α
\alpha
α、β\beta
β、γ\gamma
γ,表示文法符號串(包括空串)
如非特別說明,第乙個產生式的左部就是開始符號
形式化 半形式化和非形式化
形式化 半形式化和非形式化是三種類 型的規範風 格。形式化規範就是用一套基於明確定義的數學概念的符號來書寫,並且通常伴隨著支援性的解釋 非形式化 語句。這些數學概念被用來定義符號的句法和語義,以及支援邏輯推理的證明規則。支援形式化符號的句法和語義規則應該定義如何明確地識別其結構和確定其含義。並且必須...
形式化方法
軟體形式化方法最早可追溯到20世紀50年代後期對於程式語言編譯技術的研究,即 j.backus 提出bnf 描述algol60 語言的語法,出現了各種語法分析程式自動生成器以及語法制導的編譯方法,使得編譯系統的開發從 手工藝製作方式 發展成具有牢固理論基礎的系統方法。形式化方法的研究高潮始於20 世...
形式化方法
1 形式化方法的發展 軟體形式化方法最早可追溯到20世紀50年代後期對於程式語言編譯技術的研究,即j.backus提出bnf描述algol60語言的語法,出現了各 種語法分析程式自動生成器以及語法制導的編譯方法,使得編譯系統的開發從 手工藝製作方式 發展成具有牢固理論基礎的系統方法。形式化方法的研究...