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

编译原理期末重点-个人总结——1 概论

概述

计算机语言的分类

低级语言:机器语言(唯一能被计算机执行的),汇编语言

高级语言:JAVA ,C++

执行高级语言或汇编语言的步骤

高级语言程序或汇编语言程序==> (通过解释 或 翻译)转成机器语言==>运行机器语言程序

解释程序

核心就是 边解释边执行源程序本身

翻译程序

把一种语言的程序翻译成另一种语言的程序 ,包括如下

  • 编译程序

源语言(高级语言)==> 目标语言(低级语言,如汇编或机器语言)

  • 汇编程序

源语言(汇编语言)==> 目标语言(机器语言)过程

高级语言程序的处理过程

由上述可知,处理过程可理解为

源程序==>编译==>汇编==>机器程序

编译过程⭐

在这里插入图片描述

补充⭐

词法分析

一个个读取源程序字符,识别出正确单词

语法分析

将上游的单词序列 识别出固定搭配,如语法表达式,计算公式,while (表达式) do 语句

这个阶段可以生成语法树

语义分析

类型检查

错误检查和处理程序

错误包括 语法错误和 语义错误

信息表管理程序

最重要的是符号表,信息表的结构

了解

前端:词法分析、语法分析、语义分析、中间代码生成、部分优化工作

后端:中间代码有关的编译阶段。如:目标代码生成

http://www.dtcms.com/a/173112.html

相关文章:

  • 创建线程的几种方式
  • 第13项三期,入组1123例:默沙东启动TROP2 ADC+PD-1子宫内膜癌头对头临床
  • C++ 重载:解锁符号与函数的 “变形魔法”
  • labelimg快捷键
  • Tensorrt 基础入门
  • C语言之初识指针
  • C++ -- 内存管理
  • 机器学习项目流程极简入门:从数据到部署的完整指南
  • 软考 系统架构设计师系列知识点 —— 黑盒测试与白盒测试(1)
  • 项目生成日志链路id,traceId
  • 使用 Semantic Kernel 快速对接国产大模型实战指南(DeepSeek/Qwen/GLM)
  • 家政平台派单系统设计与实现详解
  • Unity-Shader详解-其四
  • BUUCTF——Mark loves cat
  • CloudCompare 中 ccDrawableObject
  • 健康养生:从微小改变开始
  • 2025系统架构师---论软件可靠性设计范文
  • yolo 用roboflow标注的数据集本地训练 kaggle训练 comet使用 训练笔记5
  • 从零开始学Python:开启编程新世界的大门
  • C++ 适配器模式详解
  • uniapp 云开发全集 云数据库
  • 11.施工监测
  • 【项目】基于ArkTS的网吧会员应用开发(1)
  • NHANES指标推荐:ZJU index
  • 作者新游戏1.1
  • 什么是外联模板(extern template)?
  • 解锁现代健康密码:科学养生新主张
  • Qt中的UIC
  • 【机器学习-线性回归-5】多元线性回归:概念、原理与实现详解
  • 数据库的二级索引