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

一,编译程序

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

二,各阶段具体作用

1,词法分析

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

2,语法分析

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

3,语义分析

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

4,中间代码生成

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

5,目标代码生成

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

三,其他考点

1,后缀式(逆波兰式)

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

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

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

相关推荐
FellAveal22 分钟前
【Go语言入门学习笔记】Part18.工作池与WaitGroup(也即协程池)
笔记·学习·golang
xqqxqxxq1 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
龙仔7251 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
Z5998178413 小时前
c#软件开发学习笔记--Modbus-RTU通讯
笔记·学习·c#
quanjui4 小时前
【医学尝试】基于Segment Anything Model的医学图像分割研究:眼底OCT与X线胸片微调实战
人工智能·笔记·学习
小黄蚁4 小时前
FreeRTOS学习笔记(十二)
笔记·学习
茯苓gao5 小时前
嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析
笔记·嵌入式硬件·学习
优化Henry5 小时前
学习笔记之VoNR语音业务注册流程
网络·笔记·学习·5g·信息与通信
摇滚侠6 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 订阅 (Subscription)
笔记·rocketmq
风曦Kisaki7 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes