[发明专利]一种状态机有效
申请号: | 201210248224.5 | 申请日: | 2012-07-17 |
公开(公告)号: | CN103544142A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 李小明;胡胜发 | 申请(专利权)人: | 安凯(广州)微电子技术有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 510663 广东省广州市萝岗区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 状态机 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种状态机。
背景技术
词法分析(lexical analysis)是计算机语言学的基本功能之一,用于定义单词的组成方法。进行语法分析的程序或者函数称为词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。
词法分析的第一阶段为识别所处理的单词中包含的字符集,该过程通常基于状态机。状态机为描述单词组成方法的图形,状态机由状态点和转换箭头组成,表示在一定的输入条件下,状态转换的过程。一个状态机和一个正则表达式相对应。
现有的状态机主要有非确定性有限状态机和确定性有限状态机两种;其中非确定性有限状态机为在一定的输入条件下,状态转换不唯一的状态机;确定性有限状态机为在一定的输入条件下,状态转换唯一的状态机。
现有的状态机所包含的状态与状态转换一般有上百个,由于数量大,所以使状态机的复杂性非常高,而状态机的高复杂性导致了编程语言在微系统上的实现有一定困难,并且导致处理字符的速度缓慢。
发明内容
有鉴于此,本发明的目的在于提供一种状态机,通过对字符的预分类将多种具有相同特征的字符统一为一个特征值,实现状态数量的减少,提高状态机的运行速度。
为实现上述目的,本发明有以下技术方案:
一种状态机,其特征在于,所述状态机包括:
规则模块,用于预先制定待识别字符集的划分规则,所述划分规则包括划分字符集所依据的特征;
编辑模块,用于按照所述划分规则中划分字符集所依据的特征为状态机编辑正则表达式;
预分类模块,用于利用所述划分规则对待识别字符集中的字符进行预分类;
状态识别模块,用于利用所述正则表达式识别经过划分的待识别字符集。
所述规则模块包括:
第一规则单元,用于以大写字母、小写字母、数字和下划线作为划分字符集所依据的特征制定待识别字符集的划分规则。
所述规则模块包括:
第二规则单元,用于以名词、动词、代词、数量词和标点符号作为划分字符集所依据的特征制定待识别字符集的划分规则。
所述规则模块还包括:
特征值单元,用于为每个特征定义一个特征值。
所述预分类单元包括:
特征值输出单元,用于判断待识别字符集中的字符是否符合划分规则中的任意一个特征,如果符合则输出该特征的特征值。
通过以上技术方案可知,本发明存在的有益效果是,通过划分规则将待识别字符集中的字符预分类,从而将几十种甚至上百种字符根据特征简化为有限的若干个种类,并且根据所述特征编辑出简化的正则表达式,则该正则表达式对应的状态机仅对小数量特征进行识别,从而实现状态机的简化,提高了状态机运行的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述状态机结构示意图;
图2为本发明另一实施例所述状态机结构示意图;
图3为本发明所述字符预分类流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种状态机,参照图1所示,所述状态机具体为:
规则模块,用于预先制定待识别字符集的划分规则,所述划分规则包括划分字符集所依据的特征;
编辑模块,用于按照所述划分规则中划分字符集所依据的特征为状态机编辑正则表达式;
预分类模块,用于利用所述划分规则对待识别字符集中的字符进行预分类;
状态识别模块,用于利用所述正则表达式识别经过划分的待识别字符集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安凯(广州)微电子技术有限公司,未经安凯(广州)微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210248224.5/2.html,转载请声明来源钻瓜专利网。