有限状态机解析配置文件

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

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

 

如对网络配置文件进行解析(与/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文件解析器)

posted @ 2013-04-19 14:09  ydzhang  阅读(282)  评论(0编辑  收藏  举报