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

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

 理解:

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

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

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

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

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

 还有一个句型分析,分为短语,直接短语,句柄。,学习了文法的直观概念、符号和符号串、文法和语言的形式定义、文法的类型、上下文无关文法及其语法树、句型的分析等重点知识。通过本章的学习,我对编译原理这门课有了更多的了解,对编译原理的思维方法和逻辑思路有了初步了解。学习了文法的类型,分为0型文法、下上文有关的和上下文无关的。

      

 

2. 尝试写出PL/0 语言的文法。

整数n

n->0|1|2|3|……|8|9

 

标识符i

i->a|b|c|……|y|z|A|B|C|……|Y|Z

 

表达式e

e->[+|-]<项>{<加减运算符><项>}

 

条件语句

<条件语句>->if<条件>then<语句>

 

赋值语句

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

 

复合语句

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

 

函数

<函数>→<主函数><其他函数>|<主函数>

 

程序

<程序>-><分程序>.

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

 

...

posted @ 2019-09-26 19:55  曾宇慧  阅读(226)  评论(0)    收藏  举报