作业四
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
程序: ::=<分程序>::=[<常量说明部分>][<变量说明部分>][<过程说明部分>]<语句>
浙公网安备 33010602011771号