CSAPP缓冲区溢出实验(下)3.3 Level 2: 爆竹实验要求这一个Level的难度陡然提升,我们要让getbuf()返回到bang()而非test(),并且在执行bang()之前将global_value的值修改为cookie。因为全局变量与代码不在一个段中,所以我们不能让缓冲区一直溢出到.bss段(因为global_value初始化为0,所以它会被放在.bss而非.data段以节省空间)覆...
分类:
移动开发 时间:
2015-06-12 22:18:46
阅读次数:
314
编写语法分析程序Note:欢迎指针!编写语法分析程序文法改造
文法
消除左递归
提取公因式
求FirstFollow集
代码实现
测试代码
实现代码
文法改造1.文法
1) →{}2) → | ε3) <de...
分类:
其他好文 时间:
2015-06-12 11:41:15
阅读次数:
249
前言有时,我真怀疑这一原则教训随着时间的推移本科是否是浪费时间。操作系统原理之后我们并不能自己动手实现一个操作系统;学完数据库原理我们也不能弄出个像样的DBMS出来;相同。学完编译原理之后我们好像就仅仅能看着一大堆符号,表和下推自己主动机发呆,然后带着极其虔诚的心向从事编译器实现工作前辈致敬。先前....
分类:
其他好文 时间:
2015-06-11 12:29:51
阅读次数:
342
对产生式施加不同的限制得到不同类型的文法¨0型(无限制文法): ¨1型(上下文有关):¨2型(上下文无关): ¨3型(右线性和正规文法):有限状态自动机是具有离散输入和输出的系统的一种数学模型。其主要特点有以下几个方面:– (1)系统具有有限个状态,不同的...
分类:
其他好文 时间:
2015-06-10 17:13:24
阅读次数:
124
昨天晚上决定正面硬刚神课《编译原理》。硬上龙书。
下面是 一个简单的算术式中缀变后缀的翻译器。
这个也是 龙书中 一个C实现源码 。部分用c++改写。#include
#include
#include
#include
using namespace std;
int lookahead;
void error()//错误处理
{
cout<<"erro...
分类:
其他好文 时间:
2015-06-10 15:47:46
阅读次数:
116
接着上一篇文章介绍的Tiny语言的词法分析的实现,本文将介绍Tiny语言的语法分析器的实现。1 Tiny语言的语法下图是Tiny在BNF中的文法,
文法的定义可以看出,INNY语言有以下特点:
1 程序共有5中语句:if语句,repea语句,read语句,write语法和assign语句。
2 if语句以end作为结束符号,if语句和repeat语句允许语句序列作为主体。
3 输...
分类:
编程语言 时间:
2015-06-10 14:16:11
阅读次数:
233
C/C++ --> 操作系统(Linux) -->汇编 -->编译原理 -->电路原理、通信原理、组成原理 --> 计算机网络 --> 网络组建 -->服务器集群、数据库、构建、软件工程-->Web设计、Mobile设计-->html/css/JavaScript-->JavaEE/PHP-->A....
分类:
其他好文 时间:
2015-06-10 13:43:21
阅读次数:
103
(转载请表明出处 http://www.cnblogs.com/BlackWalnut/p/4559717.html) 这一章,就虎书而言,理论知识点是及其少的,就介绍了为什么要有一个中间表示树。看下面这张图就能理解为什么了。 但是章的代码量却是挺多的。在写代码之前,如果不懂整个代码的布...
分类:
其他好文 时间:
2015-06-08 00:52:07
阅读次数:
929
第五章是到目前位置最让我头疼的一章,不是因为难,是因为对最终的目的不太明确。整章前半部分用十分精简的语言介绍了一个新的概念,活动记录,也就是在函数调用时,一个调用栈究竟发生了什么事。但是,在最终编码实现过程中,总不能理解作者为什么给了这些变量?或者说,完全不知道作者究竟想让我完成一个怎样的功能...
分类:
其他好文 时间:
2015-06-07 23:32:48
阅读次数:
446
* 本学期开了编译原理这门课,自己会问这样的问题
课本上介绍了词法分析器 ,语法分析器 ,语义分析器,那么这在成熟的编译器中,占据着怎样的角色?
日常,我接触的最多的编译器是gcc ,clang(当然,还有vb之类的),他们的有啥差别?该如何选择?
基于gcc,如何设计一门自己的语言(或者从编译器的角度去看待一门计算机语言),编译工具链如何快速跟上?
一款新的处理器被推出,如何解决针对它的平台的编...
分类:
其他好文 时间:
2015-06-07 01:05:53
阅读次数:
138