当前位置: 首页 > article >正文

【从零开始学习计算机科学】编译原理(一)编译过程概述

【从零开始学习计算机科学】编译原理(一)编译过程概述

  • 绪论
    • 编译过程概述
    • 词法分析
    • 语法分析
    • 代码优化
    • 代码生成
    • 其他功能
    • 编译器的前端和后端

绪论

什么叫编译程序?为什么我们需要编译程序?编译程序就是一个程序,将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻译成与之等价的另一种能为计算机解读、运行的低级机器语言。

一般来说,执行一个高级语言所写的程序的方法有两种,分别是编译执行和解释执行。编译执行有一个单独的编译过程将源程序翻译生成目标程序,具体执行的是目标程序,因此是一次编译多次执行。例子包括C、C++等编程语言。解释执行在每次运行时,将源程序边翻译边运行,因此每次执行都需要解释。例子包括Python、JavaScript、Matlab等编程语言。其共同点是将高级语言翻译(编译)成机器语言进行执行

编译过程概述

编译程序的工作,从输入源程序开始,到输出目标程序结束,与自然语言之间的翻译有很多相似之处。

英译中 (如I love China.) 需经历的步骤主要有:1,识别出句子中的单词;2,分析句子的语法结构;3,句子的语义分析;4,对语义进行修饰;5,写出最后的译文。而在编译过程中,其可以抽象为词法分析、语法分析、语义分析及中间代码生成、机器无关的代码优化、目标代码生成。因此,编译器是分阶段执行的,每个阶段将源程序从一种表示转换成另一种表示

在这里插入图片描述

词法分析

此阶段完成的任务(以a=


http://www.kler.cn/a/589227.html

相关文章:

  • tcp/ip三次握手和四次挥手原理详细解析
  • Java学习——day21
  • Springboot连接neo4j
  • 蓝桥杯好题推荐---前缀和
  • 深度学习篇---Opencv中的Haar级联分类器
  • MyBatis注解
  • Github 2025-03-16 php开源项目日报 Top10
  • 未来社交媒体的发展趋势:TikTok 与虚拟现实的结合
  • CCF-CSP第34次认证第四题——货物调度【DP+剪枝】
  • 零基础使用鸿蒙NDK开发最简步骤
  • KVM安全模块生产环境配置与优化指南
  • 【模拟面试】计算机考研复试集训(第四天)
  • 工程化与框架系列(35)--前端微服务架构实践
  • 【2025年39期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深指数最新分时MACD数据获取实例演示及接口API说明文档
  • Spring 扩展点总结与分析
  • 【论文笔记】FFA-Net: Feature Fusion Attention Network for Single Image Dehazing
  • Spring MVC源码分析の请求处理流程
  • 从过拟合到强化学习:机器学习核心知识全解析
  • R 语言科研绘图 --- 密度图-汇总
  • C/C++基数排序(Radix Sort) 的排序算法。