1. 梳理第二章的内容,写一篇理解与总结。

第二章节主要是讲解了符号串、文法和语言的形式定义、文法的类型上下文无关文法及其语法树和举行的分析。

文法有四种类型:0型文法,上下文有关语言(1型),上下文无关语言和正规语言(2型)。

文法具有二义性,一种文法,可以用两种以上的语法树来表示,则称这个文法有二义性。一个句子是二义的,文法就是二义的。只要这个语言含有一个不二义的文法,语言就是不二义的。并且二义性的问题是不可以判定的。

    推导方式有最左推导和最右推导,最右推导也就是规范推导。根据文法推导出来的句子,可以用语法树更直观的表达出来。

 句型分析,包括短语,直接短语和句柄。

总结:总体第二章节的学习,主要的内容学习了,但是某些细节内容还是有点不太理解,有点半知半解的状态,特别是符号串集合那里。所以总的来说,对于文法和语言,自己也就是初步的了解和认识,以及会运用一些知识去解决问题。  

2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规则)

整数n:  ::=<n>{<n>}

标识符i:<标识符> ::= <字母>{<字母>|<数字>}

表达式e:<表达式> ::= [+|-]<项>{<加减运算符><项>}

条件语句:<条件语句> ::= if<条件>then<语句>

赋值语句:<赋值语句> ::= <id>:=<表达式>

复合语句:<复合语句> ::= begin<语句>{;<语句>}end

函数:<函数定义>::=<类型说明><函数名><复合语句>

程序:<程序> ::= <分程序>.

 

posted on 2019-09-27 14:49  符秋雨  阅读(135)  评论(0编辑  收藏  举报