一、编译过程

1、解释型
2、编译型

二、文法的定义

1、文法

有序四元组G = (V,T,S,P)
1)V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符
2)T:终结符。是语言的组成部分,是最终结果。V T
3)S:起始符。是语言的开始符号。
4)P:产生式。是终结符代替非终结符的规则。形如 a ->b

2、文法的类型

0 短语文法 图灵机
1 上下文有关文法 线性界限自动机
2 上下文无关文法 非确定的下推自动机
3 正规文法 有限自动机

3、推导树

image.png

三、有限自动机 与正规式

计算题

四、表达式

1、前缀表达式(+ab)

2、中缀表达式(a+b)

3、后缀表达式(ab+)

image.png
例题
(a-b)(c+5)后缀式:ab-a5+

image.png

五、函数调用(传值与传址)

传值,函数调用完毕,参数值没变
传址,函数调用完毕,参数值变化

六、各类程序语言的特点

1、Fortran (科学计算,执行效率高)
2、Pascal(为教学而开发的,表达能力强,Delphi)
3、C(指针操作能力强,高效)
4、Lisp(函数式程序语音,符号处理,人工智能)
5、C++(面向对象,高效)
6、Java(面向对象,中间代码,跨平台)
7、C#(面向对象,中间代码,.Net)
8、Prolog(逻辑推理,简洁性,表达能力,数据库和专家系统)