【编译原理】期末预习PPT前四章笔记II

2024-01-05 02:36

本文主要是介绍【编译原理】期末预习PPT前四章笔记II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 看了看学校的ppt,记的比较随意O.o 

 因为我的考试范围里边没有简答所以概念什么的没怎么记 

 没有简答只有选择真是太好了嘿嘿嘿 

目录

I. 概述(好多字。。)

一、高级语言的分类

1、体裁

2、执行方式

二、各种语言的执行方式

三、编译程序和解释程序的区别(看看区别O.o)

四、编译程序的功能

1、翻译

2、纠错

五、编译程序的组成(熟悉一下避免选择选不明白O.o)

1、词法分析

2、语法分析

3、语义分析

4、中间代码生成

5、中间代码优化

6、目标代码生成

六、编译程序的组织方式

七、编译程序的复杂性

II. 文法和语言

一、语言成分(好多定义O.o应该看看就行)

二、文法

1、定义

2、推导

3、Chomsky分类(没记得老师讲过O.o,不过还是看看吧)

4、语言(大题:文法 ←→ 语言)

5、语法树

1)特点(没啥用)

2)二义性

3)推导方式

6、分析方法

III、词法分析

一、概述(看看就行)

1、功能

2、任务

二、DFA 和 NFA(需要看课本)

1、DFA

2、NFA

3、NFA 转成 DFA(要出大题但是ppt没看懂。。需要看课本)

三、自顶向下(主要看了LL(1)文法)

1、first 集

2、follow 集

3、select 集

4、LL(1)

1)条件:同一左部的 select 无交集

2)转换

①提公因子(必要非充分,提完去掉没用的,有的提不了)

②消左递归(直接间接)

3)LL(1) 与递归下降


I. 概述(好多字。。)

一、高级语言的分类

1、体裁

过程式(怎么做),逻辑式(做什么),函数式(数学证明),面向对象(如Java)

2、执行方式

顺序,并行

二、各种语言的执行方式

三、编译程序和解释程序的区别(看看区别O.o)

四、编译程序的功能

1、翻译

将源程序翻译成机器能识别的目标代码程序

2、纠错

检测源程序中可能出现的各种错误,包括:词法错误,语法错误,语义错误等

五、编译程序的组成(熟悉一下避免选择选不明白O.o)

1、词法分析

输入高级语言源程序,识别源程序中的单词,并把单词转换成内部表示形式,同时检测程序中的词法错误。( 把高级语言程序转换成单词序列,检测词法错误 

2、语法分析

检测源程序中的语法错误,即检测程序中语法结构存在的错误。

3、语义分析

构造符号表,并检测程序中的语义错误

4、中间代码生成

将源程序翻译成与机器无关的中间表示形式。中间代码是高级语言与目标语言之间的桥梁不依赖于目标语言,有利于进行与目标机无关的代码优化,也有利于编译程序的重定位移植

5、中间代码优化

中间代码的优化以便产生高质量的目标代码。

6、目标代码生成

可以是汇编语言程序,也可以是机器代码程序。

六、编译程序的组织方式

七、编译程序的复杂性

1、编译程序是元级程序

2、编译程序要面对所有源语言程序,所以要面面俱到,考虑周全

3、高级语言和低级语言是不同级别的语言,二者的差异很大

4、编译程序是计算机系统中最重要的系统软件之一,其可靠性和优化方面的要求均很高

II. 文法和语言

一、语言成分(好多定义O.o应该看看就行)

字母表:符号的有穷集合,符号用以构成语言中的句子。

文法:结构规则的有穷集合,定义句子中符号的合法上下文。

语义:操作规则的集合,定义了程序在计算机上执行的操作效果。

二、文法

1、定义

是定义语言语法结构的一组形式规则(语法规则),可以将语言的所有成分描述出来。

2、推导

一步直接推导 好多步叫推导

3、Chomsky分类(没记得老师讲过O.o,不过还是看看吧)

4、语言(大题:文法 ←→ 语言)

5、语法树

1)特点(没啥用)

2)二义性

某个句子存在两颗不同语法树,即:一个句子有两种推法

3)推导方式

最左 → 推的时候从左边第一个开始换

最右(规范) → 从右边第一个开始换

6、分析方法

III、词法分析

一、概述(看看就行)

1、功能

从左到右逐个字符地对源程序进行扫描,产生单词序列,用于语法分析。

2、任务

二、DFA 和 NFA(需要看课本)

1、DFA

图例(不熟的话可以看看),例图可以看看书,ppt上画的有点。。丑

2、NFA

3、NFA 转成 DFA(要出大题但是ppt没看懂。。需要看课本)

三、自顶向下(主要看了LL(1)文法)

1、first 集

直接看例题,找所有第一个小写字母

2、follow 集

后边的first,后边是空就把左边的follow加进去

3、select 集

4、LL(1)

1)条件:同一左部的 select 无交集

2)转换
①提公因子(必要非充分,提完去掉没用的,有的提不了)

②消左递归(直接间接)

 刚开始还因为B'有个空看了半天。。后来问了大佬懂了。笨死我算了 O.o 

因为 B→ X]或BA,所以B'空相当于B → X]

3)LL(1) 与递归下降


前四章看完了,还有挺多盲区。。等看完后边四章再看看课本去Orz

这篇关于【编译原理】期末预习PPT前四章笔记II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571388

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I