- 梳理第二章的内容,写一篇理解与总结。
知识梳理:
(1)文法是一种工具,作用是用于阐明语法;规则是元语言,是文法;符号=>的含义是,使用一条规则,代替其左端的某个符号,产生其右端的符号串。
(2)EBNF规则被视为元语言,称为文法,用来描述句子是否合法。
(3)符号为字母表中的元素;符号组成任何有穷序列称为符号串;允许空符号串,即不包含任何符号的符号串,用ε表示。
(4)符号串的运算有4种。分别为符号串的头尾、固有头和固有尾;符号串的连接;符号串的方幂;符号串的集合。
2.3
1.规则也成为重写规则、产生式、生成式。
2.文法G定义为四元组(Vn,Vt,p,s)。其中S称为识别符或开始符,它是一个非结束符,至少要在一条规则中作为左部出现。Vn为语法实体或变量,定义V中的符号关系:有直接推导、最左推导和最右推导
2.4
1.文法分成4种类型,即0型、1型、2型、3型。区别在于产生式施加的限制不同;以上下文无关文法文法为例:设G(Vn,Vt,P,S),若P中的每个产生式的形式都是A->aB或A->a,其中A和B都是非终结符,a€Vt,则G是3型文法或正规文法,每一种正规文法都是上下文无关的。
2.5
上下文无关文法推导的直观工具是语法树,一般一个文法只存在一种语法树,即最左推导和最右边推导的语法树是一样的,不存在二义性。
2.6
句型分析,分析算法有两种,分别是自顶向下和自顶向下。所有子树的叶结点是短语,只有一层的为直接短语,句柄是直接短语的一种,句子最后产生终结符。
2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规
如图所示