作业四

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

 主要讲述了文法和语言,文法是有一定的规则的,而这些有规则的文法又按照一定的规则编译组合成语言,文法描述的语言是该文法一切句子的集合;

 根据文法和语言的形式定义,将文法G定义为四元组( Vn, Vt, P, S);

Vn非终结符(或语法实体,或变量)集,Vt终结符集,P为规则的集合,且至少包含一个非终结符,S是识别符或开始符,它是一个非终结符;

 Vn,Vt,P是非空有穷集,Vn和Vt不包含公共的元素;

 文法有0型文法(短语文法)、1型文法(上下文有关文法)、2型文法(上下文无关文法)、3型文法(正规文法)这四种类型;

本章还学习了语法树相关的知识,对于文法中的某些句子可以用两颗不同的语法树来表示的句子,我们称之为“二义性文法”;

语法树中有几个重要的概念:句柄、简单短语、短语、句子、句型、语言;

在推导的过程中若从左到右进行推导则称之为“最左推导”,若从右到左推导则称之为“最右推导”,又叫做“规范推导”;

 以上就是第二章节的大概内容,详细的定义建议翻查书籍或者百度都可以查找到,在此处就不啰嗦了;

整数n: n->...|0|1|2|3|...

标识符i: i-><标识符>

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

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

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

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

函数:  

  type_specifier à

  VOID

  | CHAR

  | INT

  | FLOAT

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

 

posted @ 2019-09-27 18:58  广宇小陈  阅读(126)  评论(0)    收藏  举报