07.程序设计语言基础(编译原理)
0.大纲

1.编译过程 (重点)
- 解释性,就是敲一行代码,就回车,就会告诉你结果 c
- 编译型,是先编译成机器码,再执行 java
语义分析:例如除0异常之类,有些语义错误,无法用语义分析出来

例题1

2.文法
正则闭包,闭包考的少
- 非终结符,大写字母,可以推导出其他符号
- 终结符,用小写字母表示


2.1 语法推导树
根据题目给出的条件,还有根据结果的句型,可以构造出来树

图中
- {a,b} 终结符
- {S,A}为非终结符
- S是起始服
- P是产生式
3.有限自动机和正规式
3.1有限自动机 (重点)
特殊符号后面那个,就是初始值
双圈为代表的的是结束点


这个提考点就是问你 01,或者001,或者00,能不能到终点,我们就看图就行,经过的线,顺次组装起来
如下面 A到C

3.2正规式 (考的多) (重点)
正规式是有限永动机的另外一种表达形式

| 代表或的意思,能推出a,也能推出b , *代表的是循环多次,范围是 0 到 无穷大,0就是一次也不出现,所以会为空

两种题目
1.下面哪种无法识别,就是得不出这个选项 做这种题,就是根据条件,我们自己来推导一下,就可以得出结果
2.求正规式,我们快速做法,就是用这个选项的正规式能不能推出第一题相应的选项,每个选项进行比较即可得出答案


4.表达式(考点)
正常的我们式子,用中缀遍历即可构造出树,符号在中间,括号是不构造进树里面的,但是我们要注意构造树的先后顺序
例如下面的
- a-b*c+5
- (a-b)*(c+5)

5.函数调用(考点)
c语言的&就是取地址。有*的代表的是引用类型



6.各类程序语言特点


浙公网安备 33010602011771号