4.文法和语言总结与梳理
1. 梳理第二章的内容,写一篇理解与总结。
这一章学习了文法和语言的相关知识,让我初步认识了文法和语言,其相关知识有:
如:字母表,符号串, 这些与集合相关;
还有文法和语言的形式定义,文法的类型,上下文无关文法及其语法树,句型的分析以及有关文法实际应用的一些说明以及用法。
这些看上去很玄幻,如果只靠自己看书学习真的很难理解,这是要多看老师解释说明,并且自己多看书才能真正的了解熟悉它,我现在只是模糊的
了解一下文法的类型,还有能推倒一些表达式,和画语法树等等。学习了编译原理之后,我觉得对我们学习软件工程有非常大的帮助,希望以后学好它。
2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规则)
整数n 文法:<n>::=<integer>
标识符i 文法:<i>::=<id>
表达式e
文法:<e>:=[+|-]<项>{<加减运算符><项>}
<项>::=<因子>{<乘除运算法><因子>}
<加减运算符>::=+|-
条件语句 文法:<条件语句>::=if<条件>then<语句>
赋值语句 文法:<赋值语句>::=<id>:=<表达式>
复合语句 文法:<复合语句>::=begin<语句>{;<语句>} end
函数 文法:<函数>::=function <id>() :
程序 文法:<程序>::=<分程序>.