BUAACT-Chap05-符号表管理 第五章 符号表管理技术 5.1 概述 5.1.1 什么是符号表 在编译过程中,编译程序用来记录源程序中各种名字的特性信息,所以也称为名字特性表。 名字: 程序名、过程名、函数名、用户定义类型名、变量名、常量名、枚举值名、标号名等。 特性信息: 上述名字的种类、类型、维数、参数个数及目标地址(存储单元地址)等。 5.1.2 建表和查表的必要性(符号表在编译过程中的作用) 源程序中变量要先声明,然 2022-09-19 编译技术课堂笔记 #BUAA #编译技术 #符号表管理
BUAACT-Chap04-语法分析 第四章 语法分析 4.1 语法分析概述 功能:根据文法规则,从原单词程序符号串中识别出语法成分,并进行语法检查。 基本任务:识别符号串 S 是否为某语法成分。 两大分析方法: 自顶向下分析 自底向上分析 4.2 自顶向下分析 4.2.1 自顶向下分析的一般过程 给定符号串 \(S\),若预测他是某语法成分,那么可根据该语法成分的文法,设法为 \(S\) 构造一棵语法树。 如成功,则 \(S\ 2022-09-19 编译技术课堂笔记 #BUAA #编译技术 #语法分析
BUAACT-Chap03-词法分析 第三章 词法分析 3.1 词法分析程序的功能及实现方案 3.1.1 词法分析的功能 根据词法规则识别及组合单词,进行词法检查; 对数字常数完成数字字符串到(二进制)数值的转换; 删去空字符和注解。 3.1.2 实现方式 词法分析单独作为一遍 词法分析程序作为单独的子程序(一遍扫描) 3.2 单词的种类及词法分析程序的输出形式 单词的种类: 保留字:beg 2022-09-12 编译技术课堂笔记 #BUAA #编译技术 #词法分析
BUAACT-Chap02-文法和语言的概念和表示 第二章 文法和语言的概念和表示 2.1 形式语言基础 2.1.1 字母表和字符串 字母表:符号的非空有限集,例:\(\Sigma=\{a, b, c\}\) 符号:字母表中的元素,例:\(a, b, c\) 符号串:符号中的有穷序列,例:\(a, aa, ac, abc, ...\) 空符号串:无任何意义的符号串\((\varepsilon)\) 符号串集合:由符号串构成的集合 2.1.2 符号串 2022-09-02 编译技术课堂笔记 #BUAA #编译技术 #文法
BUAACT-Chap01-概论 第一章 概论 1.1 基本概念 计算机五部分:输入、输出、运算器、控制器、存储器。——邵兵 低级语言: 字位码、机器语言、汇编语言。 特点:与特定的机器有关,功效高,使用复杂、繁琐、费时、易出错; 高级语言: Fortran、Pascal、C语言等。 特点:不依赖具体机器,移植性好,对用户要求低,易使用,易维护。 源程序: 用汇编或高级语言编写的程序。 目标程序: 用目标语言表示的程序。 翻译 2022-08-30 编译技术课堂笔记 #BUAA #编译技术
萌新C语言入门指南 温暖的假期将要结束,快乐的大学生活将要来临……咳咳,我猜大部分新生应该没有编程基础吧,为了帮助大家适应学校内容多、进度快、强度高的C语言课程,我特意制作了本篇教程,旨在给新生们一个大致方向上的预习指导。大家在有一定基础之后来到学校再学习C语言的话就会较快的适应了。(好耶,是新教程) 2022-08-11 朴素的 C 语言教程 #BUAA #C语言 #开发工具
Java集合框架 大家都学过数据结构这门课,应该对数据的基本存储和组织方式有一定的概念了吧。我们可以把大量的数据的存储到“容器”里,这里的“容器”就是一种被封装起来的数据结构,为我们提供了很多便捷好用的接口,而将内部的实现细节给隐藏起来了。 2022-05-19 笔记总结 #数据结构 #Java #集合框架
Python求解线性规划——PuLP使用教程 Python 的 PuLP 求解线性规划问题,小白级教程手把手教学。 2022-04-26 python学习笔记 #Python #PuLP #数学建模 #线性规划
一文看懂C语言I/O 再会吧,这宝贵的片刻和短暂的时机限制了我在情义上的真挚表示,也不能容我们畅叙衷曲,这本来是亲友重逢所应有的机缘;愿上帝赐给我们美好的未来,好让我们开怀畅谈!再一次告别;勇敢作战吧,祝你胜利! 2022-03-25 朴素的 C 语言教程 #BUAA #C语言 #I/O