自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (3)
  • 收藏
  • 关注

原创 epoll服务器示例, 监听5000个端口, 使用线程池

运行这个程序需要预先设置栈内存和文件描述符上限, 否则运行失败ulimit -n 16384ulimit -s 4096文件名:server.c编译: gcc server.c -Wall -O2 -pthread -o server程序源码如下(请自行编辑宏定义SERVER_IP为自己的IP): /*Linux 2.6 x86_64 only*/#include &lt...

2012-04-26 10:03:08 407

转载 Git使用简明教程

GIT ­——傻瓜跟踪器 使用文档 GIT ——傻瓜跟踪器... 1一git的使用目的... 11、git简介... 12、Git 官方文档:... 23、Git的作用:... 2二、git的使用过程... 21、Git工作流程:... 22、git工作举例:... 3三、git基础命令... 41、创建一

2012-04-09 19:43:17 1865

转载 traits:Traits技术初探

概述:traits是一种特性萃取技术,它在Generic Programming中被广泛运用,常常被用于使不同的类型可以用于相同的操作,或者针对不同类型提供不同的实现.traits在实现过程中往往需要用到以下三种C++的基本特性:enumtypedeftemplate (partial) specialization其中:enum用于将在不同类型间变化的标示统一成一个,

2012-04-09 18:19:58 512 1

原创 traits的应用场合

模板(泛型)实际上就是宏定义一个类型,此类型是一个通用类型(故又叫泛型),把具体类型(包括指针类型)带入进去就会形成一个新的类型。下面是代入时两种编译错误的解决方法:一、模板(泛型)具型成 int::valuetype 时(代入基本类型),这显然编译不过,就像下面这样偏特化处理// my_type_traits.h开始#ifndef MY_TYPE_TRAITS_H#define

2012-04-09 10:28:58 467 1

转载 EBNF文法的翻译

假设有产生式 X –> α ,它的翻译函数X为:X() { T(α) }下表给出了每一种α的产生式形式,右栏给出了每种产生式对应的代码,即T(α)。 在给出表之前,先给出α的预测集D(α).1. 如果  ,则D(α)=FIRST(α).2. 反之,如果 ,则D(α)=(FIRST(α)-{ε})∪FOLLOW(X)注意: 下表中的t为调用扫描

2012-04-05 21:25:51 1039

原创 a Tiny Parser Generator

很不错,可以用来验证递归下降法编写ebnf是否有问题,对if-then-else语法是否有二义性一目了然stmt->IF stmt then stmt (else stmt)?这句就能解决if的递归下降二义性并可自动生成子程序,不过该代码的词法分析部分效率极低,很大的缺点http://www.codeproject.com/Articles/28294/a-Tiny-Parse

2012-04-05 18:23:21 517

原创 first、follow、lr的项目集、状态集演示

CFF1.5(根据bison源码改写)可求出LL、LR等FIRST、FOLLOW集LR的项目集、状态集可用pike的parse.lr来求,pmod目录下有个test演示在pike的console下Parser.LR.Parser p = Parser.LR.GrammarParser.make_parser("foo : bar;foo : foo bar;bar :

2012-04-04 21:26:52 557

原创 递归下降中左结合、右结合和优先级的实现

http://fmt.cs.utwente.nl/courses/vertalerbouw/sheets/vb-04-antlr-1-4up.pdf右结合E->T op E | T 推导出 E->T [op [T [op [T op T]]]],故右递归即是右结合提取左因子E->T XX->op E | emptyE->T XX->(op E)? (代入上式

2012-04-04 21:17:08 2703

转载 LL(1)

文法G是 LL(1) 的充要条件:对于 G 的每个非终结符 A 的任何两个不同的产生式 A → α|β1) FIRST(α) ∩ FIRST(β) = φ2) 如果 β==*>ε,则 FISRT(α) ∩ FOLLOW(A) = φ 预测分析表的构造算法1.对于每一产生式 A→α,作 2.和3.2.对于 FIRST(α)中的每一终结符a, 将 A→α 填入 M[A,

2012-04-03 10:57:13 775

转载 递归下降子程序法

1) 编写文法、消除二义性2) 消除左递归和提取左因子改写文法3) 求非终结符的 FIRST 集和 FOLLOW 集4) 检查是不是 LL(1) 文法若不是 LL(1),说明文法的复杂性超过自顶向下方法的分析能力5) 将 LL(1) 文法改写为 EBNF, 并化简E → T E'        E'→ + T E'|ε  T → F T'

2012-04-03 10:07:58 8695

Ragel 6.7 windows版本

Ragel 6.7 windows版本,用于生成C, C++, Objective-C, D, Java or Ruby code

2012-10-02

windows下yaffs浏览器.rar

system.img android的yaffs文件系统浏览器

2012-08-18

Visual C++实践与提高_COM和COM+篇

Visual C++实践与提高_COM和COM+篇

2009-03-14

空空如也

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

TA关注的人

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