第2章高级语言及其语法描述内容摘要:
主语 ::=冠词 形容词 名词 冠词 ::=the 形容词 ::=big 名词 ::=elephant | peanut 谓语 ::=动词 宾语 动词 ::=ate 宾语 ::=冠词 名词 上述推导可写成 句子 = the big elephant ate the peanut + 说明: (1) 有若干语法成分同时存在时,我们总是从最左的语法成 分进行推导,这称之为 最左推导 ,类似的有 最右推导 (一般推 导)。 (2) 从一组产生式可推出不同的句子,如以上产生式还可推 出“大象吃象”、“大花生吃象”、“大花生吃花生”等句子, 它们 在语法上都正确,但在语义上都不正确。 所谓 文法 是在 形式上 对句子结构的定义与描述,而未 涉及 语义 问题。 :我们用语法树来描述一个句子的语法结构。 句子 主语 谓语 冠词 形容词 名词 动词 宾语 冠词 名词 The big elephant ate the peanut 语法成分(在形式 语言中又称“非终 结符”) 单词符号(在形 式语言中又称 “终结符号” ) 文法和语言的形式定义 定义 1: 文法 G=( VN, VT, P, Z) VN :非终结符号集 VT :终结符号集 P:产生式或规则的集合 Z:开始符号(识别符号) Z∈ VN V= VN∪ VT 称为文法的字汇表 产生式: U :: x U ∈ VN, x∈ V* 其中 : : 产生式是一个有序对 (U, x), 通常写为 : U :: x 或 U x; | U| = 1 |x| 0 : 出现在产生式的左部 ,且能推出符号或符号串的 那些符号。 其全体构成非终结符号集,记为 VN。 : 不出现在产生式的左部 ,且不能推出符号或符号串 的那些符号。 其全体构成终结符号集,记为 VT。 P = {无符号整数 → 数字串 ; 数字串 → 数字串 数字 ; 数字串 → 数字 ; 数字 →0 ; 数字 →1 ; ………… 数字 →9 ; } Z = 无符号整数 ; 例:无符号整数的文法: G[无符号整数 ]=( VN, VT, P, E) VN= {无符号整数 ,数字串 , 数字 } VT = {0,1,2,3,……9} 几点说明 : 产生式左边符号构成集合 VN,且 Z ∈ VN 有些产生式具有相同的左部,可以合在一起 例、 无符号整数 → 数字串 ; 数字串 → 数字串 数字 | 数字 ; 数字 →0 | 1 | 2 | 3 | …… | 9 文法的 BNF表示 给定一个 文法,实际只需给出产生式集合,并指定识别符号 例、 G[无符号整数 ] 无符号整数 → 数字串 ; 数字串 → 数字串 数字 | 数字 ; 数字 →0 | 1 | 2 | 3 | …… | 9 推导与归约 定义 2: 直接推导:文法 G: v= x Uy, w= xuy, 其中 x、 y ∈ V* , U∈ VN, u ∈ V*, 若 U :: u∈ P,则 v w。 若 x= y= ε,有 U :: u,则 U u 换句话说, x和 y是符号串,若使用一次产生式可以从 x变换出 y,则称 x直接推导出 y(或者说 y是 x的直接推导),记为 x y。 当符号串已没有非终结符号时,推导就必须终止。 因为 终结符不可能出现在产生式左部,所以将在产生式左部出现的 符号称为非终结符号。 例如: G[N]: N → ND | D D → 0| 1| 2| 3| 4| 5| 6| 7| 8| 9 N ND NDD ND9 N09 D09 109 (6) == == (1) == (3) (4) == == (2) (5) == + N==109 定义 3: +推导: x和 y是符号串,若使用若干次产生式可以从 x变换出 y,则称 x推导出 y(或者说 y是 x的推导),记为 x y。 + N ND NDD ND9 N09 D09 109 (6) == == (1) == (3) (4) == == (2) (5) == 例: 则: 定义 4: *推导: x和 y是符号串,若使用 0次或若干次产生式可以从 x变换出 y,则称 x*推导出 y(或者说 y是 x的 *推导),记为 x y。 * * N==109 则: * N==N 或者说 :若有直接推导序列:x=U0==U1==U2==……==U n=y,则 x==y。 + 直观意义:规范推导=最右推导 定义 5: 最 右 推导:若符号串 α 中有两个以上的非终结符时,对推导的每一步坚持把 α 中的最右 非终结符进行替换,称为最 右 推导。 最 左 推导:若符号串 α 中有两个以上的非终结符时,对推导的每一步坚持把 α 中的最左 非终结符进行替换,称为最 左 推导。 定义 6: 推导的逆过程称之为归约。 例: x ==y,可称为 x直接推导出 y,也可称为 y直接归约出 x。 + x ==y ,可称为 x推导出 y,也可称为 y归约出 x。 语言的形式定义。第2章高级语言及其语法描述
相关推荐
2.全响应分解为自由响应与强迫响应 自由响应又称固有响应 , 它反映了 系统本身的特性 , 取决于系统的特征根; 强迫响应又称强制响应 , 是 与激励相关 的响应。 利用经典法可以直接求得自由响应与强迫响应 , 强迫响应即特解 先求得系统的零输入响应和零状态响应 , 并获得系统的全响应; 然后利用系统特性与自由响应 、 激励与强迫响应的关系可以间接得到自由响应和强迫响应。
独尊儒术 适应中央集权的需要 材料三 天子受命于天,天下受命于天子。 受命之君,天意之所予也。 材料四 与天同者大治,与天异者大乱,故为人主之道,莫明于在身之与天同者而用之。 —— 董仲舒 《 春秋繁露 》 请思考:汉武帝为何采纳董仲舒的主张。 君权神授 天人感应 加强君权的需要 神化皇权 从 理论上 解决了汉武帝国家 “大一统” 的需要 ,有利于 巩固统治。 (以思想的大一统巩固政治的大一统)
= queue[front]; front = front +1; 显然,对于第 1个元素和其它元素的读操作,将出现不一致。 判别队列为空的条件也将复杂化。 下一页 上一页 停止放映 第 40/89 页 关于队列表示的约定 为解决这个问题,约定如下: 队头指针 front总是指向队头元素的前一个位置; 队尾指针 rear总是指向队尾元素的位置。 这样一来,无论对什么元素,出队操作都是一样的。
普通树 二叉树 ( a) ( b) ( c) ( d) ( e) O O O O O O 有两种不同形式 ( a) ( b) O O O O O O O O O O O O O O O 有五种不同形式 下一页 上一页 停止放映 第 33 页 二叉树与树的区别(二) 观念 – 二叉树的子树有顺序关系 , 分左子树和右子树 , 而树则无此区分 ; – 二叉树的分支度一定为 0、 1或 2
探究二:通电导线周围的磁场分布 : ( 1)通电 时间不宜过长 , 电流不宜过 大容易导致学生电源过载 ( 2) 更换电流的方向 重做实验观察磁场的方向 : 12345组直线电流, 6789 10组环形电流, 11 12 13 14 15 16组通电螺线管。 通电直导线 电流周围的磁场是怎样分布的。 成果展示 二 环形电流 现象展示 通电螺线管 现象展示 模型演变 直线电流
描述外部服务 一般情况下,对象包含的操作主要有:对象的创建与初始化、对象的连接、存取对象的属性值、释放对象、计算、监督等。 用适当的名字来标识这些操作,并加上适当的文字或图表说明。 最后,将所有的 OOA文档汇集起来,包括: 5层OOA模型(主题、类 — 对象、结构、属性和操作)、类 — 对象说明和必要的辅助文档。 面向对象的设计