写得有那么亿点点乱 重新整理中~
编译原理课堂笔记之第二章-高级语言及其语法描述
2.1 程序语言的定义 (掌握)
两方面
-
语法 : 程序本质上是一定字符集上的字符串
-
语法是一组规则,用它可以形成和产生一个合式的程序
-
词法规则 :单词符号的形成规则
-
语法规则 :语法单位的形成规则
-
词法规则和语法规则定义了程序的形式结构,不是意义
-
-
语义
-
语义是一组规则,用它可以定义一个程序的意义
-
描述方法
-
自然语言
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JR3yU0k4-1614066161593)(https://gitee.com/Dodo_D_Caster/topyra_image/raw/master/img/image-20210223141643095.png)]
-
形式描述
-
-
-
语用
程序语言的基本功能
- 描述数据和数据的运算
所谓程序,本质上说是描述一定数据的处理过程
程序的层级结构
程序语言成分的逻辑和实现意义
逻辑意义
- 数学意义
实现意义
- 具体实现
2.2 高级语言的一般特性
2.2.1 高级语言的分类 (了解)
-
强制式语言/过程式语言
-
应用式语言
-
基于规则的语言
-
面向对象语言
2.2.2 程序结构 (了解)
作用域
- 一个名字能够被使用的区域称作这个名字的作用域
2.2.3 数据类型与操作 (掌握)
一个数据类型包括三个要素
- 用于区别这种类型数据对象的属性
- 这种类型的数据对象可以具有的值
- 可以作用于这种类型的数据对象的操作
初等数据类型
- 数据类型
- 逻辑类型
- 字符类型
- 指针类型
标识符
- 以字母开头的,由字母组成的字符串
名字
- 标识符经过绑定后形成
- 值:单元中的内容
- 属性:类型和作用域
- 名字的性质的说明方式
- 说明语句明确规定
- 隐含说明
- 动态确定
数据结构
- 数组
- 逻辑上,数组式由同一类型的数据所组成的n维矩形结构,沿着每一维的距离,成为下标
- 数据可变与不可变
- 访问
- 存放方式
c语言中为struct
2.2.4 语句与控制结构 (掌握)
表达式
- 由运算量(也称操作数)和算符(操作符)组成
- 形式
- 中缀
- 前缀
- 后缀
语句
-
控制语句
-
无条件转移语句
goto L
-
-
条件语句
-
if B then S if B then S1 else S2
-
-
循环语句
-
while B do S repeat S until B for i:=E1 step E2 until E3 do S
-
-
过程调用语句
-
call P(X1, X2, ... , Xn)
-
-
返回语句
-
return (E)
-
-
说明语句
-
简单句
-
复合句