[发明专利]一种配置处理文本流的方法在审
申请号: | 201711293595.4 | 申请日: | 2017-12-07 |
公开(公告)号: | CN108228561A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 魏国;李运喜;张旻;麦先根;齐晓斌;高原 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06F17/27 | 分类号: | G06F17/27;G06F17/30 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 杜永保 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分析器 文本流 过滤器 输入文本 分析器状态 过滤器单元 过滤器配置 预处理单元 动作信息 分析处理 分析内容 工具开发 工具软件 模式匹配 配置处理 人员控制 输出文本 预处理器 运行状态 字符串 文本 开发 通用 应用 分析 | ||
本发明属于工具软件开发技术领域,应用于需要处理文本流的工具开发的过程中。本发明主要特点是提供一种通用方法,给分析器提供一个过滤器预处理单元、过滤器单元和过滤器配置定义,消除输入文本流中的不可分析内容,并可向输出文本流中插入分析器支持的动作信息,从而能够控制分析器的运行状态,增强了开发人员控制分析器状态的能力。本发明针对分析器不能识别文本流中某些字符串的问题,提出一种根据模式匹配文本流并进行相应处理的方法,在分析器之前增加过滤器预处理器和过滤器,对输入文本流进行分析处理,扩大分析器的可分析文本范围。
技术领域
本发明属于工具软件开发技术领域,应用于需要处理文本流的工具开发的过程中。本发明介绍了一种在输入文本流中部分字符串不能被分析器分析的情况下,如何处理输入文本流使其能够被分析器分析的方法,采用删除或修改不能识别字符串的方法,消除输入文本流中的不可分析内容。
背景技术
在计算机科学领域中,大量应用和系统中都需要处理各种类型的文本流,文本流的内容和格式也不尽相同,常用的处理文本流的工具有文本流过滤器、模式匹配器等等。这些工具可用于修改输入给设备的文本流,从而实现需要的文本流属性。例如文本流过滤器可用于处理一个分析器的输入文本流,即作为一个分析器的过滤器。本文将以文本流过滤器和以文本流过滤器处理后的输出作为输入的分析器为例进行说明,包括但不限于文本流过滤器和分析器。
文本分析器可以是一个从源文件中抽取词法、语法或语义信息的程序。典型的文本分析器包括一个前端,通常是一个过滤器,用于解析输入的源文本流。过滤器比较输入源代码流和预定义的模式结合,当某个模式匹配之后,将会执行为该模式定义的动作,例如,匹配的源文本可以被作为一个符号传给句法分析子系统。过滤器可以是独立的可执行程序,也可以被包含在分析器中,例如编译器前端、支持辅助编辑的文本编辑器、文本过滤器等。
文本流过滤器可用于修改分析器上游的输入,从而使得分析器能够处理包含分析器不能识别内容的源文本。例如,分析器前端可以实现某规则来用空格替换某些分析器不能理解的字符串。
之前的文本分析器前端功能有限,例如只能用相同长度的空白或空格替换输入文本,但不能替换为其它文本。之前的过滤器不支持写入字符串属性信息,如在替换动作之前的原文本块的长度信息。结果就是,必须定义忽略规则来完全忽略某些源文本。大量的源文本或许不能被分析器识别,导致分析失败或丢失信息。没有长度信息,只能用和被替换文本相同长度的文本去替换输入文本的内容。为了能替换任意长度,就需要字符串在字符流中的位置信息。另外,之前的文本过滤器不能提供分析器支持动作的信息,也不支持将正则表达式作为模式,而且之前的分析器使用的前端和特定的分析器代码紧密耦合在一起,不能实现分析器前端的通用性。
发明内容
本发明解决的技术问题为:针对分析器不能识别文本流中某些字符串的问题,提出一种根据模式匹配文本流并进行相应处理的方法,在分析器之前增加过滤器预处理器和过滤器,对输入文本流进行分析处理,扩大分析器的可分析文本范围。
过滤的文本包含分析器支持的动作和输入文本的位置信息。这使得过滤器能够进行文本替换操作,并在过滤后的文本流中增加分析器支持的特定动作。本发明中的具体实现方法包括定义过滤器配置、根据配置修改输入文本流并最终生成包含分析器支持的动作的过滤文本。
定义一个过滤器配置包括定义模式,以及定义这些模式之间各自的关联定义,还有各模式对应可执行的操作。定义一个过滤器配置包含处理模式及其各自关系,从而形成能够比较输入文本和模式的过滤器数据结构,并且在输入文本流和其中一个模式匹配的基础上触发相关可执行操作的执行。操作执行的处理过程和比较过程可以在一个过程中完成,也可以在分开的过程中完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711293595.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据类型的确定方法及装置
- 下一篇:蓝牙模块的重命名方法以及电子设备