编译原理第二章
2.1程序语言的定义
程序语言主要有语法和语义两个方面定义。
语法是指:一组规则可以产生一个合式的程序,这些规则一部分是词法规则,一部分是语法规则(也叫做产生规则) 。语言的单词符号是有词法规则确定。
一个程序语言只使用一个有限字符集作为字母表。单词符号是语言中具有独立意义的最基本结构。词法规则是指单词符号形成的规则。
语义是这样的一组规则,使用它可以定义一个程序的意义。
高级语言分为:
- 强制式语言——过程语言
- 应用式语言——更注重程序表示的功能,而不是一个语句接一个语句的执行。也成为函数式语言。
- 基于规则的语言——是基于检查一定的条件,当他满足一定条件,则执行适当的工作。
- 面向对象的语言——主要特征:封装性、继承性、多态性。
数据类型与操作
一个数据类型通常包括下面三要素:
- 区别这种类型的数据对象的属性
- 这种数据类型对象可以具有的值
- 可以作用于这种类型的数据对象的操作
初等数据类型
- 数值数据
- 逻辑数据
- 字符数据
- 指针数据
在程序语言中各种名字都是用标示符表示的。所谓标识符系指由字母或数字组成的以字母为开头的一个字符串。
数据结构
- 数组
- 记录——P21
- 字符串、表格、栈和队列
抽象的数据类型
抽象的数据类型包括:
- 数据对象的一个集和
- 作用于这些数据对象的抽象运算的集和
- 这种类型对象的封装,即为除了使用类型中所定义的运算外,用户不能对这些对象进行操作
四种文法的详细介绍 参考