首页 > 编程语言 >软件设计师:02程序语言设计

软件设计师:02程序语言设计

时间:2024-10-01 10:19:38浏览次数:9  
标签:02 代码生成 调用 语义 解释程序 程序语言 设计师 自动机 编译程序

文章目录

一、KMP模式串匹配

请添加图片描述

二、编译程序和解释程序

(1)编译程序

编译时独立生成目标程序,源程序和编译程序不参与目标程序的运行过程

(2)解释程序

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

三、传值调用和引用调用

(1)传值调用

实参传递值,可以是常量、变量、表达式

(2)引用调用

实参传递地址给形参,双向传递数据

四、编译器工作阶段

请添加图片描述
其中,中间代码生成和代码优化可以省略
源程序 -》 词法分析 -》 记号流 -》语法分析 -》语法树 -》语义分析

(1)词法分析

分析构成程序的字符,及由字符按照构造规则构成的符号是否符合程序语言的规定。
非法字符,关键字或标识符拼写错误。

(2)语法分析

可以发现程序中所有的语法错误,
对各条语句的结构做合法性的分析。
语法结构错误, if、endif不匹配,缺分号。

(3)语义分析

类型分析和检查,
只能发现静态语义错误,动态语义错误只有当程序运行时才能发现。
死循环、零除数

(4)中间代码

与具体的机器无关,常见的中间代码有:
后缀式、三地址码、三元式、四元式、树图等

(5)目标代码生成

将中间代码转换成特定机器上的指令代码,以及寄存器分配。

五、脚本语言

主要采用解释方式实现,一般运行在解释器或虚拟机中便于移植。

六、符号表

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

七、沟通路径

请添加图片描述

八、正规式

只需要记住:
a*是由0个或多个a构成的字符串的集合
请添加图片描述

九、有限自动机

(1)确定的有限自动机

对每个状态来说,识别字符后转移的状态是唯一的。

(2)不确定的有限自动机

对每个状态来说,识别字符后转移的状态是不唯一的。
请添加图片描述
请添加图片描述

十、后缀表达式

又叫逆波兰式
请添加图片描述

十一、上下文无关文法

请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

标签:02,代码生成,调用,语义,解释程序,程序语言,设计师,自动机,编译程序
From: https://blog.csdn.net/weixin_45404884/article/details/142440054

相关文章

  • C/C++算法编程笔记(2024.9.26-9.30)
    一、并查集学习一:1、寻找根节点(两种)intfind(intx){if(x!=city[x]) city[x]=find(city[x]);returncity[x];}intfind(intx){ returnfa[x]==x?x:fa[x]=find(fa[x]);}2、合并不同集合voidmerge(intx,inty){inta=find(x);intb......
  • 20240903
    mount我们会惊奇的发现,无论网格在哪里,只要有山覆盖了,那么这里的贡献一定是\(\sqrt{2}\),如下的图可以证明:那么我们就只用开一个线段树,维护的是最小值和最小值的出现次数,如果最小值不为\(0\),那么这部风就没有贡献,反之贡献就要加上最小值的出现次数细节由于我们可以......
  • 2024.10 训练日记
    我们将难度分为\(5\)个等级:\(\color{grey}\bigstar\)简单题,根本不配进入NOI的考场,做着玩玩。或者为模板题。\(\color{green}\bigstar\)签到题,在NOI赛场上强银选手几乎人人都会,如果赛场上不会的话对冲银的影响是非常大的,要避免。\(\color{blue}\bigstar\)中等题,在NOI......
  • P8808 [蓝桥杯 2022 国 C] 斐波那契数组
    Hello大家好,我是小亦,今天一大早就来更东西了嘿嘿,不知道现在大家有没有回老家的或去玩的,那有没有扎在家的,呜呜呜我就是宅在家的QWQ,唉没办法啊,好那么好不了这些了qwq,今天我来讲的题目是来自蓝桥杯2022年国C题目也就是第三道题,名叫:斐波那契数组,其实这道题呢,嗯比较的难所以呢我也......
  • 【办公类-48-03】20240930每月电子屏台账汇总成docx-3(三园区合并EXCLE,批量生成3份word
    背景需求:前期电子屏汇总是“总园”用“”问卷星”、“一分园”用“腾讯文档”,二分园“用“手写word””【办公类-48-02】20240407每月电子屏台账汇总成docx-2(腾讯文档xlsx导入docx,每页20条)【办公类-48-02】20240407每月电子屏台账汇总成docx-2(腾讯文档xlsx导入docx,每页20......
  • 2024年河北省职业院校技能大赛(高职组)软件测试赛项规程
    一、赛项名称赛项名称:软件测试赛项组别:高职组赛项归属产业:电子信息大类二、竞赛目标(一)引领职业院校专业建设与课程改革本赛项竞赛内容以《国家职业教育改革实施方案》为设计方针,以电子信息产业发展的人才需求为依据,以软件测试岗位真实工作过程为载体,全面检验高等职业院......
  • 2023-9-30
    标签之文本标签列表标签之有序列表列表标签之无序列表......
  • 系统架构设计师论文《论SOA在企业集成架构设计中的应用》精选试读
    论文真题企业应用集成(EnterpriseApplicationIntegration,EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资......
  • 系统架构设计师论文《论云上自动化运维及其应用》精选试读
    论文真题云上自动化运维是传统IT运维和DevOps的延伸,通过云原生架构实现运维的再进化。云上自动化运维可以有效帮助企业降低IT运维成本,提升系统的灵活度,以及系统的交付速度,增强系统的可靠性,构建更加安全、可信、开放的业务平台。请围绕“云上自动化运维及其应用”论题,依次......
  • The 2023 ICPC Asia Nanjing Regional Contest / The 2nd Universal Cup. Stage 11: N
    比赛链接I.Counter按时间排序即可,注意可以不清零。F.EquivalentRewriting对于每个位置,把所有有这个位置的操作编号连向这个位置最终的值,做个拓扑排序,看看字典序最大的即可。复杂度\(\Theta(n+m)\)。C.PrimitiveRoot枚举和\(m\)的公共前缀,设\(i\)位置\(m\)是\(1......