自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

将晨的博客

https://github.com/FuGaZn

  • 博客(18)
  • 资源 (7)
  • 收藏
  • 关注

原创 软件需求——需求基础

基本概念需求定义(IEEE):(1)用户为了解决问题或达到某些目标所需要的条件或能力。(2)系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的的要求而需要具备的条件或能力。(3)对(1)或(2)中的条件或能力的一种文档化表述。问题域:要解决问题,就需要改变现实中某些实体的状态或改变实体状态变化的演进顺序,使其达到期望的状态或演进顺序。这些实体和状态构成了问题解决的基本范围,称...

2018-11-19 19:06:39 6461

原创 第四章 LR二义文法的处理 [补]

二义性(ambiguous)就是构造文法分析表中出现的移入/归约冲突或归约/归约冲突二义文法的解决通常是通过增加附加条件的方法。用优先级和结合性解决冲突比如以下文法:E -> E + E | E * E | ( E ) | id这个文法存在二义性,因为没有指定*和+的优先级和结合性。比如对于算式id + id * id,当输入乘号时,解析器不知道应该先将栈里的E+E归约,还是先将...

2018-11-15 18:35:31 1980

原创 第六章 中间代码生成

文章目录三地址码表达式的翻译表达式中的运算数组元素寻址条件表达式中的短路回填三地址码格式:x = y op z三地址码的右边只能有一个操作符每个三地址码语句包含三个地址:两个是操作数,一个是结果三地址码的类型:最后三行是函数注意:只有if、goto语句,不存在while/for等循环语句。汇编里实现循环通过goto跳转。变址访问:y表示开始地址,i表示偏移量注意:在三地...

2018-11-15 16:51:49 2294

原创 第五章 语法制导

文章目录概述语法制导定义概述本章继续2.3节的主题,使用上下文无关文法来引导对语言的翻译。本章讨论的翻译技术在第六章用于类型检查和中间代码生成。我们把一些属性附加到代码语言构造的文法符号上。语法制导定义通过与文法产生式相关的语义规则来描述属性的值。语法制导定义用于将语义规则和产生式关联的两种方法:分布式,语义规则嵌在产生式之中。这种方法被称为Translation schemes例...

2018-11-15 15:02:52 1698

原创 LeetCode 62.不同路径(Unique Paths)

题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?说明:m 和 n 的值均不超过 100。解题思路:用动态规划Dynamic Programming来解,我们可以维护一个二维数组dp,其中dp[i][j]表示到当前位置...

2018-11-14 16:33:13 363

原创 65.有效数字(Valid Number)

题目描述验证给定的字符串是否为数字。例如:“0” => true" 0.1 " => true“abc” => false“1 a” => false“2e10” => true说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。解题思路这题算法上没难点,但是是真的烦!!!最坑的就是你必须

2018-11-14 16:25:12 354

原创 第三章 词法分析

文章目录Token和正则表达式有穷自动机状态转换图有穷自动机DFANFA转换RE->NFA分解法Thumpson算法NFA->DFADFA->DFA°Token和正则表达式Token(词法单元)的内容:单词、单词类别(catalog)、内部码/内码(Inner_code)一个单词中有多个不同的实例,才需要内部码来区分单词的构造规则:通过正规文法(见第二章)正则表达...

2018-11-14 14:54:56 788

原创 第二章 语言和文法——由语言构造文法

概论由语言构造文法的常用方法有4个:对称法逐步求精法(分解法)等价法电路状态转换法还有第五种是混合法,是将上面四种方法综合使用的方法。下面将配合例题依次讲解四种方法。对称法...

2018-11-13 21:10:09 15662 5

原创 第二章 语言和文法

文章目录Alphabet & String乘积Product和闭包Closure:文法推导归约文法范式0-type范式1-type范式2-type范式3-type范式Alphabet & StringAlphabet : 字母表,非空的符号集合Symbol : 符号,字母表中的元素,语言中的最小成分String : 字母表中字符的有限序列,是语言中的基本成分。空字符串(N...

2018-11-13 20:57:06 991

原创 第一章 引论

什么是编译器?[广义]编译器就是一个程序,它可以阅读以某种语言编写的程序,并把它翻译成一个等价的、用另一种语言编写的程序。编译器的重要任务之一就是报告它在翻译过程中发现的源程序中的错误。[狭义]把人类更容易理解和使用的高级语言转化为计算机能“理解”和运行的机器语言(或者较为接近的汇编语言)。编译器的结构(1.2)编译器由两个部分组成:分析(analysis)和综合(synthesis)...

2018-11-13 19:24:51 495

原创 第四章 语法分析(下)——LR文法

在LR(k)文法中,L指对输入进行从左到右的扫描,R表示反向构造一个最右推导序列。k表示在做出语法分析决定时向前看k个输入符号。常用的LR(k)文法包括:- SLR:简单LR- LR(1):规范LR- LALR:向前看LR(Look ahead)

2018-11-13 11:30:30 10142 1

原创 第四章 语法分析(上)——LL(1)文法

文章目录概述LL(1)文法LL(1)文法的判定消除左递归提取左公因子First集合Follow集合预测分析表的构造表驱动推导实例概述语法分析器是编译器的核心,语法分析器从词法分析器获得一个由词法单元组成的串,并验证这个串可以由源语言的文法生成。语法分析器大体上可以分为三种类型:通用的、自顶向下的和自底向上的。语法分析器的输入总是按照从左向右的方式被扫描,每次扫描一个符号。自顶向下文法典...

2018-11-13 11:15:27 3292

原创 编译原理笔记 导言和目录

本学期编译原理的学习也差不多快结束了,在学习过程中也做了不少笔记。为了准备即将来到的考试,我想把学习笔记再整理一遍。借此机会创建了这个专栏——为了满足创建专栏之前必须发布15篇以上的原创文章,我还特地去翻了LeetCode把陈年老题拿出来拾掇成博客(对我这种懒病来说真是太惨了)编译原理学习教材为龙书第二版,学习重点包括:语言构造文法词法分析(NFA/DFA/DFA°/Regular Ex...

2018-11-12 18:49:39 1109 1

原创 55.跳跃游戏(Jump Game)

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位...

2018-11-12 18:28:03 958

原创 52.N皇后II(N-Queens II)

题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。解题思路嗯,这题就是上一题(51.N皇后)的翻版,上一题要求输出所有解法,这一题却只要求数量就行了。所以。。。当然是选择在51题的基础上套一层皮啦(滑稽)51题解法参照:51.N皇后(N-Queens)实现代码class ...

2018-11-12 18:17:21 260

原创 51.N皇后(N-Queens)

题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.",...

2018-11-12 18:11:20 327

原创 45. 跳跃游戏II(Jump Game II)

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位...

2018-11-01 19:06:06 482

原创 42. 接雨水(Trapping rain water)

题目描述LeetCode.cn地址:https://leetcode-cn.com/problems/trapping-rain-water/LeetCode地址:https://leetcode.com/problems/trapping-rain-water/思路首先求出最大值的索引,设为i1,然后向左遍历,求出左边范围内的最大值,记索引为i2,以i2和i1对应值之间为容器,雨水可以存...

2018-11-01 18:58:24 218

JavaScript Dom编程艺术

JavaScript Dom编程艺术,js领域著名书籍,清晰易懂。

2018-03-06

人月神话pdf

人月神话

2017-07-28

JAVA API1.6中文文档

JAVA API中文文档

2017-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除