正在加载图片...
编译原理习题与解析(第2版)一— 2.BNF范式 使用BNF范式来描述程序设计语言的文法时,用尖括号括住待描述的语法成分,用“: =”或“→”表示语法成分“定义为”,“”表示“或者”。BNF范式具有简洁、严谨、 精确、无歧义等优点。 例如,赋值语句的语法可表示为: <赋值语句>:=<左部变量><赋值号><表达式> 3.扩充的BNF-EBNF EBNF是在BNF的基础上增加了3组符号: (x表示x可以出现0到多次。{xm”表示x可以出现m到n次 [x表示x可能出现一次,也可能不出现。 ()表示x和y二者取。 例如简单算术表达式的语法可用EBNF表示为: <表达式>:=<表达式{(什)<项》 <项>:=<因式>{(因式>} <因式:=<变量<表达式y 4.自然语言 也可以用自然语言来描述程序设计语言的语法成分。这种表示方式显得不简洁,甚至 累赘,也不直观,且易导致定义不确切。 1.1.3程序的执行 只有正确的程序才能被执行. “一个程序是正确的”包括两层含义:一是书写正确,即合乎语法规则:二是含义正 确,即能够“正确理解与应用”程序中各种语法成分的语义定义,并在逻辑上体现了程序 书写者的意图,因而在正确地输入数据之后,就能获得预期的运行效果。 1.2基本.题 1.2.1填空题 1.一个程序是正确的,包括两层含义:一是(1)二是(2)。 答案:(1)书写正确(或合乎语法规则) (2)含义正确(或合乎语义规则和逻辑意义) 2.描述高级语言语法的常用方法有(1)一、(2)一、(3)等。 答案:(I)语法图(2)BNF范式(3)扩充的BNF范式 Page
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有