亚洲国产区中文,国产精品91高清,亚洲精品中文字幕久久久久,亚洲欧美另类久久久精品能播放

                  族譜網(wǎng) 頭條 人物百科

                  擴(kuò)展巴科斯范式

                  2020-10-16
                  出處:族譜網(wǎng)
                  作者:阿族小譜
                  瀏覽:619
                  轉(zhuǎn)發(fā):0
                  評(píng)論:0
                  基本代碼,如由終結(jié)符即可視字符、數(shù)字、標(biāo)點(diǎn)符號(hào)、空白字符等組成的計(jì)算機(jī)程序的源代碼。EBNF定義了把各符號(hào)序列分別指派到非終結(jié)符的產(chǎn)生規(guī)則:digitexcludingzero="1&quo

                  基本

                  代碼,如由終結(jié)符即可視字符、數(shù)字、標(biāo)點(diǎn)符號(hào)、空白字符等組成的計(jì)算機(jī)程序的源代碼。

                  EBNF 定義了把各符號(hào)序列分別指派到非終結(jié)符的產(chǎn)生規(guī)則:

                  digit excluding zero ="1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9";digit ="0"|digit excluding zero ;

                  這個(gè)產(chǎn)生規(guī)則定義了在這個(gè)指派的左端的非終結(jié)符 digit。豎杠表示可供選擇,而終結(jié)符被引號(hào)包圍,最后跟著分號(hào)作為終止字符。所以 digit 是一個(gè) "0" 或可以是 "1 或 2 或 3 直到 9 的一個(gè) digit excluding zero"。

                  產(chǎn)生規(guī)則還可以包括由逗號(hào)分隔的一序列終結(jié)符或非終結(jié)符:

                  twelve ="1","2";two hundred one ="2","0","1";three hundred twelve ="3",twelve ;twelve thousand two hundred one =twelve ,two hundred one ;

                  可以省略或重復(fù)的表達(dá)式可以通過(guò)花括號(hào) { ... } 表示:

                  natural number =digit excluding zero ,{digit };

                  在這種情況下,字符串 1, 2, ...,10,...,12345,... 都是正確的表達(dá)式。要表示這種情況,于花括號(hào)內(nèi)設(shè)立的所有東西可以重復(fù)任何次,包括根本不出現(xiàn)。

                  可選項(xiàng)可以通過(guò)方括號(hào) [ ... ] 表示:

                  integer ="0"|["-"],natural number ;

                  所以 integer 是一個(gè)零(0)或可能前導(dǎo)可選的負(fù)號(hào)的一個(gè)自然數(shù)。

                  EBNF 還包括描述指定次數(shù)的重復(fù),和排除產(chǎn)生式的某部分或向 EBNF 文法插入注釋的語(yǔ)法。

                  依據(jù) ISO 的擴(kuò)展

                  依據(jù) ISO 14977 標(biāo)準(zhǔn),提供了兩個(gè)設(shè)施來(lái)擴(kuò)展 EBNF。其一是在 EBNF 文法部分的特殊序列,它是在問(wèn)號(hào)包圍內(nèi)的任意文本,其解釋超出了 EBNF 標(biāo)準(zhǔn)的范圍。例如,空格字符可以用如下規(guī)則定義:

                  space =? US-ASCII character 32 ?;

                  其二利用圓括號(hào)在 EBNF 中不能放置到緊隨標(biāo)識(shí)符之后的事實(shí)。下列不是有效的 EBNF:

                  something =foo (bar );

                  所以 EBNF 的擴(kuò)展可以使用這種表示法。例如,在 Lisp 文法中,函數(shù)應(yīng)用可以用如下規(guī)則定義:

                  function application =list(symbol ,[{expression }]);

                  擴(kuò)展 BNF 的動(dòng)機(jī)

                  BNF 有著可選項(xiàng)和重復(fù)不能直接表達(dá)的問(wèn)題。作為替代,它們需要利用中介規(guī)則或兩選一規(guī)則,對(duì)于可選項(xiàng),定義要么是空的要么是可選的產(chǎn)生式的規(guī)則,對(duì)于重復(fù),遞歸的定義要么是被重復(fù)的產(chǎn)生式要么是自身的規(guī)則。同樣的構(gòu)造仍可用在 EBNF 中。

                  可選項(xiàng):

                  signed number =[sign ,]number ;

                  可按 BNF-風(fēng)格定義為:

                  signed number =sign ,number |number ;

                  signed number =optional sign ,number ;optional sign ,=ε|sign ,;(* 使用 ε 來(lái)更清晰的指示空產(chǎn)生式 *)

                  重復(fù):

                  number ={digit }digit ;

                  可按 BNF-風(fēng)格定義為:

                  number =digit |number digit;

                  其他增加和修改

                  EBNF 排除了 BNF 的一些缺陷:

                  BNF 為自身使用了符號(hào) (, |, ::=)。當(dāng)它們出現(xiàn)在要定義的語(yǔ)言中的時(shí)候,BNF 不能不加以修改或解釋的使用。

                  BNF-語(yǔ)法在一行中只表示一個(gè)規(guī)則。

                  EBNF 解決了這些問(wèn)題:

                  終結(jié)符被嚴(yán)格的包圍在引號(hào) ("..." 或 "...") 中。給非終結(jié)符的尖括號(hào) ("")可以省略。

                  通常使用終止字符分號(hào)結(jié)束一個(gè)規(guī)則。

                  進(jìn)一步還提供了定義重復(fù)次數(shù),排除法選擇(比如除了引號(hào)的所有字符)和注釋等的增強(qiáng)機(jī)制。

                  不管所有這些增強(qiáng),EBNF 在能定義的語(yǔ)言的意義上不比 BNF 更強(qiáng)大。在原理上用 EBNF 定義的任何文法都可以用 BNF 表達(dá)。但是經(jīng)常導(dǎo)致可觀的更多規(guī)則的表示。

                  EBNF 已經(jīng)被ISO用代碼 ISO/IEC 14977:1996(E) 標(biāo)準(zhǔn)化了。

                  在某些場(chǎng)合任何擴(kuò)展的 BNF 都被稱為 EBNF。例如W3C使用one EBNF來(lái)規(guī)定XML。

                  另一個(gè)例子

                  只允許賦值的簡(jiǎn)單編程語(yǔ)言可以用 EBNF 定義為:

                  (* a simple program in EBNF ? Wikipedia *)program ="PROGRAM",white space ,identifier ,white space ,"BEGIN",white space ,{assignment ,";",white space },"END.";identifier =alphabetic character ,[{alphabetic character |digit }];number =["-"],digit ,[{digit }];string =""",{all characters ?"""},""";assignment =identifier ,":=",(number |identifier |string );alphabetic character ="A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"|"U"|"V"|"W"|"X"|"Y"|"Z";digit ="0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9";white space =? white space characters ?;all characters =? all visible characters ?;

                  一個(gè)語(yǔ)法上正確的程序:

                  PROGRAM DEMO1 BEGINA0:=3;B:=45;H:=-100023;C:=A;D123:=B34A;BON:=GIRAFFE;TEXT:="Hello world!";END.

                  這個(gè)語(yǔ)言可以輕易的擴(kuò)展上控制流,算術(shù)表達(dá)式和輸入/輸出指令。就可以開(kāi)發(fā)出一個(gè)小的、可用的編程語(yǔ)言了。

                  使用了在標(biāo)準(zhǔn)中提議為正規(guī)表示的下列字符:

                  約定

                  1. 使用了如下約定:

                  擴(kuò)展 BNF 每個(gè)元標(biāo)識(shí)符都被寫(xiě)為用連字號(hào)連接起來(lái)的一個(gè)或多個(gè)字;

                  結(jié)束于“-symbol” 的元標(biāo)識(shí)符是擴(kuò)展 BNF 的終結(jié)符的名字。

                  2. 表示擴(kuò)展 BNF 的每個(gè)操作符的正常字符和它所蘊(yùn)涵的優(yōu)先級(jí)(頂部為最高優(yōu)先級(jí))為:

                  3. 下列括號(hào)對(duì)超越正常優(yōu)先級(jí):

                  作為例子,下列語(yǔ)法規(guī)則展示了表達(dá)重復(fù)的設(shè)施:

                  這些規(guī)則定義的終結(jié)字符串如下:

                  有關(guān)工作

                  W3C使用一種不同的 EBNF來(lái)指定XML語(yǔ)法。

                  British Standards Institute 在1981年出版了一個(gè) EBNF 標(biāo)準(zhǔn): BS 6154。

                  IETF使用在 RFC 4234 中規(guī)定的擴(kuò)充 BNF(ABNF)。

                  參見(jiàn)

                  擴(kuò)充巴科斯范式

                  巴科斯范式

                  正則表達(dá)式

                  Spirit Parser Framework

                  Wirth Syntax Notation

                  引用

                  Niklaus Wirth:What can we do about the unnecessary diversity of notation for syntactic definitions?CACM, Vol. 20, Issue 11, November 1977, pp. 822-823.

                  Roger S. Scowen: Extended BNF — A generic base standard. Software Engineering Standards Symposium 1993.

                  The International standard (ISO 14977) that defines the EBNF is now freely available aszipped pdf file.

                  本條目部分或全部?jī)?nèi)容出自以GFDL授權(quán)發(fā)布的《自由線上電腦詞典》(FOLDOC)。


                  免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫(xiě)的作者,感謝每一位的分享。

                  ——— 沒(méi)有了 ———
                  編輯:阿族小譜

                  更多文章

                  更多精彩文章
                  評(píng)論 {{commentTotal}} 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守《新聞評(píng)論服務(wù)協(xié)議》
                  游客
                  發(fā)表評(píng)論
                  • {{item.userName}} 舉報(bào)

                    {{item.content}}

                    {{item.time}} {{item.replyListShow ? '收起' : '展開(kāi)'}}評(píng)論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}

                    回復(fù)評(píng)論
                  加載更多評(píng)論
                  打賞作者
                  “感謝您的打賞,我會(huì)更努力的創(chuàng)作”
                  — 請(qǐng)選擇您要打賞的金額 —
                  {{item.label}}
                  {{item.label}}
                  打賞成功!
                  “感謝您的打賞,我會(huì)更努力的創(chuàng)作”
                  返回
                  打賞
                  私信

                  推薦閱讀

                  · 巴科斯范式
                  發(fā)展歷史約翰·巴科斯首次在ALGOL58中實(shí)現(xiàn)巴科斯范式。彼得·諾爾在ALGOL60之中,進(jìn)一步發(fā)展它的概念并將它的符號(hào)加以簡(jiǎn)化,稱其為巴科斯范式(BackusNormalForm)。但高德納主張應(yīng)稱為巴科斯-諾爾范式(Backus–NaurForm),因?yàn)樗凰闶且环N正規(guī)形式(Normalform)。介紹BNF規(guī)定是推導(dǎo)規(guī)則(產(chǎn)生式)的集合,寫(xiě)為:::=這里的是非終結(jié)符,而表達(dá)式由一個(gè)符號(hào)序選擇或用指示選擇的豎杠"|"分隔的多個(gè)符號(hào)序列構(gòu)成,每個(gè)符號(hào)序列整體都是左端的符號(hào)的一種可能的替代。從未在左端出現(xiàn)的符號(hào)叫做終結(jié)符。參見(jiàn)八篇書(shū)(使用數(shù)學(xué)結(jié)構(gòu)的梵語(yǔ)文法)擴(kuò)充巴科斯范式(ABNF)擴(kuò)展巴科斯范式(EBNF)GOLDBNF分析器GNUbisonGNU版本的Yacc正則表達(dá)式Wirth語(yǔ)法表示法1977提出的對(duì)BNF的一個(gè)替代者Yacc分析器生成器(與Lex預(yù)處理器一起使用)ANTLR用Ja...
                  · 擴(kuò)充巴科斯范式
                  介紹一個(gè)ABNF規(guī)范是一些推導(dǎo)規(guī)則的集合,書(shū)寫(xiě)為:其中:“規(guī)則”是不區(qū)分大小寫(xiě)的非最終符號(hào)“定義”由定義該規(guī)則的一系列符號(hào)組成“注釋”用于記錄“CRLF”(回車(chē)、換行)用來(lái)結(jié)束規(guī)則名字是不區(qū)分大小寫(xiě)的:,,和都提及同一個(gè)規(guī)則。規(guī)則名字由一個(gè)字母以及后續(xù)的多個(gè)字母、數(shù)字和連字符(減號(hào))組成。用尖括號(hào)(“”)包圍規(guī)則名并不是必需的(如同它們?cè)贐NF里那樣),但是它們可以用來(lái)在散文中界定規(guī)則名,以方便識(shí)別出規(guī)則名。最終值最終值由一個(gè)或多個(gè)數(shù)值字符指定。數(shù)值字符可按下面的方式指定:先是一個(gè)百分號(hào)“%”,緊跟著基數(shù)(b=二進(jìn)制,d=十進(jìn)制,x=十六進(jìn)制),再其后是這個(gè)數(shù)值或數(shù)值串(用“.”來(lái)指示串聯(lián))。例如:“回車(chē)”可以用十進(jìn)制的%d13或十六進(jìn)制的%x0D來(lái)指定,而“回車(chē)換行”則可以用%d13.10來(lái)指定。字面文本是通過(guò)包含在在雙引號(hào)(")中字符串來(lái)指定的。這些字符串是不區(qū)分大小寫(xiě)的,使用的字符集...
                  · 從書(shū)面范式到口頭范式:論民間文藝學(xué)的范式轉(zhuǎn)換與學(xué)科獨(dú)立
                  【內(nèi)容提要】傳統(tǒng)民間文藝學(xué)盡管認(rèn)識(shí)到民間文學(xué)是口頭文學(xué),卻從來(lái)沒(méi)有把民間文學(xué)當(dāng)成口頭文學(xué)看待和研究,而是首先把口頭文學(xué)轉(zhuǎn)化為書(shū)面文本,然后按書(shū)面文學(xué)的概念框架和學(xué)術(shù)范式進(jìn)行研究,正是這種書(shū)面范式的積習(xí),導(dǎo)致民間文藝學(xué)學(xué)科獨(dú)立性的喪失。民俗學(xué)試圖擺脫民間文藝學(xué)以書(shū)面文本為中心的書(shū)面范式,走向田野研究,但因?yàn)榉艞壛藢?duì)文本的理解和對(duì)意義的追尋而使自己混跡于人類(lèi)學(xué)和社會(huì)學(xué),學(xué)科獨(dú)立性愈發(fā)模糊。本文指出,惟有在走向田野的同時(shí),以對(duì)民間口頭文本的理解為中心,實(shí)現(xiàn)從書(shū)面范式、田野范式向口頭范式的轉(zhuǎn)換,才能真正確立民間文藝學(xué)和民俗學(xué)的學(xué)科獨(dú)立地位?!娟P(guān)鍵詞】民間文藝學(xué)民俗文化口頭文學(xué)民間文化一學(xué)科獨(dú)立已經(jīng)成為中國(guó)民間文藝學(xué)從業(yè)者的心病,從北大歌謠運(yùn)動(dòng)算起,這門(mén)學(xué)科在中國(guó)盡管已經(jīng)有八十多年的歷史了,卻從來(lái)沒(méi)有獲得一塊真正屬于自己的園地,在1949年后,它先是寄身中國(guó)語(yǔ)言文學(xué)的籬下,后又借居社會(huì)學(xué)的地盤(pán),一直...
                  · 從書(shū)面范式到口頭范式:論民間文藝學(xué)的范式轉(zhuǎn)換與學(xué)科獨(dú)立
                  【內(nèi)容提要】傳統(tǒng)民間文藝學(xué)盡管認(rèn)識(shí)到民間文學(xué)是口頭文學(xué),卻從來(lái)沒(méi)有把民間文學(xué)當(dāng)成口頭文學(xué)看待和研究,而是首先把口頭文學(xué)轉(zhuǎn)化為書(shū)面文本,然后按書(shū)面文學(xué)的概念框架和學(xué)術(shù)范式進(jìn)行研究,正是這種書(shū)面范式的積習(xí),導(dǎo)致民間文藝學(xué)學(xué)科獨(dú)立性的喪失。民俗學(xué)試圖擺脫民間文藝學(xué)以書(shū)面文本為中心的書(shū)面范式,走向田野研究,但因?yàn)榉艞壛藢?duì)文本的理解和對(duì)意義的追尋而使自己混跡于人類(lèi)學(xué)和社會(huì)學(xué),學(xué)科獨(dú)立性愈發(fā)模糊。本文指出,惟有在走向田野的同時(shí),以對(duì)民間口頭文本的理解為中心,實(shí)現(xiàn)從書(shū)面范式、田野范式向口頭范式的轉(zhuǎn)換,才能真正確立民間文藝學(xué)和民俗學(xué)的學(xué)科獨(dú)立地位?!娟P(guān)鍵詞】民間文藝學(xué)民俗文化口頭文學(xué)民間文化一學(xué)科獨(dú)立已經(jīng)成為中國(guó)民間文藝學(xué)從業(yè)者的心病,從北大歌謠運(yùn)動(dòng)算起,這門(mén)學(xué)科在中國(guó)盡管已經(jīng)有八十多年的歷史了,卻從來(lái)沒(méi)有獲得一塊真正屬于自己的園地,在1949年后,它先是寄身中國(guó)語(yǔ)言文學(xué)的籬下,后又借居社會(huì)學(xué)的地盤(pán),一直...
                  · 馬爾科·范巴斯滕
                  生涯球員時(shí)代球會(huì)范巴斯滕出生于荷蘭的烏得勒支,青年時(shí)代為阿賈克斯青年軍成員。他于1982年首次于荷甲聯(lián)賽上陣,并取得職業(yè)生涯中第一球。后來(lái),阿賈克斯開(kāi)始重用范巴斯滕,為攻擊核心。在1982至1985年間各球季,他在聯(lián)賽射入59球,協(xié)助球會(huì)贏得三次荷甲冠軍;1983年贏得荷蘭杯冠軍,當(dāng)屆還是雙料冠軍。及后范巴斯滕于1984至1987年間,連續(xù)四季成為聯(lián)賽神射手。這在足球史上是極罕見(jiàn)的。其后1985-1986年球季攻入37球,不僅是范巴斯滕在職業(yè)生涯之中最多的入球,更獲得歐洲金靴獎(jiǎng)。而在1987年中的歐洲優(yōu)勝者杯決賽中“一箭定江山”,以1:0擊敗東德的萊比錫火車(chē)頭,為球會(huì)得到14年以來(lái)的第一個(gè)歐洲冠軍。1987年,范巴斯滕與路德·古利特一同轉(zhuǎn)會(huì)至意甲的AC米蘭,但因傷患關(guān)系,首季范巴斯滕只上陣聯(lián)賽11場(chǎng),入3球。至傷愈后AC米蘭簽入弗蘭克·里杰卡爾德,與范巴斯滕以及路德·古利特成為“荷蘭三劍客

                  關(guān)于我們

                  關(guān)注族譜網(wǎng) 微信公眾號(hào),每日及時(shí)查看相關(guān)推薦,訂閱互動(dòng)等。

                  APP下載

                  下載族譜APP 微信公眾號(hào),每日及時(shí)查看
                  掃一掃添加客服微信