Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4027226
  • 博文数量: 251
  • 博客积分: 11197
  • 博客等级: 上将
  • 技术积分: 6862
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-05 14:41
个人简介

@HUST张友东 work@taobao zyd_com@126.com

文章分类

全部博文(251)

文章存档

2014年(10)

2013年(20)

2012年(22)

2011年(74)

2010年(98)

2009年(27)

分类: C/C++

2011-01-17 17:39:02

有限状态机是文本处理的利器,关于有限状态机的理论比较复杂,但在实际文本处理应用中,

只需要对有限状态机的模型有所了解,搞清楚状态转移关系即可快速的写出程序。

 

如对网络配置文件进行解析(与/etc/sysconfig/network-scripts/ifcfg-eth0文件类似的格式)

格式如下:(其中以#开头的行为注释行,有效的配置字符为数字,字母和点号)

 

#this is a net work config file

IPADDR = 192.168.1.71

NETMASK = 255.255.255.0

GATEWAY = 192.168.1.1

 

我们可以定义四种状态:

1.  初始状态

2.  KEY状态,读到配置键的时候进入该状态

3.  VALUE状态,读到配置值的时候进入该状态

4.  DELIM状态,即keyvalue之间的分隔符

 

状态转移关系图如下:(对于xmlini等配置文件的解析,状态转移图复杂得多)

 

 

具体实现如下:(C语言)

 

 parse_config.rar   

 

 parse_ini.rar   (ini文件解析器)

阅读(5301) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~