编译原理学习笔记-1.理解编译器

本文深入探讨编译原理,包括编译器和解释器的工作机制,以及混合编译器与即时编译器如Java的运行方式。详细阐述了编译流程,从词法分析、语法分析到生成机器码的过程,并讨论了编译器处理的两大过程及分层设计思想。同时,对比了编译与解释的优劣势,揭示了高级语言如何通过编译或解释转换为机器码执行的底层逻辑。
摘要由CSDN通过智能技术生成

1. 编译原理

1.1 编译原理概述

在这里插入图片描述
在这里插入图片描述

1.2 编译原理其他用途

在这里插入图片描述

1.3 翻译的理解

在这里插入图片描述
在这里插入图片描述

2. 编译器与解释器

2.1 什么是编译器

在这里插入图片描述
在这里插入图片描述

2.2 什么是解释器

在这里插入图片描述

2.3 混合编译器与即时编译器

  • 以Java为例子,先编译成字节码,再翻译成机器码执行
    • 计算机执行的指令都是L0低级语言
    • 编译过程直接执行低级语言
    • 解释过程,由L0低级语言编写的解释器解释高级语言程序
    • Java语言,编译与解释并存,且有及时编译功能,由于字节码的作用,先将高级语言编译成字节码供JVM调用,JVM针对各个操作系统都做了定制,做到一次编译,到处运行
      在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.4 优劣势

在这里插入图片描述

3. 编译流程

3.1 词法分析

在这里插入图片描述

3.2 语法分析

在这里插入图片描述

3.3 语法规则

在这里插入图片描述

3.4 语义分析

在这里插入图片描述

3.5 翻译:中间代码

在这里插入图片描述

3.6 生成机器码

在这里插入图片描述

3.7 运行时环境

在这里插入图片描述

3.8 编译器处理的两大过程

在这里插入图片描述
在这里插入图片描述

3.9 分层设计

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值