源程序

第一次作业

∥☆過路亽.° 提交于 2019-11-29 04:13:21
1)编译程序与翻译程序、汇编程序的联系与区别 编译程序是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。编译程序工作时,先分析,后综合,从而得到目标程序。   翻译程序是指一个程序,它把一种语言所写的源程序翻译成与之等价的另一种语言的目标程序。解释程序也是一种翻译程序,它将源程序作为输入并执行它,边解释边执行。它与编译程序的主要区别在于在解释程序执行的过程中不产生目标程序,而是按照源语言的定义解释执行源程序本身。   汇编程序要一个翻译策程序,它把汇编语言程序翻译成机器语言程序。 2)编译过程包括哪几个主要阶段及每个阶段的主要功能。   编译程序划分为6个阶段,分别是词法分析、语法分析、中间代码生成、代码优化和目标生成。词法分析是编译过程的第一个阶段,是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流行进行扫描和分解,从而识别一个个单词。语法分析是在词法分析的基础上将单词序列分解成各类语法短语,如:“程序”、“语句”、“表达式”等。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。中间代码生成是在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示叫做中间语言或中间代码

编译原理概述

孤人 提交于 2019-11-29 04:12:33
(1)简述编译程序与翻译程序、汇编程序的联系与区别。 1.编译程序与翻译程序、汇编程序的联系 编译程序、翻译程序、汇编程序是3种语言处理程序。 2.编译程序与翻译程序、汇编程序的区别 汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序。 翻译程序(为高级服务)直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如BASIC解释程序。 编译程序(为高级服务)是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序。编译程序与翻译程序最大的区别之一在于前者生成目标代码,而后者不生成。(2)编译过程包括哪几个主要阶段及每个阶段的主要功能。 1.词法分析:词法分析是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。 2.语法分析:语法分析是编译过程的第二个阶段。语法分析的任务是在词法分析的基础上将单词序列分解成各类语法短语。 3.语义分析:语义分析椒审查源程序有无语义错误,为代码生成阶段收集类型信息。 4.中间代码生成:进行了上述胡语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或者中间代码。 5.代码优化:这是对前一阶段产生的中间代码进行交换或进行改造

C/C++ 通用 Makefile

假如想象 提交于 2019-11-26 22:59:18
Generic Makefile for C/C++ Program ================================================== Keywords: Makefile, make, Generic, C/C++ Author: whyg linux (whyglinux AT hotmail DOT com) Date: 2006-03-04 ================================================== 本文提供了一个用于对 C/C++ 程序进行编译和连接以产生可执行程序的通用 Makefile。 在使用 Makefile 之前,只需对它进行一些简单的设置即可;而且一经设置,即使以后对源程序 文件 有所增减一般也不再需要改动 Makefile。因此,即便是一个没有学习过 Makefile 书写规则的人,也可以为自己的 C/C++ 程序快速建立一个可工作的 Makefile。 这个 Makefile 可以在 GNU Make 和 GCC 编译器下正常工作。但是不能保证对于其它版本的 Make 和编译器也能正常工作。 如果你发现了本文中的错误,或者对本文有什么感想或建议,可通过 whyglinux AT hotmail DOT com 邮箱和作者联系。 此 Makefile 的使用方法如下:

计算机基础知识【4】(08-08)

╄→гoц情女王★ 提交于 2019-11-26 14:33:33
Date: 2019-8-08 1. 一座大楼内的一个计算机网络系统,属于 () 。 B A. PAN(个人区域网络) B.LAN(局域网) C.MAN(域域网) D.WAN(广域网) 解释: PAN:网络中的个人区域网络。 LAN:局域网(Local Area Network,LAN),是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。 MAN:城域网(man),规模局限在一座城市的范围内,10~100km的区域。 WAN:广域网(wan):网络跨越国界、洲界,甚至全球范围,广域网的典型代表是internet网。 2. 在计算机中,每个存储单元都有一个连续的编号,此编号称为(地址)。 解释: 计算机中,每个存储单元的编号称为单元地址。 3. 在SQL语言中授权的操作是通过_ GRANT _语句实现的。 补充解释: GRANT是授权 REVOKE是收回权限 CREATE是创建表创建数据库的关键字 INSERT是“插入” 4. 进行域名解析,所采用的协议是( A) A. DNS (域名服务器: DNS解析协议ip映射到域名进行试用 ) B.RIP (RIP是路由信息协议) C.ARP (IP地址解析协议:将ip地址转成物理地址的协议) D.SMTP(邮件发送协议)

编译程序、汇编程序、链接程序三者的区别

只谈情不闲聊 提交于 2019-11-26 14:20:08
编译程序:高级语言→汇编语言的过程 汇编程序:汇编语言→机器语言的过程 附C语言编译链接过程: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 特点:执行速度快、效率高;依靠编译器、跨平台性差。 如C、C++、Delphi、Pascal、Fortran 解释型语言:把做好的源程序翻译一句,然后执行一句,不会生成目标程序。 特点:执行速度慢、效率低;依靠解释器、跨平台性好。 如Java、Basic、JavaScript、Python 来源: https://blog.csdn.net/yiyu_j/article/details/98884727