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

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

1.2 编译过程

考虑一种场景,让一个既懂英文又懂中文的俄罗斯人将一篇英文文章翻译成中文,此人可能要经历这样几个阶段:识别英文单词、识别英文句子、理解意思、先译成俄语并进行合理修饰、译成中文。编译器对高级语言的翻译也需要经历这样几个类似阶段:先进行词法分析,识别出合法的单词;再进行语法分析,得到由单词串组成的句子;然后进行语义分析,生成中间代码;再进行中间代码级别的优化,生成优化的中间代码;最后再翻译成目标代码。可见这两种情况的各个阶段的对应非常一致。

时间: 2024-10-29 13:31:43

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

《编译与反编译技术》—第1章1.6节编译的前端和后端

1.6 编译的前端和后端 通常,编译的阶段被分成前端和后端两部分.前端是由只依赖于源语言的那些阶段或阶段的一部分组成,往往包含词法分析.语法分析.语义分析和中间代码生成等阶段,当然还包括与这些阶段同时完成的错误处理和独立于目标机器的优化.后端是指编译器中依赖于目标机器的部分,往往只与中间语言有关而独立于源语言.后端包括与目标机器相关的代码优化.代码生成和与这些阶段相伴的错误处理和符号表操作. 基于同一个前端,重写其后端就可以产生同一种源语言在另一种机器上的编译器,这已经是为不同类型机器编写编译器

《Kali Linux渗透测试的艺术》—8章8.2节攻击过程

8.2 攻击过程Kali Linux渗透测试的艺术本节将介绍一些发动社会工程学攻击的基本步骤.虽然这不是社会工程学攻击的唯一方法,甚至可以说没有成功率高的正式方法,但是本文的这些步骤可帮助您形成社会工程学的基本认识.情报收集.识别漏洞.规划攻击和执行攻击--社会工程学工程师通常都会采用这些某本步骤,它们可有效获取目标的有关信息或访问权限. 1.情报收集:多种技术都可用于找到最容易攻破的渗透测试目标.例如,我们可采用髙级搜索工具收集被测公司员工的E-mail地址:通过社交网络收集被测单位员工的个人

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

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

《编译与反编译技术》——第一章 引论 1.1节编译器与解释器

人类之间的交流是通过语言进行的,但语言不是唯一的,不同的语言之间需要翻译,这就导致了翻译行业的建立.人与计算机之间也是通过语言进行交流的,但人类能理解的语言与机器能理解的语言是不同的,也需要翻译,这就导致了系列编译器的诞生.编译技术所讨论的问题,就是如何把符合人类思维方式的意愿(源程序)翻译成计算机能够理解和执行的形式(目标程序).实现从源程序到目标程序转换的程序,称为编译程序或编译器.反编译技术所讨论的问题,就是如何把计算机能够理解和执行的形式(目标程序)翻译成便于人类理解的形式(高级语言源程

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

本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第1.5节高级语言及其分类,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问"华章计算机"公众号查看. 1.5 高级语言及其分类 根据应用类型的不同,涌现了多种多样的面向人类的高级语言,其中典型的有如下几类形式. 1.过程式语言 过程式语言也称为强制式语言(Imperative Language).这类语言的特点是面向语句,命令驱动.一个用过程式语言编写的程序由一系列语句组成,语句的执行会引起若干存储单元中的值

《编译与反编译技术》—第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 实践环境概述 在编译过程中所涉及的环境主要是编译环境及工具链,常用的工具有词法分析生成器.语法分析生成器.编译器.汇编器.链接器等.在反编译过程中主要涉及反汇编器.静态或动态的调试与分析工具.下面对近年来流行的编译与反编译工具逐一进行简单介绍.