软考14-上午题-编译、解释程序翻译阶段

news2024/11/24 8:55:26

一、编译、解释程序【回顾】

目的:高级程序设计语言(汇编语言、高级语言)—【翻译】—>机器语言

1-1、编译方式

将高级语言书写的源程序——>目标程序(汇编语言、机器语言) 

包含的工作阶段:词法分析、语法分析、语义分析、中间代码生成(可省)、代码优化(可省)、目标代码生成。

 词法分析、语法分析、语义分析、目标代码生成

1-2、解释方式

包含的工作阶段:词法分析、语法分析、语义分析。

【注意】:

编译器、解释器都不可省略词法分析、语法分析、语义分析!!!且顺序不可交换!!!

1-3、真题

真题1:

真题2:

真题3:

 真题4:

二、符号表

2-1、符号表的作用

不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。

记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成

2-2、真题

真题1:

 真题2:

真题3:

真题4:

三、编译器的工作阶段

3-1、词法分析 (考的较少)

编译器的工作阶段,第一阶段

输入:源程序

输出:记号流

词法分析过程,依据的是语言的词法规则。把源程序看做一个字符串进行分析。

任务:对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。

示例:

词法分析阶段的主要作用是,分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。

3-2、语法分析

输入:记号流

输出:语法树(分析树)

作用:确定整个输入串是否构成一个语法上的正确的程序。

可以发现程序中的所有语法错误。

如:括号不匹配,结尾缺少分号...... 

词法分析、语法分析,本质上都是对源程序的结构进行分析。 

3-3、语义分析

输入: 语法树(分析树)

作用:进行类型分析和检查。可以发现静态语义错误。

静态语义错误:

运行之前就能发现的错误。

如:整数取余运算,只能对整型数据进行运算,若其运算对象中有浮点数,就认为是类型不匹配的错误。

不能发现动态语义错误,动态语义错误,运行时才能发现!!! 

所以,语义分析阶段,不能发现程序中的所有语义错误。

3-4、目标代码生成阶段(了解)

生成编译器工作的最后一个阶段。

任务:把中间代码变换成特定机器上的绝对指令代码。这个阶段的工作与具体的机器密切相关

寄存器的分配工作处于目标代码的生成阶段。

3-5、真题 

真题1:

真题2:

 

真题3:

真题4:

真题5: 

真题6:

真题7:

真题8:

真题9:

真题10:

词法分析:扫描字符,识别单词  

真题11:

真题12:

3-6、中间代码的生成

中间代码的共同特征:与具体的机器无关。

可以将不同的高级程序语言翻译成同一种中间代码。

中间代码可以跨平台

因为中间代码与具体的机器无关,所以,使用中间代码有利于进行与机器无关的优化处理和提高变异程序的可移植性

3-6-1、常见的中间代码:        

  • 后缀式
  • 三地址码
  • 三元式
  • 四元式
  • 树、图

3-6-2、真题

真题1:

真题2:

真题3:

真题4:

真题5:

真题6:

四、动态的语义错误

语义分析只能检测出程序的静态语义错误,不能检测出动态的语义错误。

动态的语义错误要到程序运行时才能检测出来。

比如:

除数为0.

循环条件错误导致死循环。

 

4-1、真题

真题1:

真题2:

 

语义错误:

  • 静态语义错误(语义分析阶段检测出来)
  • 动态语义错误 

编译阶段:检测所有的语法错误。

真题3:

真题4:

真题5:

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

latex添加图片以及引用的实例教程

原理 在 LaTeX 中插入图片,通常是使用 \includegraphics 命令,它是由 graphicx 包提供的。首先,确保在文档的前言部分(\documentclass 之后和 \begin{document} 之前)包含了 graphicx 包。 下面是一个基本的例子来展…

Hikvision综合安防管理平台files;.css接口存在任意文件读取漏洞 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. Hikvisi…

HIVE中关联键类型不同导致数据重复,以及数据倾斜

比如左表关联键是string类型,右表关联键是bigint类型,关联后会出现多条的情况 解决方案: 关联键先统一转成string类型再进行关联 原因: 根据HIVE版本不同,数据位数上限不同, 低版本的超过16位会出现这种…

变分自编码器VAE模型与应用

