编译过程
1.源程序:输入给编译器的其实就是字符串
2.词法分析:预处理:删除无用的空白字符、回车符及其他非实质性字符和注释
3.语法分析:根据语言的语法规则(由单词/符号构成语法成分的规则),将单词/符号序 列分解成各类语法成分,如表达式、语句、函数和程序等。语法树、中序遍历。
4.语义分析:语法正确的程序并不能保证语义一定正确!功能:检查源程序是否包含语义错误,并收集类型信息供后面的代码生成阶段使用。
5.中间代码生成:功能:依据语言的语义规则,生成与具体的机器无关的中间代码。常用形式有后缀式、三元式、四元式和树等。
例:编译过程中进行的语法分析主要是分析(48)。
A.源程序中的标识符是否合法 B.程序语句的含义是否合法
C.程序语句的结构是否合法 D.表达式的类型是否合法
选A。
例:在以阶段划分的编译过程中,判断程序语句的形式是否正确属于(22) 阶段的工作。
A.词法分析 B.语法分析 C.语义分析 D.代码生成
解析:语法更加看重单词,表达式等形式是否正确,而语义更加看重赋值语句类型,除数等意思上面的东西。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】