软件设计师:06-程序设计语言与语言处理程序基础

章节章节
01-计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础
02 - 操作系统基本原理08 - 设计模式
03 - 数据库系统09 - 软件工程
04 - 计算机网络10 - 面向对象
05 - 数据结构与算法11 - 结构化开发与UML
06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题
End - 二周目上午真题End – 二周目下午真题
End - 临考快速记忆Java工程师的进阶之路

一、低级语言和高级语言

在这里插入图片描述

二、编译程序和解释程序

  • 解释器:翻译时不生成独立的目标程序,解释程序和源程序都参与程序运行过程
  • 编译器:翻译时独立生成目标程序,源程序和编译程序不再参与目标程序的运行过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、程序设计语言的成分

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、传值与传地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引用调用举例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、 编译、解释程序翻译阶段

反编译:编译的逆过程,将可执行文件转换成等价的汇编程序(无法获得源程序)

源程序—》词法分析-》记号流–》语法分析–》分析树(语法树)–》语义分析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、符号表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、编译过程

7.1、词法分析

源程序----->词法分析----->记号流----->语法分析----->分析树(语法树)----->语义分析
输入:源程序,输出:记号流
词法分析阶段的主要作用是:分析构成程序的字符;及由字符按照构造规则构成的符号是否符合程序语言的规定
在这里插入图片描述

7.2、语法分析

输入:记号流;输出:语法树(分析树)
语法分析阶段可以发现程序中所有的语法错误
语法分析阶段的主要作用是:对各条语句的结构进行合法性分析;分析程序中的句子结构是否正确

在这里插入图片描述

7.3、语义分析

输入:语法树(分析树)
语义分析阶段的主要作用是进行类型分析和检查

  • 语法分析阶段可以发现程序中的所有语法错误
  • 语义分析阶段不能发现程序中所有的语义错误
  • 语义分析阶段可以发现静态语义错误
  • 不能发现动态语义错误,动态语义错误运行时才能发现
    在这里插入图片描述

7.4、目标代码生成

目标代码生成阶段的工作与具体的机器密切相关
- 寄存器的分配工作处于目标代码生成阶段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.5、中间代码生成

常见的中间代码有:后缀式、三地址码、三元式、四元式和树(图)等形式。

  • 中间代码与具体的机器无关(不依赖具体的机器),可以将不同的高级程序语言翻译成同一种中间代码。中间代码可以跨平台。
  • 因为与具体的机器无关,使用中间代码有利于进行与机器无关的优化处理和提高编译程序的可移植性。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、正规式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
*代表0~n个,这里b必须有一个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、有限自动机

有限自动机是词法分析的一个工具,它能正确地识别正规集

  • 确定的有限自动机(DFA):对每一个状态来说识别字符后只有一个转移状态
  • 不确定的有限自动机(NFA):对每一个状态来说识别字符后有一个以上的转移状态
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    反着的3代表无须识别直接通过

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、上下文无关文法

大多数程序设计语言地语法规则用上下文无关文法描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一、中缀后缀表达式

中缀式:a + b
后缀式(逆波兰式):ab+
后缀式利用栈进行求值
语法树的后缀式为后序遍历、中缀式为中序遍历
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

十二、杂题精讲

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

扒带和扒谱的区别 FL Studio怎么扒带 扒带编曲制作 扒带简单歌曲

在许多业余音乐爱好者们的眼里,扒带和扒谱是同一种东西。诚然,扒带和扒谱的确非常相似,但是从严格的意义上来说,这二者还是有一定的区别。今天我们就来说一说扒带和扒谱的区别,FL Studio怎么扒带。 FL Studio21中文官网…

Linux:kubernetes(k8s)Deployment的操作(13)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

【Python】使用plt库绘制动态曲线图,并导出为GIF或MP4

一、绘制初始图像 正常使用plt进行绘图,这里举例一个正弦函数: 二、绘制动态图的每一帧 思路: 根据横坐标点数绘制每一帧画面每次在当前坐标处,绘制一个点和垂直的线,来表示当前点可以在点上加个坐标等样式来增加…

新火种AI|GPT-4诞生1年,OpenAI把它放到了机器人上

作者:一号 编辑:美美 ChatGPT拥有了身体,机器人也有了灵魂。 从OpenAI在去年3月14日拿出GPT-4后,已经过了整整一年。显然,在GPT-4诞生之后的这一年,一切都迭代得太快了,从GPT-4展现多模态能力&…

力扣热题100_矩阵_73_矩阵置零

文章目录 题目链接解题思路解题代码 题目链接 73.矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&…

SpringCloud微服务 黑马教程 自我总结笔记

来源出处: SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4/?spm_id_from333.337.search-card.all.click 一、认识微服务 微服…

BEV系列一:BEV介绍和常用BEV算法简介

BEV系列一:BEV介绍和常用BEV算法简介 自动驾驶最全学习资料获取:链接

学生时期学习资源同步-1 第一学期结业考试题6

原创作者:田超凡(程序员田宝宝) 版权所有,引用请注明原作者,严禁复制转载

高效Go编程: encoding/csv标准库深度解析

高效Go编程: encoding/csv标准库深度解析 引言了解encoding/csv库CSV文件的基本结构encoding/csv库的核心功能应用场景 读取CSV文件基本步骤代码示例处理不同的分隔符错误处理 处理CSV数据数据解析代码示例处理不规则数据代码示例 写入CSV文件基本步骤代码示例自定义设置错误处…

群发邮件软件哪个好?8款国际流行软件推荐与评测

无论是小型企业还是大型企业,都需要一个高效、稳定且功能全面的群发邮件软件来完成营销任务。市场上的群发邮件软件琳琅满目,如Zoho Campaigns、Constant Contact、Intuit Mailchimp、Moosend、MailerLite、Systeme.io、Instantly、Saleshandy等&#xf…

Java Web程序的部署

写在前:要想将我们写好的项目让其他人可以访问,仅仅完成代码是不能直接运行的。这就需要在Linux系统上搭建Java web程序的运行环境。这里以我所做的博客系统为例,进行搭建。 1. 准备依赖 (1)JVM(JDK&#…

react04- mvc 、 mvvm

MVC与MVVM stackoverflow论坛网站 react前端框架 使用框架前: 操作dom > js获取dom元素,事件侦听,修改数据,设置样式。。。 操作dom问题: 直接操作dom,会造成大量的回流、重绘,消耗大量性能操作起来也…