- 博客(40)
- 收藏
- 关注
原创 Nutch中User Agent的问题
本人原创,转载请注明出处()。Apache Nutch 1.7版本抓取某个网站的时候出现错误提示:2013-11-25 15:23:37,793 INFO api.HttpRobotRulesParser - Couldn't get robots.txt for http://www.xxx.com/: java.io.EOFException2013-11-2
2013-11-26 10:04:27
2824
原创 CentOS 6.4环境下的Apache Nutch 1.7 + Solr 4.4.0安装笔记
本人原创,转载请注明出处:http://blog.csdn.net/panjunbiao/article/details/12171147Nutch安装参考文档:http://wiki.apache.org/nutch/NutchTutorial安装必要程序:yum updateyum list java* yum install java-1.7.0-openjdk-
2013-09-29 17:12:30
7138
2
原创 Drupal 7.23版本升级笔记
今天将尝试将Drupal网站从7.22升级到7.23,下面是升级笔记。1. 将网站设置为维护模式(在配置-开发中)2. 备份MySQL数据库mysqldump -uroot -p drupaldb > drupaldb-20130809-1450.sql3. 下载新版的Drupal内核并解压cd ~wget http://ftp.drup
2013-08-09 18:15:09
2250
原创 在阿里云的云服务器CentOS系统安装Drupal内容管理框架
转载请注明出处,作者博客地址:http://blog.csdn.net/panjunbiaoDrupal是一个用途广泛的通用型内容管理框架。在阿里云的云服务器上安装Drupal是十分轻松的,下面是我安装的笔记。前置条件是你在阿里云开通云服务器(最低69元每月),然后选择CentOS操作系统,这里就不详细介绍了。安装步骤如下:1. 安装MySQL数据库服务器yum
2013-08-09 12:55:41
3627
1
原创 SmartThings物联网平台简介
SmartThings是一个智能设备控制系统,它包括:SmartThings Cloud(云平台)、SmartThings Hub(网关)、SmartThings Mobile(手机客户端)以及各种关联的设备或服务。假设我们有这样一个控制场景:当大门打开,则开启客厅的电灯,并向主人发送一条短信。如何实现这一控制呢?首先我们需要一个开关传感器,当大门被打开的时候,传感器感应并将事件上
2013-07-23 17:23:54
4596
原创 Ninja Blocks物联网平台简介
Ninja Blocks是一个物联网控制平台,其平台架构包括硬件层、处理器层、软件层以及平台层,请看下图:最底层是硬件层,包括传感器(Sensors)和驱动器(Actuators),例如温度传感器、开关等,属于这一层。处理器层是Ninja Block,Ninja Block是一个物联网设备的网关,它是物联网设备(传感器、驱动器)与平台之间的通信桥梁,负责接收传感器事件和驱动Actu
2013-07-23 17:13:12
2054
原创 非确定有限状态自动机的构建(二)——将CharVal转换为NFA
保留版权,转载注明出处:潘军彪的个人博客(http://blog.csdn.net/panjunbiao)将上下文无关文法读入内存之后,可以将它转换成非确定有限状态自动机。当然,不是所有的上下文无关文法都能够转换成自动机的,前提条件是这个上下文无关文法能够与正则定义等价。因此,在进行转换之前,我们需要先挑选出上下文无关文法中符合正则定义。(参考博文http://blog.csdn.net/pa
2013-07-19 13:03:37
1855
原创 正则表达式与上下文无关文法
保留版权,转载需注明出处(潘军彪的CSDN博客http://blog.csdn.net/panjunbiao)正则表达式正则表达式在日常开发中时不时都会遇到,我们先来看看正则表达式( Regular Expression)的定义(参考龙书英文第2版121页):ε是一个正则表达式,它生成的语言L(ε)等价于{ε},即L(ε)={ε},就是一个空字符串如果a属于符号集Σ,那么a
2013-07-18 13:07:54
11645
原创 Unity 3D学习笔记(三)——关于脚本
在脚本中定义的类成员,如果是公共的话,在脚本与游戏对象绑定之后,是可以在Inspector中编辑的,例如下面这个脚本:using UnityEngine;using System.Collections;public class ScreenInfo : MonoBehaviour { public int screenWidth; public int screenHeight;
2013-07-17 16:13:53
1114
原创 非确定有限状态自动机的构建(一)——NFA的定义和实现
保留版权,转载需注明出处(http://blog.csdn.net/panjunbiao)。非确定有限状态自动机(Nondeterministic Finite Automata,NFA)由以下元素组成:一个有限的状态集合S一个输入符号集合Sigma,并且架设空字符epsilon不属于Sigma一个状态迁移函数,对于所给的每一个状态和每一个属于Sigma或{epsilon}的符号,输出
2013-07-17 15:16:59
15473
1
原创 Unity学习笔记(二)——第一个Unity项目Hello Unity
在这一篇文章里,参照宣雨松的《Unity 3D游戏开发》第38页的例子,用C#写出我的第一个Unity项目 Hello Unity。第一步,新建项目:点击“Create Project”创建项目之后,我们看到项目中只有一个摄像机对象“Main Camera”。并且Unity为我们创建了一个未命名(untitled)的场景,点击“File -> Save Scen
2013-07-13 16:16:41
4931
原创 Unity学习笔记(一)——基本概念之场景(Scene)
场景,顾名思义就是我们在游戏中所看到的物品、建筑、人物、背景、声音、特效等,基本上和我们玩游戏时所看到的游戏“场景”是同一个概念。Unity 3D中,“场景”是一个视图,我们通过“场景”这个视图,来编辑、布置游戏中玩家所能见到的图像和声音。安装完并运行Unity 3D,会缺省打开一个AngryBots项目。我们在“Scene”视图中,就可以直接看到一个场景:这个场景中的物件,会
2013-07-13 11:16:05
11218
原创 开源啦!我的Compiler-Construction项目
前段时间的一些代码已经上传到GitHub,有兴趣的同学请移步https://github.com/panjunbiao/compiler-construction。这个项目刚刚起步,还达不到实用的程度,只是和大家分享、交流。前段时间写的一些文章,其中的代码全部都可以在这个项目中找到。
2013-07-08 15:21:49
1816
2
原创 到底什么是上下文无关文法?
在龙书Compilers - Principles, Techniques, & Tools英文版第2版42页中,提到上下文无关文法有以下的特点:一个终结符的有限集(A set of terminal symbols),构成文法的最基本的字符就是这个文法的终结符,例如一个能够产生个位数的文法规则digit --> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
2013-07-08 10:23:38
11392
1
原创 基于Predictive Parsing的ABNF语法分析器(十四)——RFC2234文法解析实战
现在开始,我们的解析器要进入实战阶段了,首先来看看,能不能直接分析ABNF文法本身呢?先把RFC2234上面关于自身的文法定义的片段copy下来,保存成文件,例如文件名RFC2234.Demo.1.txt ALPHA = %x41-5A / %x61-7A ; A-Z / a-z BIT = "0" / "1"
2013-07-02 17:32:38
1926
1
原创 基于Predictive Parsing的ABNF语法分析器(十三)——rulelist、rule、rulename、define-as和elements
我们来看看rulelist,它是整个ABNF文法的入口,就是说一个ABNF文法就是一个规则列表rulelist。一个rulelist由若干个rule规则组成,每个rule由规则名rulename、定义方式define-as和元素elements构成。先来看解析代码:/* This file is one of the component a Context-free Gramm
2013-06-19 13:04:41
2186
原创 我的编译原理系列笔记(索引)
基于Predictive Parsing的ABNF文法分析器手工打造一个自顶向下、递归的ABNF文法分析器。ABNF文法分析器(十三)——rulelist、rule、rulename、define-as和elementsABNF文法分析器(十二)——alternation、concatenation、group和optionABNF文法分析器(十一)——AbnfParser文法
2013-06-19 00:17:14
1716
3
原创 基于Predictive Parsing的ABNF语法分析器(十二)——alternation、concatenation、group和option
今天一鼓作气再写多点东西吧,这个题目差不多接近尾声了。来看看alternation、concatenation、group和option的解析代码:/* This file is one of the component a Context-free Grammar Parser Generator, which accept a piece of text as the
2013-06-18 13:29:11
1439
原创 基于Predictive Parsing的ABNF语法分析器(十一)——AbnfParser文法解析器之重复文法(repetition)
今天写的是关于重复文法的解析,ABNF和BNF相比,一个明显的差异就是引入了重复语法,使得我们可以方便的让一个文法元素重复若干次。例如30"B"表示30个字母B,30*60表示最少30个,最多60个字母B,等等。先来看看解析部分的代码:/* This file is one of the component a Context-free Grammar Parser Gen
2013-06-18 11:50:25
1864
原创 基于Predictive Parsing的ABNF语法分析器(十)——AbnfParser文法解析器之数值类型(num-val)
ANBF语法中的数值类型有3种:二进制、十进制和十六进制,可以是一个以点号分隔的数列,也可以是一个数值的范围。例如,%d11.22.33.44.55表示五个有次序的十进制数字“11、22、33、44、55”,而%x80-ff表示一个字节,这个字节的数值可以是在0x80至0xff之间。我把以点号分隔的数列定义为NumVal,把范围类型的数值定义为RangedNumVal。这两个类实现了Eleme
2013-06-17 13:17:45
1522
原创 基于Predictive Parsing的ABNF语法分析器(九)——AbnfParser文法解析器之带星号的情形(c-wsp和comment)
直接上代码吧,都写到注释里面了。/* This file is one of the component a Context-free Grammar Parser Generator, which accept a piece of text as the input, and generates a parser for the inputted context
2013-06-14 12:16:47
1621
原创 基于Predictive Parsing的ABNF语法分析器(八)——AbnfParser文法解析器之带星号的情形(如char-val, prose-val)
带星号*表示重复的次数,例如*A表示A可以重复0至任意多次,*3A表示A可以重复0次、1次、2次或3次,4*A表示A至少要重复4次。我们先来看最简单的情形*A,ABNF的语法定义中char-val和prose-val都属于这种。/* This file is one of the component a Context-free Grammar Parser Generator,
2013-06-13 17:16:30
1477
原创 基于Predictive Parsing的ABNF语法分析器(七)——AbnfParser文法解析器之多个选项的情形(如WSP、c-nl和element)
现在来看看对于产生式有多个选项的情形,例如WSP可以是空格SP或者跳格HTAB。对于这种情况,一般是向前看一个字符,根据这个字符来选择产生式。当然,如果两个产生式的起始字符都一样,那么只向前看一个字符就不够了,这种情况下需要向前看2个或者更多。WSP、c-nl和element的文法解析程序:/* This file is one of the component a Conte
2013-06-09 13:19:42
1652
原创 基于Predictive Parsing的ABNF语法分析器(六)——AbnfParser文法解析器之多个符号连接的情形(如rule和CRLF)
基于预测的文法分析器,一个明显的特点就是将非终结符定义为解析函数(方法),当非终结符号可以派生为其他非终结符号时,在解析函数中递归调用即可。这种方法的一个缺点,是难以处理需要回溯的情形,后面我们再详细分析。上次我们研究了诸如CR、LF、HTAB等单个字符的解析,这一篇来看看稍微复杂一点的多个符号连接的情形,包括CRLF和RULE两个符号。/* This file is one of the
2013-06-09 12:11:32
1467
原创 基于Predictive Parsing的ABNF语法分析器(五)——AbnfParser文法解析器之单字符的情形(如HTAB、LF、CR、SP)
先来看看AbnfParser类如何对ABNF文法中最简单的一些单字节符号如何进行解析,这些单字节符号包括跳格、换行、回车和空格:/* This file is one of the component a Context-free Grammar Parser Generator, which accept a piece of text as the input, and g
2013-06-08 15:26:47
1739
原创 基于Predictive Parsing的ABNF语法分析器(四)——准备单元测试代码
单元测试的重要性是不言而喻的,对于ABNF的例子来说,通过单元测试除了可以发现程序的BUG之外,还可以发现预测解析器能够支持哪些情况下的文法,以及那些情况下解析器无能为力(所谓FEATURE,嘿嘿)。我在这个项目中使用JUnit来做单元测试,先来看一段最简单的测试代码:/* This file is one of the component a Context-free Gra
2013-06-07 16:56:44
1833
原创 基于Predictive Parsing的ABNF语法分析器(三)——ABNF语法解析器的基本框架
前面说过,一个能够识别ABNF文法并且自动构造ABNF文法解析器的生成器(parser generator),它首先要能够识别ABNF文法,即把ABNF读入内存并结构化之后,才能进行后续的生成解析器的步骤。我把这个读入ABNF文法的模块称为AbnfParser类。下面先来看看这个类的基本结构:/* This file is one of the component a Contex
2013-06-06 15:14:53
3005
原创 基于Predictive Parsing的ABNF语法分析器(二)——ABNF语法元素的类定义
下面根据ABNF的语法定义,逐条来定义ANBF语法元素类:(一)首先来看rulelist:rulelist = 1*( rule / (*c-wsp c-nl) )rulelist(规则列表)是ABNF语法的最顶层的符号,也就说一份符合ABNF规定的文法,它就是一个rulelist。rulelist至少由一个rule(规则)组成,在Java语言中,我们直接使用List来定
2013-06-06 13:30:08
1931
原创 基于Predictive Parsing的ABNF语法分析器(一)——ABNF语法介绍
最近一直在做Session Initiation Protocol (SIP)协议方面的开发,SIP在电信VoIP领域应用非常广泛,是一个基于文本语法的协议。SIP的语法规范是使用ABNF来定义的。对SIP语法有兴趣的同学请移步其Augmented BNF for the SIP Protocol章节。Augmented BNF for Syntax Specifications: ABNF本
2013-06-06 10:33:34
3617
原创 关于开源+商业双授权软件项目的一知半解
收集了一些开源+商业双授权的软件项目:原始表格请打开我的网上文档:双重授权如果一个项目采用了GPL授权,那么所有对该项目进行的修改、调用,在重新发布的时候都必须使用GPL授权。从这一角度来看,GPL授权是对开发者有较强保护的:防止你的项目被用于闭源的项目。但GPL也是一个双刃剑,如果你想同时支持GPL和商业授权,那么必须得到该开源项目所有贡献者的同意。因此,如果你是唯一的贡献者,开
2013-06-05 11:39:23
2062
原创 eXosip2的初始化
根据eXosip文档写的,不过不知道为什么编译不通过,暂时没有时间去处理了,先把代码保存在这里。哪位同学看出问题的麻烦告知,谢谢啦。#include #include int main(int argc, char *argv[]) { eXosip_t *ctx; int i; int port=5060; TRACE_INITIALIZE (6, NULL);
2013-05-31 23:04:39
1779
原创 SIP协议开发随笔-DFA希望的曙光
断断续续数个月的编码,终于把SIP的ABNF语法转换为NFA了(未经任何优化,大约100万个状态),然后NFA到DFA正在转换中,i7-2600K跑了一个多小时,现在的marked DStates大约43000个,unmarked DState大约29000个,按常识DFA的状态数会比NFA更多!额滴神啊,什么时候能够构建完DFA啊。跑到明天还没跑完的话,就老老实实补完一些单元测试的内容,也许还要
2013-05-27 20:59:13
1698
3
原创 PJSIP学习笔记——PJSUA层发起呼叫的主要流程
在上一篇学习笔记从simple_pjsua.c示例程序了解PJSUA-LIB的基本使用流程中,使用了PJSUA层的pjsua_call_make_call来发起一个呼叫,那么这个发起呼叫的流程是怎样的呢?先来看看这个函数:/* * Make outgoing call to the specified URI using the specified account. */PJ_D
2013-05-21 09:59:34
7981
1
原创 在MAC OS X编译eXosip不成功的问题解决
下载eXosip之后,执行./configure成功,执行make的时候出错:Making all in src/bin/sh ../libtool --tag=CC --mode=link gcc -pedantic -DENABLE_DEBUG -g -DENABLE_TRACE -g -g -version-info 10:0:0 -no-undefined -o lib
2013-05-17 16:24:34
2550
1
原创 PJSIP学习笔记——从simple_pjsua.c示例程序了解PJSUA-LIB的基本使用流程
要了解pjsip的使用,simple_pjsua.c是一个很好的例子,虽然代码只有短短的172行,却展示了pjsua-lib层的完整使用流程、注册流程和基本呼叫流程。下面是学习过程中整理的simple_pjsua.c中的main函数主要流程:先来看看pjsip-apps/src/samples/simple_pjsua.c的main函数/* * main() * * ar
2013-04-10 17:32:33
13129
1
原创 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
使用Delphi的TIdHttp控件发起一个POST请求很简单,定义一个TStringList实例,往上面添加参数就行:procedure TForm1.Button1Click(Sender: TObject);var HttpClient: TIdHttp; ParamList: TStringList;begin HttpClient := TIdHttp.Cr
2013-02-26 23:42:03
11032
9
原创 欣赏一下iPhone 4
原视频网址:http://www.apple.com.cn/iphone/features.html#design-videoiPhone 4出来了,iPhone依旧是王者啊,Android要加油了。总的来说iPhone 4有如下亮点1. 超高分辨率:326PPI,超越人眼的分辨能力2. 可视电话3. 高清摄像4. 极端先进的科技和工艺Apple不仅产品做得好,产品推介做的也十分完美。看Apple产品的视频简直是一种享受,磁性的声音,美妙的音乐,梦幻的产品,完美的呈现。用愉悦的心情来欣赏这部不朽的作品吧
2010-06-09 21:22:00
1225
原创 HTML5学习笔记--2010.01.20--001
虽然传说HTML5要2022年才能获得W3C的推荐,不过提前学习总不会有坏处的,俗话说早起的鸟儿有虫吃嘛。而且没有看过HTML4的规范文档,这次系统的学习一下HTML5,就当是补课吧。原文网址http://www.w3.org/TR/html5/introduction.html,刚开始看所以没什么心得,先写些摘要。 HTML5规范文档有些什么内容?它描述新版本
2010-01-20 23:56:00
1024
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人