存档

2007 年 07 月 - 111 文章

C语言的lex和yacc工具说明

Lex工具 ------- Lex工具是一种词法分析程序生成器,它可以根据词法规则说明书的要求来生成单词识别程序,由该程序识别出输入文本中的各个单词。 1、lex程序的结构 -定义部分 -规则部分 -用户子程序部分 其中规则部分是必须的,定义和用户子程序部分是任选的。 1定义部分 定义部分起始于%{符号,终止于%}符号,其间可以是包括include语句、声明语句在内的C语句。 %{ #includestdio.h #includey.tab.h externintlineno; %} 2规则部分 规则部分起始于%%符号,终止于%%符号,其间则是词法规则。词法规则由模式和动作两部分组成。模式部....
More...

面向对象的设计原则摘要

The principles of class design: SRPSingle Responsibility Principle单一职责原则: 一个类应该有且仅有一个职责。所谓一个类的职责是指引起该类变化的原因,如果一个类具有一个以上的职责,那么就会有多个不同的原因引起该类变化,其实就是耦合了多个互不相关的职责,就会降低这个类的内聚性。 OCPOpen - Colse Principle 开放-封闭原则:软件实体(类、模块、函数等等)应该是可以对模块进行快速扩展的,但是不可修改的。 遵循OCP原则的模块具有两个主要特征.他们是: 1. 对于扩展是开放的Open for extensi....
More...

如何选择适合你的Linux发行版?[00原创]

 
呵呵,如果你想使用Linux,但又在众多版本中举棋不定的时候,可以到这个网站上做个测试:http:www.zegeniestudios.netldc:-我的测试结果:We found the following perfect matches: Ubuntu Homepage: http:www.ubuntulinux.orgScreenshots: LinuxQuestions.org ....
More...

Synaptic Package Manager问题解决[00原创]

 
前天用deb安装包安装个SecondLife,因为耗时太长,我在中途退出了。没想到今天要安装软件的时候出现问题了- -! Reading package lists... Done Building dependency tree Reading state information... Done E: The package **** needs to be reinstalled, but I can't find an archive for it. 我汗死了,重新下SecondLife的安装包reinstall,出这个:晕死。。。。Google了一早上,解决方法....
More...

GNU Bison 中文手册

Bison 2.1 是Bison最新版本.该版本的最大改进就是支持以C++语言做为输出,并且在分析器的本地化输出中有多项改进.Bison的这些改进都可在最新Bison手册中找到详尽的说明和解释. GNU Bison实际上是使用最广泛的Yacc-like分析器生成器,使用它可以生成解释器,编译器,协议实现等多种程序. 它不但与Yacc兼容还具有许多Yacc不具备的特性. 这个手册编写十分完整,带你领略Bison在使用中的各个细节注:并不是实现细节. 由于本人水平有限,如果发现错误,语句不通顺,意思不明,确请立即发邮件把您的建议或者您认为正确的翻译 写信告诉我,非常需要并感谢你的帮助! 英文原件....
More...

Lex和yacc工具介绍

Lex和yacc工具介绍 哈尔滨工业大学 信息检索实验室 高立琦(email:gao_lq@126.com) 在编译过程中,词法分析和语法分析是两个重要阶段。lex和yacc是Unix环境下非常著名的两个工具,可以生成分别完成词法分析和语法分析功能 的C代码。在学习编译原理过程中,可以善加利用这两个工具,加深对两个阶段的理解。在平时的工作中,这两个工具也会起到重要的作用。 目录 [隐藏] 1 词法分词器生....
More...

lsof查看端口被哪些程序在使用

lsof -i tcp:1521 -n lsof的功能很強,詳細的說明我們可以用lsof --help去看,再想看更詳細的說明就是用 man lsof了喲。。 不多說了,查看某個port被那些程式打開的語法如下: lsof -i TCP:port -n lsof -i UDP:port -n lsof -i :port -n # lsof -i tcp:1521 -n
More...

The first step of JavaEE[1]

 
J2EE TechnologyLab 1. Tomcat Setup and Configuration, Deploy aSimple Servlet ApplicationLab Works:All the applications should be downloadable from the FTP server1. Install the Java development environment, including: a j2sdk1.5 D:\jdk1.5.0_092. Tomcat Web Container setup Install the tomcat version ....
More...

The first step of JavaEE[2]

 
J2EE TechnologyLab 2. Simple Registration ServletWhat This Exercise is About In this exercise, you will build and test a simple servlet usingWebSphere Studio Application Developer Application Developer. This servletwill create a simple document and return it to the clients Web browser. Thedocument ....
More...

C++ 库汇总

 
基础类1、 Dinkumware C++ Library 参考站点:http:www.dinkumware.com P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其CC+ +的产品中采用Dinkumware的库。 2、 RogueWave Standard C++ Library 参考站点:http:www.roguewave.com 这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的库给....
More...

Eclipse最大对手是谁?

最近在IBM的developerworks上看到了三篇文章,看完之后,不禁想到,Eclipse这么树敌,它的真正对手是谁? 我们知道Java的IDE工具竞争非常激烈,这种IDE工具不下10种,想在这个市场存活确实不太容易,通过以上以上三篇文章,会发现Eclipse的最 大对手是IDEA。 说IDEA是Eclipse最大的对手是有根据的,在对本IDEA篇幅中,着重比较了Eclipse和IDEA的特性,而其他没有,再让我们看看具体的分析。 Eclipse VS JB:JB非常不错,这是大家有目共睹的,但这两三年发展确实不怎么样,正如名字一样,Java Builder,只专注一些Java功....
More...

Java EE 技术路线图

 
Java EE已经成为开发可移植的、健壮的、灵活的和安全的服务器端Java应用的工业标准。它构建在稳固的Java SE基础之上,为我们提供了web服务web service、组件模型component model、管理management和通信API communications APIs。 Java EE 为我们带来了众多的技术,并且还在不断的增加。这个路线图的目标就是勾勒这些技术的轮廓,为我们继续学习提供些线索。 写在前面 这里列举一些处于 Java EE 技术体系之外,但又和 Java EE 相关的一些技术: HTML,HTML 4.01 Specification ....
More...

构建基于词典的Lucene分析器

Lucene 是Apache的一个基于Java的开放源代码的搜索软件包,也是目前最为流行的搜索软件包。但是对于绝大多数中文用户来说其提供的两个中文分析器 ChineseAnalyzer和CJKAnalyzer的能力又太弱了,因此我们有必要开发适合自己的中文分析器。这篇文章中给出了一个基于词典的 简单的实现。 实现这个中文分析器的过程就像是一场精彩的赛事。好了,让我们马上开始。 冗长的代码常常是复杂性的标志,会导致代码难以测试和维护。 这是我在近期的文章中随便找来的一句话,将用它来阐明我们将要做什么和做到什么程度。 既然是比赛嘛就不能没有对手!我们的两个对手分别是ChineseAnalyzer....
More...

将漂亮Button加在你的网页上

 
具体可以到这个网站上看看: http:go.gtmcknight.com
More...

The first step of JavaEE[3]

 
J2EE TechnologyLab 3. Parameter ServletWhat This Exercise is AboutIn this exercise you will add new pieces of code in the RegisterPatron servlet. Thisnew code will allow registering a new patron in the database and will have toexecute the following tasks: Process an input form: extract and validat....
More...

怎样看待“微软开源”?

 
7月26日,微软公司在OSCON(Open Source Convention)大会上的开源宣言,没有引起我们国内业界人士的反应(关注)。微软的开源宣言有何意义?明白地说,怎样看待微软开源? 7月26日,微软开源策略领导人Bill Hilf在OSCON大会上承认,目前,微软与国际开源社区的关系处于精神分裂症状态,但是,微软公司还是抱有一片好心(good intentions)。hilf先生表示,微软与开源(社区)共事(to work with)的机会是巨大的。Hilf先生宣布,今天,微软开通一个开源网站(www.microsoft.comopensource),表明微软公司是怎样(真心)对待开....
More...

AWK中文手册

awk中文手册 下载:http:www.klabaster.comfreeware.htm#mawk 1. awk简介awk 是一种编程语言,用于在linuxunix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和 动态正则表达式等先进功能,是linuxunix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这 样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出 屏幕,如果没有指定模式,则所有被操作所指....
More...

文本工具箱——“sed”篇

什么是SED?简单来说,SED是个编辑器。就像Windows下的记事本一样是用来编辑文 本的,但是从操作方式来看它是个很特殊的编辑器!sed(Stream EDitor)是流编辑器的意思。最早是Unix平台的工具,但已经被移植到各个平台上了。它有两个主要的属性:一它是个编辑器; 二它这个编辑器是面向流的。 名称:SED Stream EDitor描述:命令行下运行的流编辑器平台:Unix,Linux,MacOS,Windows,DOS,大小:根据平台和版本的不同从13KB-200KB不等(超过100K的一般都是加了多语言支持的)PS:sed的版本有很多样,推荐使用GNUsed(gsed)或在g....
More...

shell经典,shell十三问

我在 CU 的日子并不长,有幸在 shell 版上与大家结缘。除了跟众前辈学习到不少技巧之外,也常看到不少朋友的问题。然而,在众多问题中,我发现许多瓶颈都源于 shell 的基础而已。每次要解说,却总有千言万语不知从何起之感...这 次,我不是来回答,而是准备了关于 shell 基础的十三个问题要问大家﹗希望 shell 学习者们能够透过寻找答案的过程,好好的将 shell 基础打扎实一点...当然了,这些问题我也会逐一解说一遍。只是,我不敢保证甚么时候能够完成这趟任务。除了时间关系外,个人功力实在有限,很怕匆忙间误 导观众就糟糕了。若能抛砖引玉,诱得其它前辈出马补充,那才真的是功德一件﹗sh....
More...

数据库连接池的原理机制

 
1、基本概念及原理  对于共享资源,有一个很著名的设计模式:资源池 (ResourcePool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基 本思想就是为数据库连接建立一个缓冲池。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从缓冲池中取出一个,使用完毕之后再放 回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量?使用情况,为 系统开发?测试及性能调整提供依据。连接池的基本工作原理  2、服务器自带的连接池  JDBC的API中没有....
More...