上下文無(wú)關(guān)文法

原文地址

文法:它描述語(yǔ)言語(yǔ)法結(jié)構(gòu)的一組形式規(guī)則。

  ?上下文無(wú)關(guān)文法:它定義的語(yǔ)法范疇(或語(yǔ)法單位)是完全獨(dú)立于這種范疇可能出現(xiàn)的環(huán)境诺苹。例如雹拄,在程序設(shè)計(jì)語(yǔ)言中,當(dāng)碰到一個(gè)算術(shù)表達(dá)式時(shí)坪哄,我們完全可以“就事論事”處理翩肌,而不必考慮它所處的上下文。然而念祭,在自然語(yǔ)言中粱坤,隨便一個(gè)詞瓷产,甚至一個(gè)字的意思在不同的上下文中都有可能有不同的意思濒旦。幸運(yùn)的是,當(dāng)今的程序設(shè)計(jì)語(yǔ)言都是上下文無(wú)關(guān)的

尔邓。

  好像有點(diǎn)抽象,來(lái)個(gè)例子

  "→"表示箭頭左邊的由箭頭右邊的定義

  把He gave me a book與上述規(guī)則進(jìn)行對(duì)照沈撞,看其中的語(yǔ)法范疇是否處于適當(dāng)?shù)奈恢玫袷玻绻懔私庥⒄Z(yǔ)的話贷岸,你應(yīng)該可以確認(rèn)這是一個(gè)正確的句子磷雇。做科學(xué)研究都有一個(gè)過程從現(xiàn)象得出一般結(jié)論唯笙,再用實(shí)驗(yàn)驗(yàn)證這個(gè)一般性結(jié)論。有了這個(gè)語(yǔ)法規(guī)則我們可以造出很多這種英文句子(簡(jiǎn)單假設(shè)崩掘,英文語(yǔ)法遠(yuǎn)比這復(fù)雜)苞慢。如果我們要造一個(gè)句子表達(dá)我們自己的意思,利用這個(gè)規(guī)則绍赛,很容易辑畦。


  根據(jù)上述規(guī)則纯出,句子無(wú)需考慮上下文潦刃,就可以判斷正確性(符合<主語(yǔ)><謂語(yǔ)><間接賓語(yǔ)><直接賓語(yǔ)>的規(guī)則)。

  其中分扎,He胧洒,me等為終結(jié)符號(hào),<主語(yǔ)>菲饼、<謂語(yǔ)>、<間接賓語(yǔ)>等為非終結(jié)符號(hào)镐确。

  這個(gè)文法最終要定義<句子>語(yǔ)法結(jié)構(gòu)饼煞,所以<句子>在這里稱為開始符號(hào)砖瞧;<謂語(yǔ)>→<動(dòng)詞>這種書寫形式稱之為產(chǎn)生式。

  歸納一下:上下文無(wú)關(guān)語(yǔ)法G包括四個(gè)部分:一組終結(jié)符號(hào)荣堰,一組非終結(jié)符號(hào),一個(gè)開始符號(hào)振坚,以及一組產(chǎn)生式屡拨。

  說(shuō)明一下:終結(jié)符號(hào)是組成語(yǔ)言不可再分的基本符號(hào)褥实,在程序語(yǔ)言中就是保留字、標(biāo)識(shí)符哥艇、常數(shù)等貌踏;非終結(jié)符號(hào)是一個(gè)給定的語(yǔ)法概念窟勃,是一個(gè)類(或集合)記號(hào)秉氧,而是不是某個(gè)個(gè)體記號(hào);開始符號(hào)是一個(gè)特殊的非終結(jié)符號(hào)亚斋,是語(yǔ)言中我們最終想得到的字符串(在程序語(yǔ)言中,我們最終感興趣的是“程序”這個(gè)語(yǔ)法范疇纸泡,其他的語(yǔ)法都是構(gòu)造“程序”的基石);產(chǎn)生式(也稱產(chǎn)生規(guī)則或者簡(jiǎn)稱規(guī)則)是語(yǔ)法范疇的一種書寫規(guī)則女揭。

  你想嘛栏饮,gave這個(gè)單詞抡爹,拆分為一個(gè)個(gè)字母冬竟,就不再是gave了泵殴,沒有什么特別的含義拼苍;而非終結(jié)符號(hào)就是諸如gave的動(dòng)詞的集合疮鲫。

  ? 額,有個(gè)細(xì)節(jié)好像忽略了妇多,產(chǎn)生式的形式:

    A→α

    箭頭左邊是一個(gè)非終結(jié)符者祖,稱之為產(chǎn)生式的左部绢彤,箭頭右邊稱之為右部。

    A是一個(gè)非終結(jié)符械巡,α是由 非終結(jié)符號(hào)和終結(jié)符號(hào)的并集 的閉包 中的元素 組成的符號(hào)串


