第二章总结:
一个程序设计语言是一个几号系统,如同自然语言一样,它的完整性定义包括语法和语义两个方面。一个语言的语法是一组规则,用它可以形成和产生一个合适的程序。类型匹配、变量作用域等是无法用上下文无关手段检查的,这些工作属于语义分析工作。程序设计语言的语义常常分为两类:静态语义和动态语义。静态语义是一系列限定规则,并确定哪些合乎语法的程序是适合的;动态语义也称作运行语义或执行语义,表明程序要做什么,要计算什么。
PL/0文法或语言规则:
整数n:→0|1|2|...|8|9
标识符i:=<标识符>
表达式e:=[ + | - ]<项>{<加减运算符><项>}
条件语句:= if <条件> then <语句>
赋值语句:= <id> :=<表达式>
复合语句:= begin<语句>{;<语句>} end
函数:不会
程序:<分程序>:=[<常量说明部分>][<变量说明部分>][<过程说明部分>]<语句>