大家好,欢迎来到IT知识分享网。
一、 程序语言的基本概念
1、低级语言与高级语言
1)低级语言:汇编
2)高级语言: 常见的有Java、C、C++、PHP、Pyhton、Delphi 等。
2、编译形式:汇编、解释、编译。
3、程序设计语言的定义:语法、语义、语用。
4、程序设计语言的分类:
- 过程式(命令式和结构化):Fortran、Pascal、C
- 面向对象: Simula、Smalltalk、C++、Objective C、Java、Python。
- 函数式: lisp 、python、scala
- 逻辑型: Prolog
- 脚本语言: shell、bat、js、phthon
二、程序设计的基本成分
程序语言的基本成分包括数据、运算、控制和传输等。
1、数据成分
- 常量和变量
- 全局量和局部量
- 数据类型
2、运算成分:算式运算、关系运算、逻辑运算。
3、控制成分:顺序结构、选择结构、循环结构。
4、函数:定义、声明、调用(值调用、引用调用)
三、汇编程序基本原理
1、汇编语言是为特定的计算机或计算机系统设计的面向机器的符号化的程序设计语言。用汇 编语言编写的程序称为汇编语言源程序。因为计算机不能直接识别和运行符号语言程序,所以要用 专门的翻译程序——汇编程序进行翻译。用汇编语言编写程序要遵循所用语言的规范和约定。
汇编语言源程序由若干条语句组成,一个程序中可以有三类语句:指令语句、伪指令语句和宏 指令语句。
2、汇编程序:将汇编语言所编写的源程序翻译成机器指令程序。汇编程序一般需要两次扫描 源程序才能完成翻译过程。第一次扫描:检查语法错误,确定符号名字;建立使用的全部符号名字 表;每一符号名字后跟一对应值(地址或数)。第二次扫描:是在第一次扫描基础上,将符号地址 转换成真地址(代真);利用操作码表将助记符转换成相应的目标码。
四、编译程序基本原理
4.1、编译程序的工作过程为6个阶段。
4.2、文法
- G={Vt,Vn,S,P}
- Vt 是一个非空有限的符号集合,它的每个元素称为终结符号
- Vn 是一个非空有限集合的符号,它的每个元素称为非终结符号
- S 称为文法 G 的开始符号
- P 是一个非空有限集合,它的元素称为产生式。
- 1 型文法:又称为上下文有关文法。
- 2 型文法:又称为上下文无关文法。
- 3 型文法:又称为正规文法,使用最多。
- 0 型文法:短语文法。
4.3、有限自动机:
计算机控制系统的控制程序具有有限状态自动机(FA)的特征,可以用有限状态机理论来描述。
1)确定有限自动机(DFA):自动机的每个状态都有对字母表中所有符号的转移。一个确定的有限自动机是个五元组(S ,∑,f,s0 ,Z),其中:
S 是一个有限集,其每个元素称为一个状态。
∑是一个有穷字母表,其每个元素称为一个输入字符。
f 是 S×∑→S 上的单值部分映像。f(A,a)=Q 表示当前状态为 A、输入为 a 时,将转换到下一状态 Q。称 Q 为 A 的一个后继状态。
s0∈S,是唯一的一个开始状态。 Z 是非空的终止状态集合,Z⊆S。
一个 DFA 可以用两种直观的方式表示:状态转换图和状态转换矩阵。状态转换图简称为转换 图,是一个有向图。DFA 中的每个状态对应转换图中的一个节点,DFA 中的每个转换函数对应图 中的一条有向弧,若转换函数为 f(A,a)=Q,则该有向弧从节点 A 出发,进入节点 Q,字符 a 是 弧上的标记。
2)非确定有限自动机(NFA):自动机的状态对字母表中的每个符号可以有也可以没有转移, 对一个符号甚至可以有多个转移。一个不确定的有限自动机也是一个五元组,它与确定有限自动机 的区别如下。
①f 是 S×∑→2S 上的映像。对于 S 中的一个给定状态及输入符号,返回一个状态的集合。 即当前状态的后继状态不一定是唯一确定的。
②有向弧上的标记可以是ε。
4.4、正规表达式
对于字母表∑,其上的正规式及其表示的正规集可以递归定义如下。
(1)ε是一个正规式,它表示集合 L(ε)={ε}。
(2)若 a 是∑上的字符,则 a 是一个正规式,它所表示的正规集为{a}。
(3)若正规式 r 和 s 分别表示正规集 L(r)和 L(s),则:
① r|s 是正规式,表示集合 L(r)∪L(s)。
② r·s 是正规式,表示集合 L(r)L(s )。
③ r*是正规式,表示集合(L(r))*。
④(r)是正规式,表示集合 L(r)。
仅由有限次地使用上述三个步骤定义的表达式才是∑上的正规式,其中运算符“|”、“·”、 “*”分别称为“或”、“连接”和“闭包”。在正规式的书写中,连接运算符“·”可省略。运 算符的优先级从高到低顺序排列为“*”、“·”、“|”。设∑={a,b},下表列出了∑上的一些正规式和相应的正规集。
若两个正规式表示的正规集相同,则认为二者等价。两个等价的正规式 U 和 V 记为 U =V。 例如,b(ab)*=(ba)*b,(a|b)*=(a*b*)*。设 U、V 和 W 均为正规式,正规式的代数 性质如下表所示。
4.5 正规式与有限自动机之间的转换
1)有限自动机转为正规式
2)正规式转为有限自动机
5、解释程序基本原理
解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。因此,解释程序不产生源 程序的目标程序,这是它和编译程序的主要区别。下图显示了解释程序实现高级语言的三种方式。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150632.html