4.文法和语言总结与梳理

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

    程序跟自然语言一样,它有完整定义即语法和语义。程序的语法指的是一特定的规则,通过这些组织可以构建一个合适的程序。

    程序语义则分为两类,静态语义和动态语义,静态语义是用来确定哪些语法适合哪些程序;动态语义则是表明这个程序需要做什么,计算什么。

     通过本章学习了解到语法树是句型结构分析的极好工具,推导的图形表示,又称推导树。一棵有序有向树,因此具有树的性质;分析树的特点:每一个结点都有标记。以及一些简单的推导。

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

整数n:0|1|2|...|8|9|...|n

标识符i:<字母>{<字母>|<数字>}

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

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

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

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

函数:<函数> ::= <类型说明><函数名><复合语句>

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

 

posted on 2019-09-27 12:52  dyunc3  阅读(110)  评论(0编辑  收藏  举报

导航