您的位置: 西安视窗 > 财经 > 正文

图文讲解-编程语言基础!

2020-11-19 05:04:31来源:阅读:-

本节是第一讲的最后一小节,主要为大家介绍语言处理程序,也就是各个编程语言的基本原理。首先看一下编程语言发展历程。

机器语言:计算机发明之初,人们为了去控制计算机完成自己的任务或者项目,只能去编写“0”、“ 1”这样的二进制数字串去控制电脑,其实就是控制计算机硬件的高低电平或通路开路,这种语言就是机器语言。机器语言,也就是第一代编程语言。

汇编语言:第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令。例如:ADD表示加法、SUB表示减法等。仍然是面向机器的语言,目前应用驱动程序、嵌入式操作系统和实时运行程序。

高级语言:不依赖于计算机硬件,能够在不同机器上运行的程序。语言又接近于数学语言或人的自然语言。常见的有:Java、C、C++、PHP、Python等等。

语言处理程序基础

语言处理程序是一类系统软件的总称,其作用是将高级语言或汇编语言编写的程序翻译成机器语言程序,使程序在计算机上运行。主要分为汇编程序、编译程序、解释程序。

汇编程序:汇编程序的功能就是用汇编语言编写的源程序翻译成机器指令程序。汇编语言有3类语句:指令语句、伪指令语句、宏指令语句。需要两次扫描才能完成翻译过程。第一次扫描定义符号的值并创建符号表;第二次扫描产生目标程序。

编译程序:编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序。

以下是编译程序的流程:


图文讲解-编程语言基础

1、词法分析:源程序逐行扫描,识别出“单词”符号,以二元组的方式输出,单词种别和单词自身的值。例如:var x,y,z;x=y+z*60; 转变成 var id1,id2,id3;id1=id2+id3*60;

2、语法分析:构造语法树,如有语法错误就指出。

语法树如下图所示:

图文讲解-编程语言基础

3、语义分析:进行数据类型的分析和检查。

4、中间代码生成:一种简单且含义明确的记号系统,常用的一种四元式,(运算符,运算对象1,运算对象2,运算结果)。例如:x=y+z*60; ① (int,60,-,t1) ②(*,id3,t1,t2) ③(+,id2,t2,t3) ④(=,t3,-,id1)

5、代码优化:优化原则程序的等价变换原则。 ①(*,id3,60,t1) ②(+,id2,t1,id1)

6、目标代码生成:将中间代码变换成特定机器上的代码。

解释程序:解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,执行程序时,直接执行源程序或源程序的中间表示形式。特点:不产生源程序的目标程序。

解释程序流程如下图所示:


图文讲解-编程语言基础

基本结构:第一部分是分析部分,包括通常的词法分析、语法分析、语义分析程序,经语义分析后把源程序翻译成中间代码。第二部分是解释部分,用来对第一部分产生的中间代码进行解释执行。

编译与解释的比较

(1)效率。编译比解释方式有更高的效率。

(2)灵活性。解释方式需要反复检查源程序,比编译方式更灵活。

(3)可移植性。解释器重新编译可运行在不同环境中,可移植性更强。

最新的编译系统:既提供编译也提供解释,两种方式相结合。例如:Java虚拟机的compiling-just-in-time技术,代码在第一次运行时编译,其后都不再进行编译。

以上内容部分摘自视频课程01编程知识基础-7语言处理程序。最后,希望大家远离病毒,疫情早日结束,湖北加油!中国加油!

推荐阅读:焦点视界网

滚动推荐
04:31图文讲解-编程语言基础!
例如:Java虚拟机的compiling-just-in-time技术[详细]
57:57人人都在说的数据中台到底是什么?!
文章结构1 什么是数据中台2 数据中台提供了什么价值3 什么样的企业需[详细]
44:47解密国内BAT等大厂前端技术体系-
进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,Reac[详细]
37:137个非常良心的黑科技学习App,值
今天推荐 7 个非常良心的学习 App ,每一个都是小众好用,让你眼前[详细]
18:30我不要你觉得,我要我觉得!漫步者L
自从一众厂商追随苹果的步伐取消耳机孔之后,包括笔者在内的很多人经历了一[详细]
07:42一年过去,手机出了这么多,便宜又好
刚刚过去双十一和双十二,许多手机促销已经结束。如果有想要在这个时候购买[详细]
47:22以够用党的名义,向你推荐10款便宜
想找一款配置高好用却不贵的手机,是不是觉得没有好吃不贵的东西。今天小编[详细]