《编译与反编译技术》—第1章1.5节高级语言及其分类

本节书摘来自华章出版社《编译与反编译技术》一书中的第1章,第1.5节高级语言及其分类,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问“华章计算机”公众号查看。

1.5 高级语言及其分类

根据应用类型的不同,涌现了多种多样的面向人类的高级语言,其中典型的有如下几类形式。

1.过程式语言

过程式语言也称为强制式语言(Imperative Language)。这类语言的特点是面向语句,命令驱动。一个用过程式语言编写的程序由一系列语句组成,语句的执行会引起若干存储单元中的值发生改变。许多著名的语言,如Algol、Fortran、Pascal、C等,属于这类语言。

2.函数式语言

函数式语言也称为应用式语言(Applicative Language)。这类语言的特点是用函数的方式表示其功能,而不是通过一个语句接一个语句的执行来表示具体的操作步骤。这类程序的开发过程体现为,由之前已有的函数构造更复杂的函数。Lisp、ML和Haskell属于这类语言。

3.逻辑程序设计语言

逻辑程序设计语言也称为基于规则的语言。这类语言的程序执行过程是:检查由逻辑表达式表示的条件,当其为真时,则执行相应的动作。Prolog语言是这类语言的典型代表,它使用Horn子句逻辑来表述相关规则,体现程序要做什么,而不是怎么做。

4.面向对象的语言

面向对象的语言已成为目前最流行的语言,这类语言的主要特征是支持封装性、继承性和多态性等特性。像近世代数中的代数系统那样,这类语言将复杂的数据和对这些数据的操作封装在一起,构成对象;对简单对象进行扩充,在继承简单对象特性的基础上,增加新的特性,从而得到更复杂的对象;这一点与近世代数中半群、群、环、域等代数系统之间的继承等关系非常相似。通过对象的构造可以使得面向对象程序获得过程式语言的有效性,通过作用于限定范围内数据的函数的构造可以使其获得函数式语言的灵活性和可靠性。Smalltalk、C++、Java等语言是面向对象语言的典型代表,而OCAML、F#则融合了函数式语言和面向对象的特性。

5.结构化查询语言

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,通常用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言允许用户在高层数据结构上工作,它不要求用户指定数据的存放方法,也不需要用户了解具体的数据存放方式,即使具有完全不同底层结构的不同数据库系统也可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言中的语句还可以嵌套,这使其具有很大的灵活性和很强的功能。

6.其他面向特定应用领域的语言

随着计算机应用领域的进一步拓展,涌现了多种面向特定应用领域的高级语言,较为典型的有:面向互联网应用的HTML、XML,面向集成电路设计的VHDL、Verilog,面向计算机辅助设计的Matlab,面向虚拟现实的VRML等。这些语言推动了计算机应用的快速发展,使得计算机成为人类生活中不可或缺的重要工具。

时间: 2024-12-03 14:01:55

《编译与反编译技术》—第1章1.5节高级语言及其分类的相关文章

《编译与反编译技术》—第2章2.1节词法分析器的需求分析

本节书摘来自华章出版社<编译与反编译技术>一书中的第2章,第2.1节词法分析器的需求分析,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 第2章 词法分析的理论与实践 词法分析是编译过程的第一步,也是编译过程必不可少的步骤.编译过程中执行词法分析的程序称为词法分析器.本章主要介绍词法分析器的手动构造和自动构造的原理. 2.1 词法分析器的需求分析 本节首先介绍词法分析器的功能及其输出的单词符号的表示方式,然后研究将词法分析独立出来的原因.

《编译与反编译技术》—第1章1.8节UNIX/Linux环境中的make和makefile

本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第1.8节UNIX/Linux环境中的make和makefile ,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 1.8 UNIX/Linux环境中的make和makefile 在UNIX或Linux环境中,make是一个非常重要和经常使用的编译工具.无论是自己进行项目开发还是安装应用软件,都会经常用到make或make install.使用make工具,可以将大型的开发项目分解成

