本篇笔记是我对龙书第2.3-2.5节内容的理解,主要介绍编译器前端关于语法分析的众多基础概念。下篇笔记将根据本篇笔记的主要内容,实现一个针对简单表达式的后缀式语法翻译器Demo(原书中是java实例,我给出的将是逻辑一致的Python版本的实现)。
1. 语法分析(Syntax Analysis)
简单来说,语法分析的任务是分析输入的符号字符串(string of symbols, 通常是词法...
分类:
其他好文 时间:
2015-04-06 10:11:33
阅读次数:
129
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有366天。其中二月为29天,闰年,每四年一次,每一百年不是闰年,每四百年又是一次闰年。测试中,我们要编写如下逻辑结构的闰年测试代码:1 获取年份信息2 测试是否为4的公...
分类:
其他好文 时间:
2015-04-06 10:07:50
阅读次数:
169
//Objective-C面向对象的C语言。//OC完全兼容C,凡是C语言代码可以直接编译在OC的工程当中。【面向过程的语言】都是祈使句,直接和CPU沟通。目的是操作CPU,储存数据,管理数据。//数学逻辑,就像小学解应用题,关注的是数据和管理数据。【面向对象的语言】在程序中,添加能够接收消息的单元...
分类:
其他好文 时间:
2015-04-06 00:45:02
阅读次数:
235
环境: centos 前期了解: 最大磁盘问题 1,对lvm2创建的LVM卷来说,容量大小取决于kernel的限制 (当然,还有你的磁盘空间)。 对lvm1创建的LVM卷来说,LVM逻辑卷最大可能容量取决于所用扩展大小。? 计算公式是:...
分类:
其他好文 时间:
2015-04-05 23:42:22
阅读次数:
403
初级工程师解释什么是依赖属性,它和以前的属性有什么不同?为什么在WPF会使用它?什么是样式什么是模板绑定(Binding )的基础用法解释这几个类的作用及关系: Visual, UIElement, FrameworkElement, Control视觉树vs 逻辑树?属性变更通知(INotifyP...
Data base:长期存储在计算机内,有组织的,可共享的大量数据集合。基本特征:永久存储,可共享,有一定的物理和逻辑结构。Data base manage system(DBMS);用户和os之间的一层数据管理软件。1、提供数据操纵语言DML对数据库增删改查2、数据库的建立和维护3、提供数据控制功...
分类:
数据库 时间:
2015-04-05 23:08:33
阅读次数:
1902
Description
还记得大学里学过的模电么,今天就让我们将与或非变成一道题吧。
给你一个与或非的表达式,求出这个表达式的值,表达式总共有八种字符。
三种逻辑运算符按照优先级排列如下。
‘!’:表示取反。
‘&’:逻辑与。
‘|’:逻辑或。
两个字符‘T’,‘F‘分别表示true和 false。
另外还有左右括号,空格三种字符。跟一般的表达式一样,括号可以改变优先级。
...
分类:
其他好文 时间:
2015-04-05 17:31:34
阅读次数:
126
人生苦短,老病相催。未知死焉知生?我们逃避对死的思考,某种意义上就是在逃避对生的思考。其实人终有一死人不是不知道,逻辑上都知道。但我们是不是真的就思考它?没有,“人是有死的”这句话一听就过去了。你只有这一次机会,你怎么让它过得轰轰烈烈,怎么让它过得有意义有价值?
分类:
其他好文 时间:
2015-04-05 17:26:47
阅读次数:
208
拿到程序后,拉入IDA,大概看了一番后,尝试运行,进一步了解程序的功能。 发现NX enabled,No PIE。 一号是一个猜数字的游戏,二号是一个留言本,三号是打印出留言的内容,四号是退出。 观察IDA中逻辑后,发现一个格式化字符串漏洞。 在三号功能(Print your messa...
分类:
其他好文 时间:
2015-04-05 17:16:20
阅读次数:
162
《思维魔方》比较系统的介绍了各种悖论。书中的就不介绍了,如果有兴趣,大家可以去看看。悖论是在人类的认知过程中对于已建立起的概念,知识,方法和逻辑体系的一种诘难。按照悖论的三要素说法:公认的正确的背景知识,严密无误的逻辑推导和可以建立矛盾等价式。这里“公认的正确的背景知识”就是已有的概念,知识,方法和逻辑体系。通过我们公认的正确的推导方法,得出互相矛盾的等价式。这就说明我们的背景知识本身是不严密的。...
分类:
其他好文 时间:
2015-04-05 16:04:23
阅读次数:
123