品牌型号:联想拯救者Y9000P
系统:Windows 11
能将高级语言转换成目标程序的是编译程序。由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而把源程序转换成机器能够识别的目标程序是由“编译程序”完成的。编译程序是将整个高级语言编写的源程序先翻译成机器语言程序,然后再生成可在操作系统下直接运行的目标程序。
编译程序(Compiler,compiling program),也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序已作为实现编程的重要软件工具,被纳入到软件支援环境的基本层软件工具之中。因此,规划编译程序实现方案时,应从所处的具体软件支援环境出发,既要遵循整个环境的全局性要求和规定,又要精心考虑与其他诸层软件 工具之间的相互支援、配合和衔接关系。
编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
1、词法分析。词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。
源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。
2、语法分析。编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。编译程序的语法规则可用上下文无关文法来刻画。
语法分析的方法分为两种:自上而下分析法和自下而上分析法。自上而下就是从文法的开始符号出发,向下推导,推出句子。而自下而上分析法采用的是移进归约法,基本思想是:用一个寄存符号的先进后出栈,把输入符号一个一个地移进栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分归约成该产生式的左邻符号。
3、中间代码生成。中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。中间代码即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。中间语言有多种形式,常见的有逆波兰记号、四元式、三元式和树。
4、代码优化。代码优化是指对程序进行多种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。所谓等价,是指不改变程序的运行结果。所谓有效,主要指目标代码运行时间较短,以及占用的存储空间较小。这种变换称为优化。
有两类优化:一类是对语法分析后的中间代码进行优化,它不依赖于具体的计算机;另一类是在生成目标代码时进行的,它在很大程度上依赖于具体的计算机。对于前一类优化,根据它所涉及的程序范围可分为局部优化、循环优化和全局优化三个不同的级别。
5、目标代码生成。目标代码生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式:可以立即执行的机器语言代码,所有地址都重定位;待装配的机器语言模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;汇编语言代码,须经过汇编程序汇编后,成为可执行的机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。
牛奶能不能浇花 牛奶能不能浇花草
牛奶能浇花,其中含有一百多种矿物元素,对花卉的生长十分有利,但纯牛奶不能直接浇花,要将其装入塑料瓶中,密封发酵3个月的时间后,取上层清液兑水浇花,而且在密封发酵的过程中,要每隔一月打开一次瓶盖放气,避免牛奶发酵产生的气体使塑料瓶涨裂。(0)人阅读时间:2023-03-17短信未送达是为什么(短信一直未送达是为什么)
短信未送达原因:1、对方设置了飞行模式或关机,就会出现信息尚未送达,如果对方开机,会通知信息对方已经接收。2、无信号或信号比较差,可前往信号比较强的地方测试。3、手机话费欠费,可以去相应的平台公众号进行充值。4、对方把自己的手机号拉黑,只能等对方将其拉出黑名单。5、手机关闭了短信发送功能,可打开短信功能后再试。6、被列入短信黑名单,需前往营业厅解除黑名单状态后才可以正常使用。(0)人阅读时间:2023-03-17磕头虫吃什么食物(磕头虫爱吃什么食物)
磕头虫吃小麦、玉米、棉花、蔬菜、高粱等 。磕头虫又叫叩头虫,因为当把它们的身体压住时,它们的头部和前胸会弓起来做类似于叩头的动作,所以才有叩头虫这一名字 。这是一种对农田危害很大的昆虫,它们通常会在人们的农田里吃小麦、高粱、蔬菜、玉米等作物,从而对粮食造成损伤 。(0)人阅读时间:2023-03-17iPhone14电池容量有多大 iPhone13电池容量有多大
苹果14电池容量3279毫安,所配备电池满足一整天续航所需。仍使用Lightning充电接口,充电性能方面,使用20W或更大功率充电器,约30分钟最多可充电至50%;无线充电方面,支持MagSafe磁吸无线充电,功率最高15W,支持Qi无线充电,功率最高7.5W。(0)人阅读时间:2023-03-17牛奶能不能浇花 牛奶能不能浇花草
牛奶能浇花,其中含有一百多种矿物元素,对花卉的生长十分有利,但纯牛奶不能直接浇花,要将其装入塑料瓶中,密封发酵3个月的时间后,取上层清液兑水浇花,而且在密封发酵的过程中,要每隔一月打开一次瓶盖放气,避免牛奶发酵产生的气体使塑料瓶涨裂。..2023-03-17短信未送达是为什么(短信一直未送达是为什么)
短信未送达原因:1、对方设置了飞行模式或关机,就会出现信息尚未送达,如果对方开机,会通知信息对方已经接收。2、无信号或信号比较差,可前往信号比较强的地方测试。3、手机话费欠费,可以去相应的平台公众号进行充值。4、对方把自己的手机号拉黑,只能等对方将其拉出黑名单。5、手机关闭了短信发送功能,可打开短信功能后再试。6、被列入短信黑名单,需前往营业厅解除黑名单状态后才可以正常使用。..2023-03-17磕头虫吃什么食物(磕头虫爱吃什么食物)
磕头虫吃小麦、玉米、棉花、蔬菜、高粱等 。磕头虫又叫叩头虫,因为当把它们的身体压住时,它们的头部和前胸会弓起来做类似于叩头的动作,所以才有叩头虫这一名字 。这是一种对农田危害很大的昆虫,它们通常会在人们的农田里吃小麦、高粱、蔬菜、玉米等作物,从而对粮食造成损伤 。..2023-03-17iPhone14电池容量有多大 iPhone13电池容量有多大
苹果14电池容量3279毫安,所配备电池满足一整天续航所需。仍使用Lightning充电接口,充电性能方面,使用20W或更大功率充电器,约30分钟最多可充电至50%;无线充电方面,支持MagSafe磁吸无线充电,功率最高15W,支持Qi无线充电,功率最高7.5W。..2023-03-17