《编译与反编译技术》—第2章2.2词法分析器的设计

本节书摘来自华章出版社<编译与反编译技术>一书中的第2章,第2.2节词法分析器的设计,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 2.2 词法分析器的设计 下面将词法分析器作为一个独立的子程序来考虑其设计.本节主要探讨实现词法分析器的关键技术和词法分析器的手工实现. 2.2.1 输入及其处理 词法分析器的结构如图2-3所示.词法分析器首先将源程序文本输入一个缓冲区中,该缓冲区称为输入缓冲区,单词符号的识别可以直接在输入缓冲区中进行.但在

《编译与反编译技术实战》——第1章 实践的环境与工具 1.1 实践环境概述

第1章 实践的环境与工具 本书致力于通过实践及案例,从正反向两个角度介绍编译系统的一般构造原理和基本实现技术,本章首先对书中内容涉及的环境与工具进行简单介绍,这些工具都是编译与反编译过程中常用的工具. 1.1 实践环境概述 在编译过程中所涉及的环境主要是编译环境及工具链,常用的工具有词法分析生成器.语法分析生成器.编译器.汇编器.链接器等.在反编译过程中主要涉及反汇编器.静态或动态的调试与分析工具.下面对近年来流行的编译与反编译工具逐一进行简单介绍.

《编译与反编译技术实战 》一 第1章 实践的环境与工具

第1章 实践的环境与工具 本书致力于通过实践及案例,从正反向两个角度介绍编译系统的一般构造原理和基本实现技术,本章首先对书中内容涉及的环境与工具进行简单介绍,这些工具都是编译与反编译过程中常用的工具. 1.1 实践环境概述 在编译过程中所涉及的环境主要是编译环境及工具链,常用的工具有词法分析生成器.语法分析生成器.编译器.汇编器.链接器等.在反编译过程中主要涉及反汇编器.静态或动态的调试与分析工具.下面对近年来流行的编译与反编译工具逐一进行简单介绍.

《编译与反编译技术》—第2章2.3节有穷自动机

本节书摘来自华章出版社<编译与反编译技术>一书中的第2章,第2.3节有穷自动机,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 2.3 有穷自动机 前面在介绍词法分析程序的手工实现时引入了状态转换图,为了讨论词法分析器的自动生成,需要将上述状态图的概念形式化,即引入有穷自动机.有穷自动机分为确定的有穷自动机和非确定的有穷自动机. 2.3.1 确定的有穷自动机 定义2.9(确定的有穷自动机(Deterministic Finite Autom

《编译与反编译技术实战》——第1章实践的环境与工具

第1章实践的环境与工具本书致力于通过实践及案例,从正反向两个角度介绍编译系统的一般构造原理和基本实现技术,本章首先对书中内容涉及的环境与工具进行简单介绍,这些工具都是编译与反编译过程中常用的工具.

《编译与反编译技术》—第1章1.7节C语言程序的编译流程

本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第1.7节C语言程序的编译流程,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 1.7 C语言程序的编译流程 本节以C语言程序的编译流程为例,介绍实际的C语言编译器是如何运作的.通常把整个代码的编译流程分为编译过程和链接过程. 1.编译过程 编译过程可分为编译预处理.编译与优化.汇编等阶段. (1)编译预处理 编译预处理即读取C源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处

《编译与反编译技术》—第1章1.2节编译过程

本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第X节,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 1.2 编译过程 考虑一种场景,让一个既懂英文又懂中文的俄罗斯人将一篇英文文章翻译成中文,此人可能要经历这样几个阶段:识别英文单词.识别英文句子.理解意思.先译成俄语并进行合理修饰.译成中文.编译器对高级语言的翻译也需要经历这样几个类似阶段:先进行词法分析,识别出合法的单词:再进行语法分析,得到由单词串组成的句子:然后进行语义分