【技术实现步骤摘要】
【国外来华专利技术】高性能微码文本解析器
技术介绍
[0001]微码文本解析器允许通过描述如何处理不同字符的微码程序解析不同的文本格式。例如,数据可以以逗号分隔的值布置在文本文件中(这种文件通常称为CSV文件,或作为CSV格式),从而表格数据以纯文本形式存储,每行包括相同数目的字段。CSV格式中的文件使用普通文本逗号作为字段之间的边界字符。当读取CSV文件时,必须检查每个字符以确定它是否是逗号,如果是,则开始或完成字段的输入。因此,CSV解析器的操作状态随着时间的推移而变化,这取决于正在读取或已读取的字符。此外,CSV文件中的字段本身可以包括逗号作为该字段数据的一部分,解析器正确解析文件需要对此类逗号进行特殊处理。例如,考虑以下两个逗号分隔的值:abc,”def,hij”。从
‘
a
’
开始依次读取这些字符时遇到的第一个逗号会导致解析器改变状态(即,完成输入字段
‘
abc
’
,然后开始输入下一字段)。类似地,当遇到第一个“字符时,第二个字段被引用并类似地改变状态。然而,在这种情况下,解析器改变为文本输入状态,这样,在遇到下一”字符之前,随后遇到的字符就可以原样读入,从而允许其他特殊字符(例如,字段def,hij的,)包含在字段中。类似的文本解析要求对于解析其他格式的文本也是必要的,例如JavaScript对象符号(“JSON”)或超文本标记语言(“HTML”)。
[0002]通过以基于表的格式描述解析器状态转换,并提供基于当前输入和状态查询表以获得适当输出和下一状态的手段,这样的解析器 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种第一文本解析器,被配置为并行处理来自字符流的多个输入字符,所述第一文本解析器包括:第一组状态表电路,所述第一组中的每个状态表电路与一组预定状态中的预定状态对应,并且被配置为基于所述字符流的第一输入字符和对应的所述预定状态生成第一状态表电路输出,其中与所述第一组状态表电路中的每个状态表电路对应的所述第一状态表电路输出共同包括第一组状态表电路输出;第二组状态表电路,所述第二组中的每个状态表电路与所述一组预定状态中的预定状态对应,并且被配置为基于所述字符流的第二输入字符和对应的所述预定状态生成第二状态表电路输出,其中与所述第二组状态表电路中的每个状态表电路对应的所述第二状态表电路输出包括第二组状态表电路输出;第一输出多路复用器(MUX),被配置为接收所述第一组状态表电路输出和所述第一文本解析器的当前状态,并且基于所述当前状态从所述第一组状态表电路输出之中选择第一文本解析器输出;状态传播器,被配置为接收所述第一组状态表电路输出和所述第二组状态表电路输出,并且基于所述第一组状态表电路输出选择将所述第二组状态表电路输出的相应输出中的哪个输出路由到所述状态传播器的相应输出,所述相应输出包括一组状态传播器输出;以及第二输出MUX,被配置为接收所述一组状态传播器输出和所述第一文本解析器的所述当前状态,并且基于所述当前状态从所述一组状态传播器输出之中选择第二文本解析器输出。2.根据权利要求1所述的第一文本解析器,还包括:第二文本解析器,被配置为接受所述第一文本解析器输出和所述第二文本解析器输出中的至少一个文本解析器输出,并且解析所述第一文本解析器输出和所述第二文本解析器输出中的所述至少一个文本解析器输出以生成第三文本解析器输出。3.根据权利要求1所述的第一文本解析器,其中所述第一组状态表电路输出和所述第二组状态表电路输出中的每个状态表电路输出包括输出值和状态值,并且其中所述第一文本解析器输出和所述第二文本解析器输出包括输出值。4.根据权利要求3所述的第一文本解析器,其中所述状态传播器还被配置为基于与所述第一组状态表电路输出中的每个状态表电路输出对应的所述状态值,选择将所述第二组状态表电路输出中的相应状态表电路输出中的哪个状态表电路输出路由到所述状态传播器的相应输出。5.根据权利要求3所述的第一文本解析器,还包括:一个或多个附加输入级,所述一个或多个附加输入级中的每个附加输入级被配置为分别接收所述字符流中的一个或多个附加输入字符,所述字符流中的所述一个或多个附加输入字符在时间上位于所述第一输入字符与所述第二输入字符之间,所述一个或多个附加输入级包括:附加的一组状态表电路,所述附加的一组状态表电路中的每个状态表电路与所述一组预定状态中的预定状态对应,并且被配置为基于所述一个或多个附加输入中的相应的一个附加输入和对应的所述预定状态生成状态表电路输出,其中与所述附加的一组状态表电路中的每个状态表电路对应的所述状态表电路输出共同地包括附加的一组状态表电路输出;
附加状态传播器,被配置为接收所述附加的一组状态表电路输出,并且基于与从状态表电路接收的所述状态表电路输出对应的所述状态值将所述附加的一组状态表电路输出中的每个状态表电路输出路由到所述附加状态传播器的相应输出,所述状态表电路与所述字符流在时间上的下一输入字符对应;以及附加输出MUX,被配置为接收所述附加的一组状态表电路输出和所述文本解析器的所述当前状态,并且基于所述文本解析器的所述当前状态从所述附加的一组状态表电路输出之中选择附加文本解析器输出。6.根据权利要求5所述的第一文本解析器,其中所述第一组状态表电路、所述第二组状态表电路或所述附...
【专利技术属性】
技术研发人员:D,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。