软件设计师备考笔记【day5】-程序设计语言与语言处理程序

一,编译程序

1,编译程序结构图
2,编译与解释的区别
特性 编译方式 解释方式
处理流程 必须完整执行:词法分析 → 语法分析 → 语义分析 → 目标代码生成 也会做词法 / 语法 / 语义分析,但不生成目标代码,边分析边执行
目标代码 会生成机器可执行的目标代码(如.exe 不生成目标代码,执行时依赖解释器
中间代码 可选,不是必须的(有些简单编译器直接从语义分析生成目标代码) 一般不生成中间代码
执行效率 一次编译,多次执行,效率高 边解释边执行,效率低

二,各阶段具体作用

1,词法分析

把源代码拆成一个个 "单词"(标识符、关键字、运算符等)

2,语法分析

检查代码是否符合语法规则,生成语法树

3,语义分析

检查逻辑,类型、变量声明等语义错误,生成中间代码

4,中间代码生成

生成与机器无关的中间表示(如三地址码)

5,目标代码生成

把中间代码翻译成机器指令,寄存器分配(决定哪些变量放在寄存器里,提高访问速度)、指令选择、地址分配

三,其他考点

1,后缀式(逆波兰式)

后缀式 = 操作数在前,运算符在后

运算顺序:先算的,先放后面

括号优先、先乘除后加减,谁先算,谁先拼成后缀。

相关推荐
FakeOccupational7 小时前
【电路笔记 STM32】stm32f103 实现HAL_UART_Transmit_DMA + 普通模式/连续模式的 UART DMA 收发
笔记·stm32·嵌入式硬件
北京海得康8 小时前
DMD基因治疗deramiocel遭FDA质疑,Ultragenyx DTX401即将获批
笔记
zjnlswd8 小时前
C#学习笔记2 刘铁锰
笔记·学习
Mr_liu_6668 小时前
Claude非专业入门实战笔记(4):Claude运行方式简单解析——从RAG到代理循环
笔记·ai编程·claude
凯尔萨厮8 小时前
Git(学习笔记)
笔记·git·学习
蒸蒸yyyyzwd9 小时前
cpp选手备注秋招 MySQL学习笔记 day8
笔记·学习·求职招聘
AI直播技术杂谈9 小时前
本周技术笔记:直播推流的心跳检测与断线重连逻辑
笔记
九硕智慧建筑一体化厂家9 小时前
从照明节能到碳排可见:能碳平台助力机房迈向 “零碳” 未来
运维·笔记·智慧城市
KhalilRuan11 小时前
UnityCsReference——笔记
java·开发语言·笔记
shangwen12311 小时前
食品厂无尘车间装修施工工艺笔记:C型钢吊顶加固方案尚文净化
笔记