变分自编码器(VAE,Variational Autoencoder)是一种深度学习模型,用于数据生成和特征学习。它结合了自编码器(autoencoders)和贝叶斯推断。 下面是VAE的详细解释: 自编码器(Autoenco…

Kafka-消费者-KafkaConsumer分析总结

KafkaConsumer依赖SubscriptionState管理订阅的Topic集合和Partition的消费状态,通过ConsumerCoordinator与服务端的GroupCoordinator交互,完成Rebalance操作并请求最近提交的offset。 Fetcher负责从Kafka中拉取消息并进行解析,同时参与posi…

关于网络协议的笔记

简介: 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连 接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语 法、语义、时序。 为了使数据…

REVIT二次开发 自动门窗墙体标注

步骤1 步骤2 步骤3 using System; using System.Collections.Generic; using System.Linq; using System

视频转换成文字,原来转换的方法这么简单!

在我们的生活中,不少小伙伴是否遇到过这样的情况?观看网络视频时,由于解说内容极为引人入胜,忍不住想将其内容记录下来,但这手动逐句整理的过程既耗时又费力。幸运的是,经过一番努力查找,确实有…

Hbas简介:数据模型和概念、物理视图

文章目录 说明零 BigTable一 Hbase简介二 HBase 访问接口简介三 行式&列式存储四 HBase 数据模型4.1 HBase 列族数据模型4.2 数据模型的相关概念4.3 数据坐标 五 概念&物理视图 说明 本文参考自林子雨老师的大数据技术原理与应用(第三版)教材内容,仅供学习…

面试篇-大厂的面试流程和面试注意事项

以前找工作的时候,对于流程中的面试总是好奇流程走到哪一步了,这一轮面试有没有通过,后面不通过还有没有消息通知等问题。今天作为一个求职者和面试官的身份来主要讲一下大厂招聘,内部的面试过程以及流转的流程是什么样的以及该注…

探幽寻秘,一网打尽—多版本银狐木马加密要素揭秘

概述 “银狐”木马,自2023年起在国内肆虐,其攻击范围广泛,波及众多企业。在黑产团伙中应用广泛,并且不同团伙采用的攻击手段各异,加载“银狐”的方式层出不穷,最终呈现的“银狐”木马版本也各有差异。观成…

图像处理------负片

什么是负片? 负片是经曝光和显影加工后得到的影像,其明暗与被摄体相反,其色彩则为被摄体的补色,它需经印放在照片上才还原为正像。我们平常所说的用来冲洗照片的底片就是负片。 """将彩色图像转换成负片 "&…

「 网络安全术语解读 」通用攻击模式检举和分类CAPEC详解

引言:在网络安全领域,了解攻击者的行为和策略对于有效防御攻击至关重要。然而,攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题,MITRE公司创建了CAPEC标准,以提供一个共享和统一的攻击模式分类框架。 1…

计算机网络 第3章(数据链路层)

系列文章目录 计算机网络 第1章(概述) 计算机网络 第2章(物理层) 计算机网络 第3章(数据链路层) 文章目录 系列文章目录1. 数据链路层概述1.1 概述1.2 三个重要问题 2. 封装成帧2.1 介绍2.2 透明传输2.3 总…

discuz论坛附件上传限制大小2MB

我遇到了这个问题,去修改了配置PHP.ini文件没有解决. 我把他变成2000M依旧没有用,然后我选择了用户组,附件部分。如图所示: 然后这个时候我还是没有好,我同事的却不限制大小了,我去清理缓存&#xff…

c++:类和对象(3),对象模型和this指针

成员变量和成员函数分开存储 空对象占用内存空间为:1c编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置每个空对象也应该有一个独一无二的内存地址 只有非静态成员变量 属于类的对象上,其余都不属于类的对象上 this指针…

网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

01 同程旅行 招聘岗位:网络工程师 职责描述: 1.负责职场、门店网络规划、建设、维护。 2.负责网络安全及访问控制、上网行为管理和VPN设备的日常运维; 3.负责内部相关网络自动化和系统化建设; 4.优化与提升网络运行质量&#xff…

激光雷达行业梳理2-产业链、公司、未来展望

四、产业链及竞争格局 激光雷达产业链可以分为上游(光学和电子元器件)、中游(集成激光雷达)、下游(不同应用场景)。其中 上游即激光发射、激光接收、扫描系统和信息处理四大部分,主要包括激光器…

设备通过GB28181注册到EasyCVR,平台看不到设备信息的排查方法汇总

智慧安防平台EasyCVR能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,平台支持设备通过4G、5G、WIFI、有线等方式进行视频流的接入与传输,支持的接入协议包括&#xff1…