第四次作业 文法和语言总结与梳理

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

第二章讲了文法和语言,文法是有规则的,按照给出的文法规则,编译出相应的语言。

文法描述的语言是该文法一切句子的集合。

文法类型:0型语言,上下文有关语言,上下文无关语言和正规语言。

文法具有二义性,就是一种文法,可以用两种以上的语法树来表示,则称这个文法有二义性。

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

句型分析,分为短语,直接短语,句柄。学习了文法的直观概念、符号和符号串、文法和语言的形式定义、文法的类型、上下文无关文法及其语法树、句型的分析等重点知识。

通过第二章的学习,熟悉了文法的直观概念、符号和符号串、文法和语言的形式定义、文法的类型、上下文无关文法及其语法树、句型的分析等重点知识。

 

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

整数n

<数字>::=0|1|2|3|...|n

标识符i

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

表达式e

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

条件语句

<条件>::=<表达式><关系运算符><表达式>|odd<表达式>

赋值语句

<赋值语句>::<标识符>:=<表达式>

复合语句

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

函数

函数::=<数据类型><标识符>(形式参数){句子}

程序

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

<分程序>::=[<常量说明部分>][<变量说明部分>][<过程说明部分>]<语句>

posted @ 2019-09-27 20:36  fourn666  阅读(160)  评论(0编辑  收藏  举报