ITKeyword,专注技术干货聚合推荐

注册 | 登录

编译原理——语言处理程序

zwk626542417 分享于

2020腾讯云10周年活动,优惠非常大!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1040

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

推荐:软考-程序设计语言基础(编译原理)

  首先声明一下,本系列软考的文章是针对软件设计师(中级)的。   在软件设计师考试中,关于程序设计语言这一章节,前面的知识很基础,像一些控制结构和数

概况


程序语言是为了书写计算机程序而人为设计的符号,用于对计算过程进行描述、组织和推导,程序语言分为低级语言和高级语言,低级语言包括计算机硬件能识别的由0、1组成的机器指令语言和用符号组成的指令语言汇编集合的汇编语言,高级语言是人们开发的功能更强、抽象级别更高的语言以支持程序设计,面向各类应用的程序语言。

 

由于计算机只能理解由0、1序列构成的机器语言,因此高级程序语言需要翻译,即将高级语言或汇编语言编写的程序翻译成某种机器语言好曾向,担负这一任务的程序称为“语言处理程序”,语言处理程序的基本方式为汇编、解释和编译。

 


汇编程序

 

用符号表示的指令称为汇编指令,汇编指令集合称为汇编语言。

 

汇编语言由指令语言、伪指令语句和宏指令语句构成。指令语句又称为机器指令语言,将指令语言汇编后能产生相应的机器代码。伪指令语句,是指示汇编源程序时完成某些工作,通俗的说是写给“汇编软件”看的,不翻译成机器码。宏指令语句,多次重复使用的程序段叫宏,需要使用这段程序时,只要使用宏名即可以,这样宏的引用就是宏指令语句。

 

汇编语言编写的程序为汇编语言程序,汇编语言程序将汇编语言所编写的源程序翻译成机器指令程序。该工作包括两部分,一是将汇编语言转换成机器指令,另一部分处理源程序中的伪指令。该工作是实现途径是通过两次扫描源程序。

 


编译程序


编译程序是把某种高级语言书写的源程序翻译成目标语言程序。

推荐:编译原理文法语言递归实现

   今天做了一道题,感觉比较有意思,就是编译原理里面的。刚好也总结回顾一下编译原理方面的知识    文法语言:一共分为四类,0,1,2,3型   文法G为一个四元组,G

 

编译程序工作分为六个阶段,分别是此法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成这六个阶段,但是在实际的编译器中可能会将其中的某些阶段结合在一起进行处理。

 

在逻辑上将这六个阶段分为前段和后端,前段从词法分析到中间代码生成4个阶段,后端包括代码优化和目标代码生成这两个阶段,前段和后端把编译器分成了与机器无关编程语言有关和机器有关编程语言无关两部分。

 

解释程序


解释程序可以直接将源程序解释执行,也可以将源程序翻译成某种中间代码形式,然后对中间代码进行解释来执行。

 

解释程序的词法、语法和语义与编译程序基本相同,不过不同的是解释程序不产生目标程序,运行时候需要源程序和解释程序参与。

 


编译与解释比较


编译方式下,机器上只运行目标程序,源程序和编译程序不参与目标程序执行;解释方式下,源程序和解释程序要参与到程序运行过程中,运行程序的控制权在解释程序。

 


编译较解释效率高,解释方式下运行程序,需要反复多次扫描源程序,并且需要更多的内存;

编译方式进行目标代码生成并优化在时间和空间上都比解释程序耗费多,但是编译程序的最大的优势是一次编译完成多次运行,所以整体效率比解释高。

推荐:C语言编译原理分析

C语言编译过程详解 C语言的编译链接过程是要把我们编写的一个C程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式

概况 程序语言是为了书写计算机程序而人为设计的符号,用于对计算过程进行描述、组织和推导,程序语言分为低级语言和高级语言,低级语言包括计算机硬件能识别的由0、1组成的机器指令语言和用符号

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。