? 形式化的上下文無(wú)關(guān)文法定義:

一個(gè)四元數(shù)組G=(VN,VT,S,P)

VN:非空有限的非終結(jié)符集合

VT:非空有限的終結(jié)符集

    S:開始符號(hào)

    P:產(chǎn)生式集合

其中坟比,VN∩VT=?葛账,S∈VN

P中產(chǎn)生式一般形式為A→α|β籍琳,其中A∈VN,α喝峦,β∈(VN∪VT)*

  通常用大寫字母表示非終結(jié)符谣蠢,小寫字母表示終結(jié)符眉踱,α、β谈喳、γ等代表由 終結(jié)符和非終結(jié)符號(hào)的并集的閉包?中的元素 組成的符號(hào)串婿禽。

  例如:E→i|EAE    A→+|*

  是上下文無(wú)關(guān)語(yǔ)法扭倾,E挽绩、A是非終結(jié)符,E是開始符恢筝,而i,+和*是終結(jié)符

2.用上下文無(wú)關(guān)語(yǔ)法定義一個(gè)語(yǔ)言

  一個(gè)上下文無(wú)關(guān)語(yǔ)法如何定義一個(gè)語(yǔ)言呢巨坊,主要思想是從文法的開始符號(hào)出發(fā)撬槽,反復(fù)連續(xù)使用產(chǎn)生式,對(duì)非終結(jié)符進(jìn)行替換和展開趾撵。

   例如:

   算術(shù)表達(dá)式的定義可以寫為:

   E→i

   E→E+E

   E→E*E

   E→(E)

   E代表算術(shù)表達(dá)式侄柔,i代表變量共啃。這四個(gè)產(chǎn)生式的后三個(gè)是遞歸的。

   ? 我們可以定義如下文法G

   E→E+E|E*E|(E)|i

   開始符號(hào)為E暂题,從E出發(fā)E=>(E)=>(E+E)=>(E*E+E)=>(i*E+E)=>(i*i+E)=>(i*i+i)

   符號(hào)"=>"表示僅推導(dǎo)一步

我們定義αAβ=>αγβ為αAβ直接推導(dǎo)出αγβ移剪,僅當(dāng)A→γ是一個(gè)產(chǎn)生式,且α薪者,β∈(VN∪VT)*?纵苛。

如果a1=>a2=>a3=>...=>an,我們稱這個(gè)序列是從a1到an的一個(gè)推導(dǎo)言津。若存在一個(gè)從a1到an的推導(dǎo)怀吻,則稱之為a1可推導(dǎo)出an。用a1=>an表示從a1出發(fā)經(jīng)過零步或若干步渣窜,可推導(dǎo)出an访雪。

   ?假設(shè)G是一個(gè)文法,S是它的開始符號(hào)精置,如果S=>α則稱α是一個(gè)句型元莫。僅含終結(jié)符號(hào)的句型是句子。文法G所產(chǎn)生的句子全體是一個(gè)語(yǔ)言記為L(zhǎng)(G)赶盔。

L(G)={α|S+=>α&α∈VT*}


例如:文法G1:

    S→bA

    A→aA|a

    從符號(hào)S出發(fā)我們可以推出,S=>bA=>ba

    S=>bA=>baA=>baa

    .

?    ?.

    .

    S=>bA=>baA=>...=>ba...a

歸納得出所有以b開頭后頭跟一個(gè)或者多個(gè)a的字符串L(G1)={ban|n>=1}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末杉适,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孽查,老刑警劉巖瓣铣,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異洪规,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柠衍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人叹洲,你說(shuō)我怎么就攤上這事闻葵。” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵莽鸿,是天一觀的道長(zhǎng)蒋得。 經(jīng)常有香客問我怕吴,道長(zhǎng)硼啤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮逼肯,結(jié)果婚禮上篮幢,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好狈涮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著同规,像睡著了一般程腹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天浪默,我揣著相機(jī)與錄音,去河邊找鬼约急。 笑死,一個(gè)胖子當(dāng)著我的面吹牛投剥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播娩缰,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼债蓝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼盛龄!你這毒婦竟也來(lái)了余舶?” 一聲冷哼從身側(cè)響起挟憔,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤迫筑,失蹤者是張志新(化名)和其女友劉穎追他,沒想到半個(gè)月后硅堆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渐逃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年够掠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茄菊。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疯潭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出面殖,到底是詐尸還是另有隱情竖哩,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布脊僚,位于F島的核電站相叁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钝荡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舶衬。 院中可真熱鬧埠通,春花似錦、人聲如沸逛犹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)虽画。三九已至舞蔽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間码撰,已是汗流浹背渗柿。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脖岛,地道東北人朵栖。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饥臂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容