隨筆 - 50  文章 - 0  trackbacks - 0
          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜


          網(wǎng)站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170054  發(fā)表時間: 2008年03月11日

          聲明:本文系JavaEye網(wǎng)站發(fā)布的原創(chuàng)博客文章,未經(jīng)作者書面許可,嚴禁任何網(wǎng)站轉(zhuǎn)載本文,否則必將追究法律責(zé)任!

          除了程序設(shè)計語言之外,沃思在其他方面也有許多創(chuàng)造。為了定義和描述語言,沃思對著名的“巴科斯-諾爾范式”BNF進行了擴充,成為EBNF(Extended BNF)。我們目前所看到的許多語言的 BNF實際上是EBNF,不過人們往往忽略掉這個E字。和BNF一起出現(xiàn)的,還常常有一些看上去像鐵路圖那樣的圖形,稱作“語法圖”(syntax chart或 syntax diagram)或“鐵路圖”(railroad diagram),這也是由沃思所設(shè)計與發(fā)明的,這種圖形標記法的描述能力等價于BNF,但當然更易于閱讀與理解,更加直觀。在語法圖中,用圓圈表示終結(jié)符,用方框表示非終結(jié)符,用有向弧表示走向,圖上一條通路就表示該語法結(jié)構(gòu)的一種正確定義方法。語法圖的4種基本構(gòu)造方法如下。

            (1) 若產(chǎn)生式為W→W1W2W3,則語法圖如圖1。

            (2) 若產(chǎn)生式為W→W1W2|W3a|bcW4 ,則語法圖如圖2。

            (3) 若產(chǎn)生式為W→abW,則語法圖如圖3。

            (4) 若產(chǎn)生式為W→ab|abW,則語法圖如圖4。

            對于較復(fù)雜的產(chǎn)生式,其語法圖一般可通過上述4種語法圖進行組合而得。

            在對上下文無關(guān)文法的研究中,一個很重要的問題是如何確定兩個符號之間的優(yōu)先關(guān)系。現(xiàn)在一般采用的辦法也是由沃思和他的同事韋伯提出來的,就叫沃思-韋伯優(yōu)先關(guān)系(Wirth- Weber precedence relation),或叫簡單優(yōu)先關(guān)系。它規(guī)定上下文無關(guān)文法 G中任意兩個符號的優(yōu)先關(guān)系如下。

            (1)X<Y,當且僅當有產(chǎn)生式 A→αXBβ,且有推導(dǎo)B+→Yr。

            (2)X=Y,當且僅當有產(chǎn)生式A→αXYβ。

            (3)X> Y,當且僅當有產(chǎn)生式 A→αBYβ,且有推導(dǎo)B+→rX及Y →*aδ。

            其中A、B為非終結(jié)符,X、Y為待定優(yōu)先關(guān)系的兩個任意符號,α、β、Υ和δ為由終結(jié)符和非終結(jié)符組成的任意符號串,可以是空串。a是終結(jié)符。

            沃思的學(xué)術(shù)著作很多,主要有如下幾種,其中一些原版是用德文寫的,翻譯成了英文。

            《系統(tǒng)程序設(shè)計導(dǎo)論》( Systematic Programming: An Introduction,Prentice- Hall,1973。其德文版已出至第 5版)

            《算法十數(shù)據(jù)結(jié)構(gòu)=程序》(Algorithms+ Data Structures= Programs,Prentice-Hall,1976)

            《算法和數(shù)據(jù)結(jié)構(gòu)》(Algorithms and Data Structures, Prentice - Hall ,1986)

            《Modula-2程序設(shè)計》(Programming in M0dula-2,Spring6r,1988,第4版)

            《PASCAL用戶手冊和報告: ISO PASCAL標準》 (PASCAL UserManual and Report: ISO PASCAL Standard, Sprillger, 1991)

            《Oberon計劃:操作系統(tǒng)和編譯器的設(shè)計》( Project Oberon:the Design of an Operating System and Compiler,ACM Pr.,1992)

            《Oberon程序設(shè)計:超越Pascal和Modula》(Programming in Oberon: Steps beyond Pascal and Modula, ACM Pr,1992)

            《數(shù)字電路設(shè)計教材》(Digital Circuit Design for Computer Science Students:An Introductory Textbook, Spnnger, 1995)

            《編譯器構(gòu)造的原理和技術(shù)》(Theory and Techniques of Compiler Construction,Addison- Wesley,1996)

            ACM除了1984年授予沃思圖靈獎外,1987年又授予他“計算機科學(xué)教育杰出貢獻獎”。另一重要的國際學(xué)術(shù)組織IEEE也授予過沃思兩個獎項: 1983年的 Emanual Piore獎和 1988年的計算機先驅(qū)獎(Computer Pioneer Award)。1992年,加州大學(xué)伯利分校命名沃思為“杰出校友”。

            沃思是在1984年10月于舊金山舉行的ACM年會上接受圖靈獎的。沃思發(fā)表了題為“從程序設(shè)計語言設(shè)計到計算機建造”(From Programming Language Design to Computer Construction)的圖靈獎演說,回顧了自己在計算機領(lǐng)域所做的工作。演說全文刊載于Communications of ACM,1985年 2月,159- 164頁,也可見《前 20年的 ACM圖靈獎演說集》(ACM Turing Award Lectures——The First 20 Years:1966-1985,ACM Pr.),179-196頁。沃思在演說中強調(diào)了程序設(shè)計語言簡 性的重要意義,也討論了它所需的硬件和軟件環(huán)境(因為沃思一直很重視語言的實現(xiàn)問題)。他介紹了在設(shè)計Modula-2和Lilith中的經(jīng)驗,指出第一手經(jīng)驗和選擇良好開發(fā)工具的無比價值。

            沃思現(xiàn)仍在蘇黎世工學(xué)院任教,他的電子箱為:wirth @ inf.ethz.ch
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領(lǐng)先的電子商務(wù)網(wǎng)站-淘寶網(wǎng)招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170054
          posted on 2008-03-15 10:04 justjavac(迷渡) 閱讀(148) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 上虞市| 方城县| 通道| 富阳市| 九江市| 出国| 苍山县| 宁城县| 固始县| 修文县| 杭州市| 德安县| 富锦市| 万载县| 墨竹工卡县| 石狮市| 江西省| 西乌珠穆沁旗| 怀远县| 柳河县| 武邑县| 介休市| 屯门区| 弥勒县| 武义县| 邯郸县| 田阳县| 乐清市| 冕宁县| 上虞市| 若尔盖县| 永康市| 阜康市| 德庆县| 泸西县| 涿州市| 秦皇岛市| 长汀县| 确山县| 沐川县| 罗江县|