作业4

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

理解:这一章我学习了文法和语言,了解到了文法与语言的形式定义,文法和语言的规则、分析、类型和推导,还学习了上下文无法文法以其语法树。

文法是语言的一种表现形式,文法是由非终结符(大写字母)和终结符(小写字母)以及“—>”组成的,通过这一章的学习我学会了构造文法来表达语言,即利用文法的规则和推导手段,将语言中的每个句子用严格定义的规则来构造,它的行为相当于一个过程:输入一个符号串判断是否属于某语言,如果是,则该过程经过有限次的计算然后停止回答“是”;如果不属于,则该过程要么停止回答“不是”,要么该过程永远的运行下去。而文法也有四个类型,0型文法、上下文有关文法、上下文无关文法和正规语言。

总结:这章的学习主要是学习如何推导文法跟语法树,通过构造文法来表达语言。这对我们的逻辑思维还是有一定要求,同时通过这些锻炼了我们的逻辑思维。

 

 

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

整数n

标识符i

表达式e

条件语句

赋值语句

复合语句

函数

程序

...

 

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

标识符i     i->a|b|c|……|y|z|A|B|C|……|Y|Z (<字母>{<字母>|<数字>} )

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

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

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

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

函数        ::= =<主函数>

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

 

posted on 2019-09-27 19:31  邓伟江  阅读(102)  评论(0编辑  收藏  举报