CN1526104A - 分析结构化数据 - Google Patents
分析结构化数据 Download PDFInfo
- Publication number
- CN1526104A CN1526104A CNA028070895A CN02807089A CN1526104A CN 1526104 A CN1526104 A CN 1526104A CN A028070895 A CNA028070895 A CN A028070895A CN 02807089 A CN02807089 A CN 02807089A CN 1526104 A CN1526104 A CN 1526104A
- Authority
- CN
- China
- Prior art keywords
- context
- token
- analyzer
- grammar
- permissible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种用于分析结构化数据的方法,具有以下步骤:以第一计算机语言接收输入数据;根据输入数据生成多个令牌;使用包括规则集的文法语法编制上下文,所述上下文包括多个上下文分段,其形式为至少一个或多个上下文分段链,所述编制上下文的步骤包括以下子步骤:根据文法语法检测一个令牌在上下文中是否是容许的;如果所述令牌是容许的,则建立对应于该令牌的一个新上下文分段;以及为了恢复不容许令牌,还包括以下其他的步骤:为所述不容许令牌识别合适上下文,在该合适上下文中该令牌是容许的;和将此令牌应用于已识别的合适上下文中。
Description
技术领域
本发明涉及文件分析,并且特别涉及文件的文法分析。
背景技术
互联网已经带来了大量的用于各种目的新应用。互联网的快速增长的基础是用于定义数字形式文件的超文本标记语言(HTML)标准。HTML是标准通用标记语言(SGML)的子集。在SGML内具有另一种快速增长的定义族,称之为可扩充标记语言(XML)。此外,还存在无线标记语言WML,它被特别设计以便在移动通信中使用。HTML和WML都是XML的子集。
HTML用于在互联网上公布的大量文件。这些文件通常可被公众得到,并且提供高多样性的信息源。数字形式的信息经常被称作内容。
与HTML不同,WML是专门为无线终端设计的。与HTML形式的内容相比,WML形式的内容的量至今仍然非常有限。仅支持WML的无线终端(WML终端)不能使用HTML中的内容。
为了使可供WML终端使用的HTML格式化的内容令人感兴趣,存在两种选择。第一,能够按WML改写内容文件。第二,当WML终端请求HTML内容时,一个将HTML内容转送到WML终端的网络执行从HTML到WML的自动转换,这可以通过在WML终端与互联网之间使用一个网关服务器来安排,该网关服务器具有把内容从HTML格式转换成WML格式的能力。
都在不断研究HTML和XML。HTML正在朝XML会聚,或者HTML正在变成XML语言族的一个实例。
下面说明HTML和XML的生成和重构。首先将一个文件分解,以便分别以不同的标记标签(tag)或者仅以标签来存储其格式编排和含义(实际内容)。在HTML文件中,多个标签成一个序列,并因此顺序发送这些标签。某些标签含有用于定义文件的结构的结构信息,而某些其它标签含有根据已定义结构输出给用户的信息剪辑(clip)的含义。通常,这些剪辑是文本。
接收HTML、XML或者WML内容的终端接收一系列令牌(token)。为了以标记语言重构文件或者内容,需要一种汇编器。此汇编器将文件的格式编排和含义一起放回到原处。汇编器的核心存在一个分析器,该分析器根据某些分析规则和分析语言(即,文法)来分析数据。此分析器通常是控制终端的处理器的程序。该分析器接收顺序标记标签形式的输入(与字符数据令牌交织)并且将该输入分解成诸多部分(例如,名词(对象),动词(方法)及其属性或选项),这些部分随后能够利用其它的软件组成部分来管理。该分析器还可以查看是否已提供所需要的所有输入。在本说明书的上下文中,分析器将输入分解成令牌并根据这些令牌来构建结构。这些令牌通常是分析器的标签或文本数据(字符数据令牌)的内部表示。
需要将一个分析器用于多个不同的HTML或者XML处理应用,比如网关、HTML浏览器、移动终端、编辑工具(authoring tool)以及在某些场合中的web服务器。
不幸地,HTML和XML持续不断的发展导致这样一种需求,即需要频繁地更新用于在这些语言之间转换的设备来处理新文件。因此,包含在该设备中的分析器将被频繁更新,以应付这些语言的不同方言。这经常在需要时通过创建新版本的汇编器来实现。为此,存在至少两种工具程序,即“yacc”(Yet AnotherCompiler Compiler另一种编译器的编译程序)和“lex”。尽管这些工具程序极大地方便了新分析器的创建,但是待分析的语言的语法(syntax)首先需要用专用语言来描述。语法定义应如何完成分析。当新的分析器准备就绪时,借助于过滤工具来处理语法描述(专用语言),以生成分析器的源代码表示。过滤工具通常生成C编程语言。产品化的分析器是单片软件,它组合了语法规则和分析器逻辑。最后,所生成的分析器源代码被编译并与应用代码相关联,以产生具有分析器功能的可运行程序。该处理过程的缺点是需要花费大量工作以使设备适应输入语言(HTML,XML)的变化。
一般来说,现代XML文件识别将从网络中搜索的文法定义,并因而需要动态可替代的文法定义。通常,将文件中的一个特定基准(reference)用于文法定义的识别。
US5687378提供了一种可替代的处理过程,此处理过程允许改变专用语法描述语言而无需重新编译或重新链接汇编器,这是以可交换的语法模块的使用为基础的,每个模块包括不同的分析规则集。这些分析规则定义分析器使用的文法。以这种方式,实际的分析器引擎与使用的规则相分离,并且能够容易地改变规则。尽管这些分析规则可以被如此改变以及使新描述语言或方言的适配变得更加容易,但还是留下了某些问题。
利用标准工具生成的分析器变得相当复杂并造成存储器浪费,这是因为这些分析器提供复杂的语法描述语言来覆盖比XML更多的描述语言。在XML的情况下,少量的描述性语法描述语言就足够了。如果此分析器优化用于XML,则此分析器将更小。此外,大量存在于互联网之中的页面是有缺陷的。这些页面中的缺陷阻碍和/或减慢文法分析。人们还知道,某些内容供应商可能故意生成一定的错误,以防止或者损害某些应用程序(诸如,某些WWW-浏览器)的使用。
发明内容
根据本发明的第一方面,提供了一种用于分析结构化数据的方法,包括以下步骤:
以第一计算机语言接收输入数据;
根据所述输入数据生成多个令牌;
使用包括规则集的文法语法来编制上下文,所述上下文以至少一个或多个上下文分段(step)链的形式包括多个上下文分段,编制上下文的步骤包括以下子步骤:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的新上下文分段;
其特征在于,为了恢复不容许令牌,所述方法包括以下的其他步骤:
为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
在已识别的合适上下文中应用所述令牌。
有利的是,该方法使用了局部错误数据的所有正确信息并试图校正错误,以便甚至能够使用错误表示的信息。作为该方法一部分的分析与错误校正是快速的,并且要求减少的计算量和存储资源。
最好是,识别合适上下文包括利用所述文法语法来搜索用于令牌的最小差异(least different)容许上下文。
有利地,搜索最小差异容许上下文使有关恢复的信息在结构上的(错误)变化最小。
优选地,应用令牌包括将所述上下文修改为等于此最小差异容许上下文。
最好是,搜索最小差异容许上下文试图根据所述不容许令牌专用的规则来生成新上下文分段,以补足此上下文,从而使所述不容许令牌变成容许的。以这一种方式,能够自动插入被遗忘或故意丢弃的令牌,以估算最有可能的上下文。
优选地,搜索最小差异容许上下文的处理最好沿着上下文分段的链式结构一步一步地后退进行,直至找到容许上下文。这样,可以克服被遗忘或者被故意丢弃的尾令牌的缺陷。
最好是,该方法首先尝试通过增加这样的上下文分段来补足此上下文,其中根据语法允许这样的上下文分段加到前一上下文分段和不容许上下文分段。如果这样的补足失败,则后向继续执行搜索。
最好是,在后向继续每个上下文分段之后,该方法再次试图补足此上下文以遵从该令牌。这样,有可能克服丢失尾令牌或者其它令牌的缺陷。以这一种方式,最小改变数据的结构,这是因为在结构化数据的上下文中,最后的上下文分段最不重要。最有可能的是,上下文链式结构中的逆顺序的第一容许上下文分段对于在某一上下文中是不容许的令牌来说是正确的,其中在这某一上下文中使用此令牌。
最好是,专用于第一计算机语言的通用语法的规则被用于确定一种令牌在一个上下文中是否是容许的。这容许检测涉及第一计算机语言的通用类型的这样的错误。
最好是,专用于一种类型令牌的规则在搜索步骤中用于确定一种令牌在上下文中是否是容许的。这还允许纠正使用专用于第一计算机语言的通用语法的规则不能纠正的错误。
最好是,令牌的语法与类型特定的恢复方法用于恢复不容许令牌。
最好是,该方法包括动态转换为使用另一文法语法的还一步骤,以适应不同的语言或者此语言的不同方言。
根据本发明的第二方面,提供一种分析器,包括:
一个输入,用于以第一计算机语言接收输入数据;
一个令牌赋予器(tokeniser),用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
一个识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述令牌赋予器被配置成在识别的合适上下文中应用所述令牌。
根据本发明的第三方面,提供一种具有分析器的处理单元,所述分析器包括:
一个输入,用于以第一计算机语言接收输入数据;
一个处理器,用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
一个识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述处理器被配置成在识别的合适上下文中应用所述令牌。
最好地,所述处理单元是从由翻译器、网关、移动站和web服务器构成的一个组中选出的一个装置,该装置具有能够从输入数据的某些错误中恢复的优点。
根据本发明的第四方面,提供一种用于控制分析器的计算机程序产品,包括:
使所述分析器能够以第一计算机语言接收输入数据的分析器可运行计算机程序代码;
使所述分析器能够根据所述输入数据生成多个令牌的分析器可运行计算机程序代码;
使所述分析器能够使用包括规则集的文法语法来编制上下文的分析器可运行计算机程序代码,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,此代码被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述计算机程序产品还包括:
使所述分析器能够为所述不容许令牌识别一个合适上下文的分析器可运行计算机程序代码,在所述合适上下文中所述令牌是容许的;以及
使所述分析器能够在识别的合适上下文中应用所述令牌的分析器可运行计算机程序代码。
根据本发明的第五方面,提供一种包括移动电信网络和具有分析器的网关的系统,所述分析器包括:
一个输入,用于以第一计算机语言接收输入数据;
一个处理器,用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
一个识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述处理器被配置成在识别的合适上下文中应用所述令牌。
附图说明
现在将结合附图仅以实例来说明本发明,其中
图1表示定义一个示例性结构的HTML定义的集合;
图2表示图1的结构图;
图3表示根据现有技术以连续顺序分析结构化数据的通用时序图;
图4表示根据本发明一个优选实施例以部分并行顺序分析结构化数据的时序图;
图5表示根据此优选实施例的令牌的通用校正的一个示例;
图6表示根据此优选实施例为错误令牌定义正确上下文的恢复处理的流程图;
图7表示根据本发明的此优选实施例的一个系统;以及
图8表示图7所示的系统的分析器的方框图。
具体实施方式
图1表示HTML定义或(标记)令牌10的一个集合,用于定义一个示例性HTML文件的结构。每个令牌被<and>标志或者被引号包围。被<and>标志包围的令牌通常包含有关数据结构的信息,以形成用户数据上下文,而被引号包围的令牌代表有关上下文的用户数据。在图1的结构中,令牌的序列包含:第一列表项令牌L1 10、列表项令牌的第一尾部/L 11、第二列表项令牌L112和列表令牌的第二尾部/L1 14。
在HTML中,利用确定树的各种分支的定义将一个文件按树形结构进行安排。图2表示树形的文件结构的图,该文件的令牌在图1中示出。例如,令牌HTML2代表树形结构的最高层,而令牌HEAD 2.1和BODY 2.2代表两个主分支。令牌HEAD 2.1定义此文件的标题,又包括两个分支,其中一个分支是用于定义标题的题目的TITLE 2.1.1,另一个分支是以各种方式描述此文件的META 2.1.2。在TITLE 2.1.1之下,在标题分支的底端,存在一个包含文本串“EXAMPLETEXT”的令牌2.1.1.1,它将被用作标题。第二主分支分成令牌2.2.1 H1和2.2.2OL。H1具有一个从属令牌(subordinate token)2.2.1.1 HEADER(标题)。OL2.2.2具有两个从属令牌2.2.2.1和2.2.2.2,其每个从属令牌代表有序列表OL中的一个列表项L1。列表项(令牌2.2.2.1和2.2.2.2)具有定义列表项的内容的相应从属令牌。在该实例中,第一列表项2.2.2.1.1的文本是SEC,并且第二列表项2.2.2.2.1的文本是FIRST。
了解诸如HTML和XML的结构化语言形成树形结构的原因,对于理解本发明是有帮助的,其中与位于此树的分支尾部的最不重要的定义相反,最重要的定义处于第一分层级上。例如,令牌2.2.2.2.1只影响一个列表项,但是令牌2.2定义了包含有序列表OL的整体的开始。
通过安排将HTML文件转换成其它语言所需的步骤来利用HTML文件的结构化层次,如图3所示。如果HTML文件被转换成另一种语言或者转换成HTML的方言,则在令牌赋予阶段TOK首先生成令牌。在令牌赋予阶段之后,具有分析阶段PAR,在该阶段中分析这些令牌以生成一种结构。接下来是翻译阶段TRA,在该阶段中能够利用目的地语言或者方言来描述此结构。在完成翻译阶段TRA之后,在传送阶段COM中经由一个通信信道能够发送结果。通过允许不考虑令牌顺序而对令牌进行分析,此技术方案的管理是容易的并提供增强稳定性的机会。然而,该处理的一个缺点是它所花费的时间量多达所有其阶段之总和。为了解决此问题,具有一种替代的翻译处理,该翻译处理利用源语言和目的地语言的结构来加速语法分析,如图4所示。
图4表示根据本发明一个优选实施例以并行方式分析结构化数据的时序图。该处理与图3所示处理的不同之处在于,在令牌赋予开始之后不久就启动后续阶段,同时继续进行令牌赋予。在令牌赋予期间,按分析阶段PAR、翻译阶段TRA和传送阶段COM的顺序启动这些阶段。因而,所有这些阶段并行发生。在这个实例中,传送阶段在令牌赋予结束之前开始。这些处理可以部分地并行完成,这是因为此树形结构的每个分支能够作为独立单元来处理。
下面将说明错误校正(recovery)处理。返回参见图1,缺少列表令牌11的第一尾部将在分析这些令牌时造成错误。严格地说,第二列表令牌12可以不从属于第一列表项10。在该特定实例中,能够认为新列表项的出现将自动地使分析关闭前一列表项分支。当前一列表分支关闭之后,应为新的列表项创建一个新分支。这样的归纳(induction)能够校正至少某些错误。下面说明两种类型的校正方法。在第一类型的方法中,校正以解释的语言的通用特性为基础。在第二类型的方法中,校正以一个特定规则(即,专用于此令牌类型)为基础。本发明的此优选实施例包括这两种类型方法的能力。下面将结合图5和图6对这两种方法进行解释。
图5表示根据本发明的此优选实施例的令牌的通用校正的一个示例。在此情况下,依次接收令牌HTML50、BODY52、对象列表令牌OL 54、列表项令牌LI 56、对象列表(Object List)令牌OL 58和ImaGe IMG59的序列,但是最后的令牌IMG 59与前一令牌OL 58失配。测试每个令牌与最后令牌59匹配的适应性,以找到失配的最后令牌59的可能的正确位置。在该实例中,最后令牌IMG59是一个图像令牌,根据文法规则,该图像令牌不能从属于LI 56。它不能接下来跟随在OL 54之后,OL 54在LI 56之前。相反地,它能够从属于在OL 54之前的令牌BODY 52。因此,通过沿此分析的结构后向执行以有效的处理方式找到此位置。最常见的是,不容许令牌的正确位置靠近它所在的尾部。通过利用逆处理过程(沿一个分支后向继续),能够以最小的处理量找到最可能的正确位置。这种处理过程还引起结果的最小可能的(错误)变化,这是因为这些变化主要是在此上下文的最不有效的部分上实现的(距树形结构的根最远)。
图6表示根据本发明的此优选实施例为错误令牌定义正确上下文的规则特定的恢复处理。在此情况下,接收令牌THML 62、BODY 63和LI 64的序列。LI64不能从属于BODY令牌。因此,规则特定的校正方法被用来附加一个适当的在前令牌(在此种情况中,为一个用户列表令牌UL 66)。通常,在考虑其从属关系时具有这样的附加令牌(在本情况中是BODY 63)是否是适当的附加测试。如果此测试成功,则认为此附加令牌是有效的。LI 64实际上是UL 66的有效从属并且此测试成功。结果,令牌的新序列是HTML 62、BODY 63、UL 66和LI 64。在本情况中,LI 64能够仅从属于一种类型的令牌,即,UL。因此,UL 66被自动附加。
在本发明的一个实施例中,检测一个合适令牌是否不是唯一替代物。如果存在其它的替代,则使用启发性分析来确定应被使用的最可能的替代物。例如,分析器可以保存后续令牌的每个可能的不同系列的概率表。然后,分析器选择将要附加的这一令牌,该令牌具有最高概率并与预存的相邻令牌串联。在另一个更简单的实施例中,分析器不采用启发性分析,而是在容许令牌(替代物)的组中基本随机地挑选一个附加令牌。
如果附加令牌不适合,则可以只是放弃该附加令牌。更智能的技术方案是试图在BODY 63与附加令牌之间附加另一个令牌,以便结束于有效分支。这甚至在以下情况下也允许恢复:一个以上的令牌正在丢失,但丢失的令牌可以从上下文中合理地演绎出。
图7表示本发明的此优选实施例的系统。该系统包括两个数据通信网络:GSM电话网络72和IP(互联网协议)网络71,诸如互联网或内联网。这两个数据通信网通过网关70进行链接。网关70包括第一分析器73(用于HTML)和第二分析器74(用于WML),第二分析器74用于在HTML与WML之间翻译数据(内容)。终端75耦合到GSM电话网络72。此终端是双模式终端,诸如具有GSM模块的膝上型个人计算机PC。在此优选实施例中,同一终端还具有连接到IP网络71的功能。该终端包括用于处理WML文件的分析器76。
图8表示图7的第一分析器73的方框图。第一分析器具有:一个处理器μP;一个输入IN,用于接收至此处理器μP的数据;一个输出OUT,用于从处理器μP中输出数据并因而从分析器73向分析器73之外部输出数据;分析器软件P1;存储器MEM;和分析规则的数据库DB,所述分析规则包括两个不同的分析规则R1和R2的集合。
操作时,处理器μP以一种输入语言(在本案中为HIML)接收一个令牌集。处理器μP确定此语言和/或此输入语言的方言,并且从数据库DB中检索相应的分析规则集。使用分析器软件P1和存储器MEM,处理器μP根据所接收的令牌集生成一种结构。然后,处理器μP将该结构发送给第二分析器74,以使第二分析器74能够根据其分析规则以输出语言生成一个新的令牌集。
第二分析器的结构可以与第一分析器的结构相一致。在此优选实施例中,第二分析器74也具有一个数据库,但该数据库包括两个和多个分析与翻译规则集,以使之适于产生正确的语言或方言。
通过使用分析器73和74,网关70能够将数据从一种标记语言翻译成另一种标记语言。网关70可以动态地适应它处理的不同语言。使第二分析器适应不同语言的可能性还允许使用一个网关来为各种不同类型的网络提供服务。
根据此优选实施例,数据库DB按需要动态地进行更新。例如,此处理器可以识别一种输入语言或者方言,此处理器没有规则集用于此输入语言或者方言。在这种情况中,网关可以有一个到另一个规则集数据库的连接(可以被中央管理),并且检索合适的规则集给它自己的数据库。这样,分析器能够自动维护使其自我更新,而不需要任何人工再配置。
本发明的特定实施和实施例已经被描述,但是本领域熟练技术人员将会明白:本发明不限于上述实施例的细节,而是可以在不背离本发明特征的条件下使用等同手段在其它实施例中实施本发明。本发明的范围由所附的权利要求书来限定。
Claims (13)
1、一种用于分析结构化数据的方法,包括以下步骤:
以第一计算机语言接收输入数据;
根据所述输入数据生成多个令牌;
使用包括规则集的文法语法来编制上下文,所述上下文以至少一个或多个上下文分段链的形式包括多个上下文分段,所述编制上下文的步骤包括以下子步骤:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述方法包括以下的其他步骤:
为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
在识别的合适上下文中应用所述令牌。
2、根据权利要求1所述的方法,其中识别合适上下文包括使用所述文法语法来搜索用于所述令牌的最小差异容许上下文。
3、根据权利要求2所述的方法,其中应用所述令牌包括将所述上下文修改为等于所述最小差异容许上下文。
4、根据权利要求2所述的方法,其中搜索最小差异容许上下文试图根据所述不容许令牌特定的规则生成新的上下文分段,以补足所述上下文,从而使所述不容许令牌变成容许的。
5、根据任何一项上述权利要求所述的方法,其中所述方法首先通过根据所述语法将容许的上下文分段加到前一上下文分段和不容许上下文分段来试图补足所述上下文。
6、根据权利要求5所述的方法,其中,如果这样的补足失败,则后向继续搜索合适上下文。
7、根据任何一项上述权利要求所述的方法,其中,至少第一计算机语言的通用语法特定的规则和令牌类型之一被用于确定令牌在上下文中是否是容许的。
8、根据任何一项上述权利要求所述的方法,其中,所述方法包括动态转换为使用另一文法语法以适应于不同的语言或者所述语言的不同方言的另一步骤。
9、一种分析器,包括:
一个输入,用于以第一计算机语言接收输入数据;
一个令牌赋予器,用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
一个识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述令牌赋予器被配置成在识别的合适上下文中应用所述令牌。
10、一种用于控制分析器的计算机程序产品,包括:
使所述分析器能够以第一计算机语言接收输入数据的分析器可运行计算机程序代码;
使所述分析器能够根据所述输入数据生成多个令牌的分析器可运行计算机程序代码;
使所述分析器能够使用包括规则集的文法语法来编制上下文的分析器可运行计算机程序代码,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述代码被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述计算机程序产品还包括:
使所述分析器能够为所述不容许令牌识别合适上下文的分析器可运行计算机程序代码,在所述合适上下文中所述令牌是容许的;以及
使所述分析器能够在识别的合适上下文中应用所述令牌的分析器可运行计算机程序代码。
11、一种具有分析器的处理单元,所述分析器包括:
一个输入,用于以第一计算机语言接收输入数据;
一个处理器,用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法来检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述处理器被配置成在识别的合适上下文中应用所述令牌。
12、根据权利要求11所述的处理器单元,包括一个从由翻译器、网关、移动站和web服务器的一组装置中选出的装置。
13、一种包括移动电信网络和具有分析器的网关的系统,所述分析器包括:
一个输入,用于以第一计算机语言接收输入数据;
一个处理器,用于根据所述输入数据生成多个令牌;
一个上下文编制器,用于使用包括规则集的文法语法来编制上下文,所述上下文以至少一个上下文分段链的形式包括多个上下文分段,所述上下文编制器被配置成:
根据所述文法语法检测一个令牌在所述上下文中是否是容许的;和
如果所述令牌是容许的,则建立对应于所述令牌的一个新上下文分段;
其特征在于,为了恢复不容许令牌,所述分析器还包括:
一个识别单元,用于为所述不容许令牌识别一个合适上下文,在所述合适上下文中所述令牌是容许的;以及
所述处理器被配置成在识别的合适上下文中应用所述令牌。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20010609 | 2001-03-23 | ||
FI20010609A FI115416B (fi) | 2001-03-23 | 2001-03-23 | Rakenteellisen datan jäsennys |
PCT/FI2002/000071 WO2002077856A1 (en) | 2001-03-23 | 2002-01-30 | Parsing structured data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1526104A true CN1526104A (zh) | 2004-09-01 |
CN1526104B CN1526104B (zh) | 2010-04-28 |
Family
ID=8560831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN028070895A Expired - Fee Related CN1526104B (zh) | 2001-03-23 | 2002-01-30 | 分析结构化数据 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7263691B2 (zh) |
EP (1) | EP1374088A1 (zh) |
KR (1) | KR100750962B1 (zh) |
CN (1) | CN1526104B (zh) |
FI (1) | FI115416B (zh) |
WO (1) | WO2002077856A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243647A (zh) * | 2010-05-11 | 2011-11-16 | 微软公司 | 从结构化数据中提取高阶知识 |
CN103279459A (zh) * | 2012-03-30 | 2013-09-04 | 微软公司 | 语义区分和自动合并 |
CN106776597A (zh) * | 2015-11-19 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 结构化数据的下载方法和装置 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219338B2 (en) * | 2003-03-25 | 2007-05-15 | Microsoft Corporation | Multi-language compilation |
US7617492B2 (en) * | 2004-06-28 | 2009-11-10 | Microsoft Corporation | Extensible command line parsing |
DE502004007444D1 (de) * | 2004-07-16 | 2008-08-07 | Collano Ag | Heissschmelzzusammensetzung mit Hydrocolloid |
US8001456B2 (en) * | 2005-02-28 | 2011-08-16 | International Business Machines Corporation | Methods for maintaining separation between markup and data at a client |
US20060212859A1 (en) * | 2005-03-18 | 2006-09-21 | Microsoft Corporation | System and method for generating XML-based language parser and writer |
US7937344B2 (en) | 2005-07-25 | 2011-05-03 | Splunk Inc. | Machine data web |
US7818732B2 (en) * | 2006-05-08 | 2010-10-19 | Protomatics, Inc. | Transfer syntax notational system and method |
US9063744B2 (en) * | 2006-06-26 | 2015-06-23 | Ca, Inc. | Modifying a file written in a formal language |
US20080040094A1 (en) * | 2006-08-08 | 2008-02-14 | Employease, Inc. | Proxy For Real Time Translation of Source Objects Between A Server And A Client |
US7685171B1 (en) * | 2006-09-22 | 2010-03-23 | Emc Corporation | Techniques for performing a restoration operation using device scanning |
US20080148213A1 (en) * | 2006-11-15 | 2008-06-19 | Moussadek Belaidi | Routing method for reducing coupling between wires of an electronic circuit |
US8032851B2 (en) * | 2006-11-15 | 2011-10-04 | International Business Machines Corporation | Structure for an integrated circuit design for reducing coupling between wires of an electronic circuit |
US8489388B2 (en) | 2008-11-10 | 2013-07-16 | Apple Inc. | Data detection |
US8397222B2 (en) * | 2008-12-05 | 2013-03-12 | Peter D. Warren | Any-to-any system for doing computing |
US9367539B2 (en) | 2011-11-03 | 2016-06-14 | Microsoft Technology Licensing, Llc | Techniques for automated document translation |
US8595016B2 (en) | 2011-12-23 | 2013-11-26 | Angle, Llc | Accessing content using a source-specific content-adaptable dialogue |
CN103942137B (zh) * | 2013-01-23 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法及装置 |
US10254934B2 (en) | 2015-08-01 | 2019-04-09 | Splunk Inc. | Network security investigation workflow logging |
US9363149B1 (en) | 2015-08-01 | 2016-06-07 | Splunk Inc. | Management console for network security investigations |
US9516052B1 (en) | 2015-08-01 | 2016-12-06 | Splunk Inc. | Timeline displays of network security investigation events |
US10365901B2 (en) | 2015-08-14 | 2019-07-30 | Entit Software Llc | Dynamic lexer object construction |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0713966A (ja) * | 1993-04-12 | 1995-01-17 | Xerox Corp | 文書の編集方法 |
US5687378A (en) | 1995-06-07 | 1997-11-11 | Motorola, Inc. | Method and apparatus for dynamically reconfiguring a parser |
US6558431B1 (en) * | 1998-09-11 | 2003-05-06 | Macromedia, Inc. | Storing valid and invalid markup language in strict and relaxed tables respectively |
US6519617B1 (en) * | 1999-04-08 | 2003-02-11 | International Business Machines Corporation | Automated creation of an XML dialect and dynamic generation of a corresponding DTD |
US6209124B1 (en) * | 1999-08-30 | 2001-03-27 | Touchnet Information Systems, Inc. | Method of markup language accessing of host systems and data using a constructed intermediary |
AUPQ479999A0 (en) | 1999-12-22 | 2000-02-03 | Canon Kabushiki Kaisha | Structures to represent poorly formed html documents |
US7114147B2 (en) * | 2000-03-09 | 2006-09-26 | Electronic Data Systems Corporation | Method and system for reporting XML data based on precomputed context and a document object model |
US20010037404A1 (en) | 2000-04-04 | 2001-11-01 | Gudmundur Hafsteinsson | System for wireless communication of data between a WEB server and a device using a wireless application protocol |
-
2001
- 2001-03-23 FI FI20010609A patent/FI115416B/fi not_active IP Right Cessation
-
2002
- 2002-01-30 WO PCT/FI2002/000071 patent/WO2002077856A1/en not_active Application Discontinuation
- 2002-01-30 EP EP02710924A patent/EP1374088A1/en not_active Withdrawn
- 2002-01-30 US US10/468,864 patent/US7263691B2/en not_active Expired - Fee Related
- 2002-01-30 KR KR1020037012218A patent/KR100750962B1/ko not_active IP Right Cessation
- 2002-01-30 CN CN028070895A patent/CN1526104B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243647A (zh) * | 2010-05-11 | 2011-11-16 | 微软公司 | 从结构化数据中提取高阶知识 |
CN102243647B (zh) * | 2010-05-11 | 2016-09-28 | 微软技术许可有限责任公司 | 从结构化数据中提取高阶知识 |
CN103279459A (zh) * | 2012-03-30 | 2013-09-04 | 微软公司 | 语义区分和自动合并 |
US9519631B2 (en) | 2012-03-30 | 2016-12-13 | Microsoft Technology Licensing, Llc | Semantic diff and automerge |
CN103279459B (zh) * | 2012-03-30 | 2017-01-18 | 微软技术许可有限责任公司 | 语义区分和自动合并 |
US10949612B2 (en) | 2012-03-30 | 2021-03-16 | Microsoft Technology Licensing, Llc | Semantic diff and automerge |
CN106776597A (zh) * | 2015-11-19 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 结构化数据的下载方法和装置 |
CN106776597B (zh) * | 2015-11-19 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 结构化数据的下载方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20040004559A (ko) | 2004-01-13 |
US20040098668A1 (en) | 2004-05-20 |
US7263691B2 (en) | 2007-08-28 |
KR100750962B1 (ko) | 2007-08-22 |
CN1526104B (zh) | 2010-04-28 |
WO2002077856A1 (en) | 2002-10-03 |
FI20010609L (fi) | 2002-09-24 |
FI20010609A0 (fi) | 2001-03-23 |
EP1374088A1 (en) | 2004-01-02 |
FI115416B (fi) | 2005-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1526104A (zh) | 分析结构化数据 | |
CN112540923B (zh) | 接口参数校验与转换方法、装置、设备及存储介质 | |
CN111209004B (zh) | 代码转换方法及装置 | |
US8335779B2 (en) | Method and apparatus for gathering, categorizing and parameterizing data | |
CN102375826B (zh) | Sql脚本解析方法、装置及系统 | |
US20080046868A1 (en) | Method and system for template-based code generation | |
CN112379917B (zh) | 浏览器兼容性提升方法、装置、设备及存储介质 | |
CA2500422A1 (en) | Annotated automaton encoding of xml schema for high performance schema validation | |
CN110109681B (zh) | 不同平台间代码的转换方法及系统 | |
CN101145157A (zh) | 一种xml格式嵌入式设备特征信息解析方法 | |
CN111796833A (zh) | 代码语言转换方法、系统、设备及存储介质 | |
CN111143330A (zh) | 一种多模态数据库解析引擎的实现方法及装置 | |
CN113704575A (zh) | 解析XML与Java文件的SQL方法、装置、设备及存储介质 | |
CN106570095B (zh) | 一种xml数据的操作方法及设备 | |
CN103927212B (zh) | 自动分析源文件信息的方法及装置 | |
CN109947711B (zh) | 一种对ios项目开发过程中的多语言文件自动化管理方法 | |
CN1243431C (zh) | 宽带网络通信产品的通用路由平台命令行的解析方法 | |
CN111240681B (zh) | 一种不同编程语言的转换方法及装置 | |
CN1766876A (zh) | 用于管理结构化文件的系统和方法 | |
CN113641361B (zh) | 一种基于Clang的代码隐藏方法及装置 | |
CN117407102A (zh) | 软件项目国际化的方法、工具、存储介质及服务器 | |
CN1896954A (zh) | 用于复杂多业务的动态编译器的构件化实现 | |
CN113448591A (zh) | 一种基于python快速创建iOS工程的方法 | |
CN112148710B (zh) | 微服务分库方法、系统和介质 | |
CN1898666A (zh) | 用于进行高性能结构化数据转换的硬件/软件分区 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100428 Termination date: 20110130 |