KR100750962B1 - 구조적 데이터 구문 분석 - Google Patents

구조적 데이터 구문 분석 Download PDF

Info

Publication number
KR100750962B1
KR100750962B1 KR1020037012218A KR20037012218A KR100750962B1 KR 100750962 B1 KR100750962 B1 KR 100750962B1 KR 1020037012218 A KR1020037012218 A KR 1020037012218A KR 20037012218 A KR20037012218 A KR 20037012218A KR 100750962 B1 KR100750962 B1 KR 100750962B1
Authority
KR
South Korea
Prior art keywords
context
token
parser
tokens
acceptable
Prior art date
Application number
KR1020037012218A
Other languages
English (en)
Other versions
KR20040004559A (ko
Inventor
베흐코매키투오모
Original Assignee
노키아 코포레이션
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20040004559A publication Critical patent/KR20040004559A/ko
Application granted granted Critical
Publication of KR100750962B1 publication Critical patent/KR100750962B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Abstract

구조적 데이터를 구문 분석하기 위한 방법은, 제1 컴퓨터 언어로 된 입력 데이터를 수신하는 단계와, 상기 입력 데이터에 따라 복수의 토큰들을 생성하는 단계와, 한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하는 단계로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나 이상의 체인들의 형태로 된 복수의 콘텍스트 단계들을 포함하고, 상기 문법 구문에 따라 하나의 토큰이 상기 콘텍스트에서 허용되는지를 검출하는 부단계 및 상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하는 부단계를 포함하는 콘텍스트 형성 단계를 포함하며, 허용가능하지 않은 토큰을 복구하기 위하여, 상기 허용가능하지 않은 토큰에 대해 적합한 콘텍스트를 식별하는 단계로서, 상기 적합한 콘텍스트에서 상기 토큰이 허용가능한 단계 및 상기 식별된 적합한 콘텍스트에 상기 토큰을 적용하는 단계를 더 포함한다.
구조적, 데이터, 구문, 분석, 토큰, 콘텍스트, 문법, 규칙

Description

구조적 데이터 구문 분석{Parsing structured data}
본 발명은 문서 구문 분석에 관한 것으로, 특히 문서들의 문법적 구문 분석에 관한 것이다.
인터넷은 다양한 목적을 위한 다수의 새로운 애플리케이션들을 만들어냈다. 인터넷의 급속한 성장에 기초가 되는 것은 디지털 형태로 문서들을 정의하기 위한 하이퍼텍스트 마크업 언어(HTML: HyperText Markup Language) 표준이다. HTML은 표준 범용 마크업 언어(SGML: Standard Generalized Markup Language)의 부분 집합이다. SGML내에 확장성 마크업 언어(XML: eXtensible Markup Language)라고 불리우는, 다른 급속하게 성장하는 계열의 정의가 존재한다. 더욱이, 특히 이동 통신에서 사용하도록 설계된, 무선 마크업 언어(WML: Wireless Markup Language)가 존재한다. HTML과 WML 양자는 XML의 부분 집합이다.
HTML은 인터넷에서 발행되는 수많은 문서들을 위해 사용된다. 이들 문서들은 보통 대중에 이용가능하고 매우 다양한 정보원을 제공한다. 상기 디지털 형태의 정보는 종종 콘텐트로서 지칭된다.
HTML과 달리, WML은 특히 무선 단말기들을 위해 설계된다. WML 형태의 콘텐트의 양은 아직까지 HTML 형태의 콘텐트에 비해 매우 제한된다. WML만을 지원하는 무선 단말기(WML 단말기)는 HTML의 콘텐트를 사용할 수 없다.
관심대상의 HTML-포맷의 콘텐트를 WML 단말기들에서 사용할 수 있게 하기 위하여, 두개의 옵션들이 존재한다. 첫째, 상기 콘텐트 문서들은 WML로 재작성될 수 있다. 둘째, HTML 콘텐트를 WML 단말기로 중계하는 네트워크는 상기 단말기가 그러한 콘텐트를 요청할 때 HTML에서 WML로의 자동 변환을 수행할 수 있다. 이것은 상기 WML 단말기와 인터넷간에 HTML에서 WML로 콘텐트를 변환하는 능력을 가진 게이트웨이 서버를 사용함으로써 해결될 수 있다.
HTML과 XML 양자는 부단한 개발하에 있다. HTML은 XML쪽으로 수렴하고 있거나, HTML은 XML 언어 계열의 하나의 실례가 되고 있다.
HTML 및 XML 문서들의 생성 및 재구성은 다음에 설명된다. 문서는 우선 그것의 형식 및 의미(실제 콘텐트)가 개별적으로 상이한 마크업 태그들 또는 단순히 태그들에 저장되도록 분해된다. HTML 문서에서, 상기 태그들은 순차적이어서 그들은 순차적으로 전송된다. 몇몇 태그들은 콘텐트가 정의하는 문서의 구조를 정의하기 위한 구조 정보를 포함하는 반면에 몇몇 다른 태그들은 정의된 구조에 따라 사용자에게 출력되는 정보의 클립들에 상기 의미를 포함한다. 전형적으로, 이들 클립들은 텍스트이다.
HTML, XML 또는 WML 콘텐트를 수신하는 단말기는 일련의 토큰들을 수신한다. 마크업 언어의 문서 또는 콘텐트를 재구성하기 위하여, 어셈블러가 요구된다. 상기 어셈블러는 상기 문서의 형식 및 의미를 함께 제자리로 되돌린다. 상기 어셈블러의 핵심에, 어떤 분석 규칙들 및 구문 분석 언어, 즉 문법에 따라 데이터를 구문 분석 하는 구문 분석기(parser)가 존재한다. 상기 구문 분석기는 전형적으로 상기 단말기의 프로세서를 제어하는 프로그램이다. 상기 구문 분석기는 (문자 데이터 토큰들이 삽입된) 순차적인 마크업 태그 형태로 입력을 수신하고 상기 입력을 다른 소프트웨어 구성 요소에 의해 관리될 수 있는 부분들 (예를 들어, 명사들(목적어들), 동사들(방법들) 및 그들의 속성 또는 옵션들)로 분해한다. 상기 구문 분석기는 또한 필요한 모든 입력이 제공되었는지를 알아 보기 위해 점검할 수 있다. 이러한 정황에서, 상기 구문 분석기는 상기 입력을 토큰들로 분해하고 상기 토큰들에 따라 구조를 형성한다. 상기 토큰들은 전형적으로 태그들 또는 텍스트 데이터(문자 데이터 토큰)의 구문 분석기의 내부 표시이다.
구문 분석기는 게이트웨이들, HTML-브라우저들, 이동 단말기들, 저작 도구들 및 어떤 경우에는 웹 서버들과 같은 복수의 상이한 HTML 또는 XML 처리 애플리케이션들에 필요하다.
불행하게도, HTML과 XML의 부단한 개발은 새로운 문서들을 처리하기 위하여 이들 언어들간의 변환에 사용되는 장치의 빈번한 갱신을 필요로 한다. 그러므로, 상기 장치에 포함된 구문 분석기는 언어들의 상이한 방언들에 대처하도록 빈번히 갱신되어야 한다. 이것은 보통 요구될 때마다 새로운 버전의 어셈블러를 형성함으로써 수행되었다. 이러한 목적을 위하여, 적어도 2개의 도구 프로그램들, 즉 "yacc"(Yet Another Compiler Compiler: 컴파일러를 위한 컴파일러) 및 "lex"가 존재한다. 이들 도구 프로그램들은 주로 새로운 구문 분석기(parser)의 형성을 매우 용이하게 하는 반면에, 구문 분석될 언어의 구문은 우선 전용 언어로 기술될 필요 가 있다. 새로운 구문 분석기가 준비될 때, 구문 기술(전용 언어)은 상기 구문 분석기의 소스 코드 표시를 생성하기 위하여 필터링 도구들로 처리된다. 상기 필터링 도구들은 전형적으로 C 프로그래밍 언어를 생성한다. 생성된 구문 분석기는 구문 규칙들과 구문 분석기 로직을 결합하는, 단일체 조각의 소프트웨어이다. 최종적으로, 생성된 구문 분석기 소스 코드는 구문 분석기 기능을 갖는 실행가능한 프로그램을 생성하기 위하여 컴파일되고 애플리케이션 코드와 연결된다. 이 절차의 단점은 장치를 입력 언어(HTML, XML)의 변경에 적합화하는데 필요한 많은 양의 노력이다.
전형적으로, 현대의 XML 문서들은 네트워크에서 검색될 문법 정의를 식별하고 따라서 동적으로 대체가능한 문법 정의가 필요하다. 전형적으로 문서에서의 특정 기준은 상기 문법 정의를 식별하는데 사용된다.
US 5 687 378은 어셈블러를 재 컴파일하거나 재 연결하지 않고 전용 구문 기술 언어가 변경되도록 허용하는 대안적인 절차를 제공한다. 이것은 상이한 세트의 구문 규칙들을 각각 포함하는 교환가능한 구문 모듈들의 사용에 기반한다. 상기 구문 규칙들은 상기 구문 분석기에 의해 사용되는 문법을 정의한다. 이러한 방법으로, 실제 구문 분석기 엔진은 사용되는 규칙들로부터 분리되고 상기 규칙들은 용이하게 변경될 수 있다. 상기 구문 분석 규칙들이 변경될 수 있고 새로운 기술 언어 또는 방언들에의 적응이 더 용이해질지라도, 어떤 문제가 남는다.
표준 도구들을 가지고 생성된 구문 분석기들은 오히려 복잡하고 메모리 소모적이되는데, 이것은 그들이 XML보다 더 많은 기술적 언어들을 포함하기 위하여 복 잡한 구문 기술 언어들을 제공해야 하기 때문이다. XML의 경우, 덜 기술적인 구문 기술 언어로도 충분할 것이다. 구문 분석기가 XML에 대해 최적화되어 있는 경우, 그것은 더 작을 것이다. 더욱이, 인터넷에서 제공된 많은 수의 페이지들은 결함이 있을 것이다. 이들 페이지들내의 결함들은 구문 분석을 방해 및/또는 느려지게 할 것이다. 또한, 몇몇 콘텐트 제공자들은 어떤 WWW-브라우저들과 같은, 어떤 애플리케이션들의 사용을 방해하거나 훼손하기 위하여 어떤 에러들을 고의로 생성할 수 있다.
본 발명의 제1 태양에 의하면, 구조적 데이터를 구문 분석하기 위한 방법으로서,
제1 컴퓨터 언어로 된 입력 데이터를 수신하는 단계;
상기 입력 데이터에 따라 복수의 토큰들을 생성하는 단계; 및
한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하는 단계로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나 이상의 체인들의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
상기 문법 구문에 따라 하나의 토큰이 상기 콘텍스트에서 허용되는지를 검출하는 부 단계; 및
상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하는 부단계를 포함하는 콘텍스트 형성 단계를 포함하는 구조적 데이터의 구문 분석 방법에 있어서,
허용가능하지 않은 토큰을 복구하기 위하여,
상기 허용가능하지 않은 토큰에 대해 적합한 콘텍스트를 식별하는 단계로서, 상기 적합한 콘텍스트에서는 상기 토큰이 허용가능한 단계; 및
상기 식별된 적합한 콘텍스트에 상기 토큰을 적용하는 단계를 더 포함하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법이 제공된다.
유리하게는, 상기 방법은 부분적으로 잘못된 데이터의 모든 정확한 정보를 이용하고 심지어 틀리게 제공된 정보가 사용될 수 있도록 에러들을 복구하려고 한다. 상기 구문 분석 및 그것의 일부로서의 에러 복구는 빠르고 감소된 양의 계산 및 메모리 자원들을 필요로 한다.
바람직하기로는, 상기 적합한 콘텍스트를 식별하는 단계는 상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색하는 단계를 포함한다.
유리하게는, 상기 최소로 상이한 허용가능한 콘텍스트를 검색하는 단계는 복구에 대한 정보의 구조의 (잘못된) 변경을 최소화한다.
바람직하기로는, 상기 토큰을 적용하는 단계는 상기 최소로 상이한 허용가능한 콘텍스트와 같아지도록 상기 콘텍스트를 변경하는 단계를 포함한다.
바람직하기로는, 상기 최소로 상이한 허용가능한 콘텍스트를 검색하는 단계는 허용가능하지 않은 토큰이 허용가능해지도록 상기 콘텍스트를 보완하기 위하여 상기 허용가능하지 않은 토큰에 특정한 규칙에 따라 신규 콘텍스트 단계를 생성하는 것을 시도한다. 이러한 방법으로, 잊어버리거나 고의로 버려진 토큰은 있음직한 콘텍스트를 추정하기 위하여 자동으로 삽입될 수 있다.
바람직하기로는, 상기 최소로 상이한 허용가능한 콘텍스트를 검색하는 단계는 허용가능한 콘텍스트가 발견될 때까지 하나씩 상기 콘텍스트 단계들의 체인을 따라 역방향으로 진행된다. 이러한 방법으로, 잊어버리거나 고의로 버려진 종단 토큰이 극복될 수 있다.
바람직하기로는, 상기 방법은 우선 상기 구문에 따라 허용가능한 콘텍스트 단계를 이전의 콘텍스트 단계 및 상기 허용가능하지 않은 콘텍스트 단계 양자에 부가함으로써 상기 콘텍스트를 보완하려고 한다. 바람직하기로는, 이러한 보완이 실패하는 경우, 상기 역방향 진행 검색이 수행된다.
바람직하기로는, 각 콘텍스트 단계가 역방향으로 진행된 후, 상기 방법은 상기 토큰에 따르기 위하여 상기 콘텍스트를 다시 보완하려고 한다. 이러한 방법으로, 분실된 종단 토큰 또는 다른 토큰의 결여를 극복할 수 있다. 이러한 방법으로, 상기 데이터의 구조는 최소로 변경되는데, 이것은 구조적 데이터의 콘텍스트에서, 최종 단계들이 최소로 중요하기 때문이다. 상기 콘텍스트 체인에서 역 순서의 제1 허용가능한 콘텍스트 단계는 그것이 사용되었던 어떤 콘텍스트에서 허용가능하지 않은 토큰에 대해 가장 정확할 것 같다.
바람직하기로는, 제1 컴퓨터 언어의 일반적 구문에 특정한 규칙은 토큰이 콘텍스트에서 허용가능한지를 결정하는데 사용된다. 이것은 상기 제1 컴퓨터 언어의 일반적 유형과 관련된 에러들의 검출을 허용한다.
바람직하기로는, 토큰의 유형에 특정한 규칙은 토큰이 콘텍스트에서 허용가 능한지를 결정하기 위하여 상기 검색 단계에서 사용된다. 또한 이것은 상기 제1 컴퓨터 언어의 일반적 구문에 특정한 규칙을 사용하여 복구될 수 없는 에러들로부터의 복구를 허용한다.
바람직하기로는, 구문 및 토큰의 유형 양자에 특정한 복구 방법들은 허용가능하지 않은 토큰을 복구하는데 사용된다.
바람직하기로는, 상기 방법은 상이한 언어 또는 상기 언어의 상이한 방언에 적합시키기 위하여 다른 문법 구문을 사용하도록 동적으로 전환하는 추가 단계를 포함한다.
본 발명의 제2 태양에 의하면,
제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 토큰화기; 및
한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며,
상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 형성기를 포함하는 구문 분석기에 있어서,
허용가능하지 않은 토큰을 복구하기 위하여,
상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스 트를 식별하기 위한 식별 블록; 및
상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성된 토큰화기를 더 포함하는 것을 특징으로 하는 구문 분석기가 제공된다.
본 발명의 제3 태양에 의하면,
제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 프로세서; 및
한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고, 상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며, 상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 생성기를 포함하는 구문 분석기를 구비한 처리 장치에 있어서,
상기 구문 분석기는 허용가능하지 않은 토큰을 복구하기 위하여,
상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별하기 위한 식별 블록을 더 포함하고,
상기 프로세서는 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성되는 것을 특징으로 하는 구문 분석기를 구비한 처리 장치가 제공된다.
바람직하기로는, 상기 처리 장치는 번역기, 게이트웨이, 이동국 및 웹 서버로 이루어진 그룹중에서 선택된 하나의 장치이다.
본 발명의 제4 태양에 의하면,
구문 분석기를 제어하기 위한 컴퓨터 프로그램 생성물로서,
상기 구문 분석기가 제1 컴퓨터 언어로 된 입력 데이터를 수신할 수 있게 하는 구문 분석기 실행가능한 컴퓨터 프로그램 코드;
상기 구문 분석기가 상기 입력 데이터에 따라 복수의 토큰들을 생성할 수 있게 하는 구문 분석기 실행가능한 컴퓨터 프로그램 코드; 및
상기 구문 분석기가 한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성할 수 있게 하는 구문 분석기 실행가능한 컴퓨터 프로그램 코드로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며,
상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 구문 분석기 실행가능한 컴퓨터 프로그램 코드를 포함하는 구문 분석기를 제어하기 위한 컴퓨터 프로그램 생성물에 있어서,
허용가능하지 않은 토큰을 복구하기 위하여,
상기 구문 분석기가 상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별할 수 있게 하는 구문 분석기 실행가능한 컴퓨터 프로그램 코드; 및
상기 구문 분석기가 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용할 수 있게 하는 구문 분석기 실행가능한 컴퓨터 프로그램 코드를 더 포함하는 것을 특징 으로 하는 구문 분석기를 제어하기 위한 컴퓨터 프로그램 생성물이 제공된다.
본 발명의 제5 태양에 의하면,
이동 통신 네트워크 및 구문 분석기를 구비한 게이트웨이를 포함하는 시스템으로서, 상기 구문 분석기는,
제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 프로세서; 및
한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며,
상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 형성기를 포함하는 시스템에 있어서,
상기 구문 분석기는, 허용가능하지 않은 토큰을 복구하기 위하여,
상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별하기 위한 식별 블록을 더 포함하고,
상기 프로세서는 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성되는 것을 특징으로 하는 시스템이 제공된다.
이제 본 발명이 첨부한 도면들을 참조하여 단지 예로서 설명될 것이다.
도 1은 예시적인 구조를 정의하는 한 세트의 HTML 정의들을 도시한 것이다.
도 2는 도 1의 구조의 도면을 도시한 것이다.
도 3은 종래 기술에 따라 순차적으로 구조적 데이터를 구문 분석하는 일반적인 타이밍도를 도시한 것이다.
도 4는 본 발명의 바람직한 실시예에 따라 부분적으로 병렬 순서로 구조적 데이터를 구문 분석하는 일반적인 타이밍도를 도시한 것이다.
도 5는 바람직한 실시예에 따라 토큰의 일반적인 정정의 예를 도시한 것이다.
도 6은 바람직한 실시예에 따라 엉뚱한 토큰에 대해 정확한 콘텍스트를 정의하기 위한 복구 프로세스의 순서도를 도시한 것이다.
도 7은 본 발명의 바람직한 실시예에 의한 시스템을 도시한 것이다.
도 8은 도 7에 도시된 시스템의 구문 분석기의 블록도를 도시한 것이다.
도 1은 예시적인 HTML 문서의 구조를 정의하기 위한 한 세트의 HTML 정의들 또는 (마크업) 토큰들(10)을 도시한 것이다. 각 토큰은 < 및 > 부호들 또는 인용 부호들로 둘러싸여져 있다. < 및 > 부호들로 둘러싸여져 있는 토큰들은 보통 사용자 데이터에 대한 콘텍스트를 형성하기 위하여 데이터의 구조에 관한 정보를 포함하고, 반면에 인용 부호들로 둘러싸여져 있는 토큰들은 콘텍스트에 관한 사용자 데이터를 나타낸다. 도 1의 구조에서, 일련의 토큰들은 제1 리스트 아이템 토큰(LI)(10), 제1 리스트 아이템 토큰의 끝(/L)(11), 제2 리스트 아이템 토큰(LI)(12) 및 제2 리스트 아이템 토큰의 끝(/LI)(14)을 포함한다.
HTML에서, 문서는 트리의 다양한 분기들을 결정하는 정의들에 의해 트리형 구조로 배열된다. 도 2는 토큰들이 도 1에 도시된 문서 구조의 트리형 도면을 도시한 것이다. 예를 들어, 토큰 HTML(2)은 상기 트리형 구조의 최상위 레벨을 나타내고, 토큰들 HEAD(2.1) 및 BODY(2.2)는 두개의 주 분기들을 나타낸다. 상기 토큰 HEAD(2.1)는 다시 두 분기들을 포함하는 상기 문서의 헤더를 정의하는데, 상기 두 분기들은 상기 헤더의 타이틀을 정의하기 위한 TITLE(2.1.1)과 다양한 방법으로 상기 문서를 기술하는 META(2.1.2)이다. TITLE(2.1.1) 아래의 상기 헤더 분기의 바닥에, 상기 헤더로서 사용될, 텍스트 열 "EXAMPLE TEXT"를 포함하는 토큰(2.1.1.1)이 존재한다. 상기 두번째 주 분기는 토큰들H1(2.2.1)과 OL(2.2.2)로 나누어진다. H1은 하나의 하위 토큰 HEADER(2.2.1.1)를 갖는다. OL(2.2.2)은 순서화된 리스트(OL)에 각각 하나의 리스트 아이템(LI)을 나타내는, 두개의 하위 토큰들 2.2.2.1 및 2.2.2.2를 갖는다. 상기 리스트 아이템들(토큰들 2.2.2.1 및 2.2.2.2)은 상기 리스트 아이템들의 내용을 정의하는 각각의 하위 토큰들을 구비한다. 본 예에서, 상기 제1 리스트 아이템(2.2.2.1.1)의 텍스트는 SEC이고 상기 제2 리스트 아이템(2.2.2.2.1)의 텍스트는 FIRST이다.
HTML 및 XML과 같은 구조적 언어들이 트리형 구조를 야기한다는 것을 이해하는 것은 본 발명을 이해하는데 도움이 되는데, 상기 트리형 구조에서 가장 중요한 정의들은 상기 트리의 분기들의 끝에 있는 가장 중요하지 않은 정의들에 대립하는 것으로서 제1 계층 레벨상에 있다. 예를 들어, 상기 토큰(2.2.2.2.1)은 단지 하나 의 리스트 아이템에 영향을 미치지만, 상기 토큰(2.2)은 순서화된 리스트(OL)를 포함하는 전체 몸체(body)의 시작을 정의한다.
HTML 문서들의 구조적 계층은 도 3에 도시된 바와 같이, 그들을 다른 언어들로 번역하는데 필요한 단계들을 배열함으로써 이용되었다. HTML 문서가 다른 언어 또는 HTML의 방언으로 번역되어야 하는 경우, 상기 토큰들은 우선 토큰화 단계(TOK)에서 생성된다. 토큰화 이후에, 상기 토큰들이 구조를 생성하기 위하여 구문 분석되는, 구문 분석 단계(PAR)가 존재한다. 번역 단계(TRA)가 다음에 오는데, 상기 번역 단계에서 상기 구조는 목적지 언어 또는 방언으로 기술될 수 있다. 상기 번역 단계(TRA)가 완료된 후, 그 결과는 전송 단계(COM)에서 통신 채널을 통해 전송될 수 있다. 이 접근법은 관리하기가 용이하고 그들의 순서에 상관없이 상기 토큰들이 구문 분석되도록 허용함으로써 증강된 강건함에 대한 기회를 제공한다. 하지만, 상기 프로세스의 하나의 단점은 그것이 걸리는 시간의 양이 그것의 모든 단계들의 합과 같은 양일 수 있다는 것이다. 이 문제를 극복하기 위하여, 도 4에 도시된 바와 같이, 상기 구문 분석을 가속화하기 위하여 상기 소스의 구조와 목적지 언어들을 이용하는 대안적인 번역 프로세스가 존재한다.
도 4는 본 발명의 바람직한 실시예에 따라, 병렬 방식으로 구조적 데이터를 구문 분석하는 것에 관한 타이밍도를 도시한 것이다. 상기 프로세스는, 토큰화가 시작된 후 즉시, 상기 토큰화가 진행되고 있는 동안 후속 단계들이 시작된다는 점에서, 도 3에 도시된 프로세스와 상이하다. 토큰화동안, 상기 단계들은 구문 분석 단계(PAR), 번역 단계(TRA) 및 전송 단계(COM)의 순서로 시작된다. 따라서, 이들 단계들 모두는 병렬로 발생된다. 이 예에서, 상기 전송은 상기 토큰화의 종료 이전에 시작된다. 상기 트리형 구조의 각 분기가 개별 유닛들로서 처리될 수 있기 때문에 이들 프로세스들은 부분적으로 병렬로 수행될 수 있다.
이제 에러 복구 프로세스가 설명될 것이다. 도 1을 다시 참조하면, 리스트 토큰(11)의 제1 끝의 결여는 상기 토큰들의 구문 분석에 에러를 야기할 것이다. 엄격히 말하면, 상기 제2 리스트 토큰(12)은 상기 제1 리스트 아이템(10)에 대한 하위가 아닐 수 있다. 특히 본 예에서, 신규 리스트 아이템의 출현은 구문 분석으로 하여금 이전의 리스트 아이템 분기를 종결하도록 자동으로 야기해야 한다는 것은 이해될 수 있다. 이전의 리스트 분기의 종결 이후에, 새로운 분기가 새로운 리스트 아이템을 위해 생성되어야 한다. 이러한 유도는 적어도 몇몇 에러들의 복구를 가능하게 한다. 두 유형의 정정 방법들이 다음에 다루어진다. 제1 유형의 방법에서, 정정은 해석되는 언어의 일반적 특징에 기반한다. 제2 유형의 방법에서, 정정은 특정 규칙(즉 토큰의 유형에 대한)에 기반한다. 본 발명의 바람직한 실시예는 양 유형의 방법들에 대한 능력을 포함한다. 이제 그들은 대응하는 도 5 및 도 6을 참조하여 설명될 것이다.
도 5는 본 발명의 실시예에 의한 토큰의 일반적 정정의 예를 도시한 것이다. 이 경우, 일련의 토큰들 HTML(50), BODY(52), 객체 리스트 토큰(OL)(54), 리스트 아이템 토큰(LI)(56), 객체 리스트 토큰(OL)(58) 및 이미지(IMG)(59)가 순서대로 수신되지만, 최종 토큰 IMG(59)은 이전 토큰 OL(58)과 매칭되지 않는다. 최종 토큰 IMG(59)와 매칭시키기 위한 각 토큰의 적용성은 매칭되지 않는 최종 토큰(59)에 대 한 있음직한 정확한 위치를 찾기 위해 테스트된다. 이 예에서, 상기 최종 토큰 IMG(59)는 문법 규칙들에 따라, LI(56)에 대해 하위가 될 수 없는 이미지 토큰이다. 그것은 또한 LI(56)의 상위에 있는 OL(54) 다음에 올 수 없다. 그대신, 그것은 OL(54)의 상위에 있는 토큰 BODY(52)에 대한 하위가 될 수 있다. 그러므로, 이 위치는 구문 분석된 구조를 따라 역으로 진행함으로써 효율적인 처리 방법에서 발견된다. 가장 빈번히, 허용가능하지 않은 토큰의 정확한 위치는 그것이 배치되는 종단에 근접해 있다. 역 절차를 사용함으로써(분기를 따라 역방향으로 진행함으로써) 적은 양의 처리로 가장 있음직한 정확한 위치를 발견하는 것이 가능하다. 또한 이러한 절차는 결과의 가장 작은 가능한 (잘못된) 변경을 야기하는데 이것은 상기 변경들이 주로 상기 콘텍스트의 (상기 트리형 구조의 루트로부터 가장 먼) 가장 중요하지 않은 부분들에서 수행되기 때문이다.
도 6은 본 발명의 바람직한 실시예에 따라, 잘못된 토큰에 대해 정확한 콘텍스트를 정의하기 위한 규칙-특정적인 복구 프로세스를 도시한 것이다. 이 경우, 일련의 토큰들 HTML(62), BODY(63) 및 LI(64)가 수신된다. 상기 LI(64)는 BODY 토큰에 대해 하위가 될 수 없다. 그러므로, 규칙 특정적인 정정 방법이 적당한 이전의 토큰, 이 경우 사용자 리스트 토큰 UL(66)을 부가하는데 사용된다. 전형적으로, 이러한 부가된 토큰이 그것의 하위, 이 경우 상기 BODY(33)를 고려하는데 적합한지에 대한 부가적인 테스트가 존재한다. 이 테스트가 성공하는 경우, 상기 부가된 토큰은 유효한 것으로 간주된다. 상기 LI(64)는 참으로 UL(64)에 대해 유효한 하위이고 상기 테스트는 성공한다. 결과로서, 토큰들의 새로운 시퀀스는 HTML(62), BODY(63), UL(66) 및 LI(64)가 된다. 이 경우, 상기 LI(64)는 단지 한 유형의 토큰, UL에 대해 하위가 될 수 있다. 따라서, 상기 UL(66)은 자동으로 부가된다.
본 발명의 실시예에서, 적합한 토큰이 유일한 대안이 아닌지가 검출된다. 다른 대안이 존재하는 경우, 사용되어야 하는 가장 있음직한 대안을 결정하는데 발견적 분석이 사용된다. 예를 들어, 상기 구문 분석기는 후속 토큰들의 각 가능한 상이한 시리즈에 대한 확률표를 유지할 수 있다. 그다음 상기 구문 분석기는 미리-존재하는 인접 토큰과 직렬로 최대 확률을 가진 토큰이 부가되도록 선택한다. 또 다른 그리고 더 간단한 실시예에서, 발견적 분석 대신에 상기 구문 분석기는 허용가능한 토큰들의 그룹(대안들)내에서 실질적으로 무작위적으로 부가적인 토큰을 선택한다.
부가된 토큰이 적합하지 않은 경우, 부가된 토큰은 단순히 버려질 수 있다. 더 지능적인 접근법은 유효한 분기로 끝나도록 하기 위하여 상기 BODY(63)와 상기 부가된 토큰간에 다른 토큰을 부가하는 것을 시도하는 것이다. 이것은 하나보다 많은 토큰이 분실된 경우조차 복구를 허용하지만, 분실된 토큰들은 상기 콘텍스트로부터 합리적으로 추론될 수 있다.
도 7은 본 발명의 바람직한 실시예에 의한 시스템을 도시한 것이다. 상기 시스템은 두개의 데이터 통신 네트워크들을 포함한다: GSM 전화 네트워크(72) 및 인터넷 또는 인트라넷과 같은, 인터넷 프로토콜(IP: Internet Protocol) 네트워크(71). 상기 두개의 데이터 통신 네트워크들은 게이트웨이(70)에 의해 연결된다. 상기 게이트웨이(70)는 HTML과 WML간에 데이터(콘텐트)를 번역하기 위한 제1 구문 분석기(73)(HTML용) 및 제2 구문 분석기(74)(WML용)를 포함한다. 단말기(75)는 상기 GSM 전화 네트워크(72)에 연결되어 있다. 상기 단말기는 GSM 모듈을 구비한 랩톱 개인용 컴퓨터(PC)와 같은 이중-모드 단말기이다. 바람직한 실시예에서, 또한 동일한 단말기는 상기 IP 네트워크(71)에 접속하기 위한 기능을 갖는다. 상기 단말기는 WML 문서들을 처리하기 위한 구문 분석기(76)를 포함한다.
도 8은 도 7의 제1 구문 분석기(73)의 블록도를 도시한 것이다. 상기 제1 구문 분석기는 프로세서(μP), 상기 프로세서(μP)로 데이터를 수신하기 위한 입력(IN), 상기 프로세서(μP)로부터 따라서 상기 구문 분석기(73)로부터 상기 구문 분석기(73)의 외부로 데이터를 출력하기 위한 출력(OUT), 구문 분석기 소프트웨어(P1), 메모리(MEM) 및 두개의 상이한 세트의 구문 분석 규칙들(R1 및 R2)를 포함하는 구문 분석 규칙들의 데이터베이스(DB)를 구비한다.
동작시, 상기 프로세서(μP)는 입력 언어, 이 경우 HTML로 된 한 세트의 토큰들을 수신한다. 상기 프로세서(μP)는 상기 언어 및/또는 상기 입력 언어의 다른 방언을 결정하고 상기 데이터베이스(DB)에서 대응하는 구문 분석 규칙 세트를 검색한다. 상기 구문 분석기 소프트웨어(P1)와 상기 메모리(MEM)를 사용하여, 상기 프로세서(μP)는 수신된 토큰 세트에 따라 구조를 생성한다. 그다음, 상기 프로세서(μP)는 제2 구문 분석기(74)가 그것의 구문 분석 규칙들에 따라, 출력 언어로 새로운 세트의 토큰들을 생성할 수 있도록 상기 제2 구문 분석기(74)로 상기 구조를 송신한다.
상기 제2 구문 분석기의 구조는 상기 제1 구문 분석기의 구조에 대응할 수 있다. 바람직한 실시예에서, 상기 제2 구문 분석기(74)는 또한 그것이 정확한 언어 또는 방언을 생성하는데 적합화되도록 두 세트 이상의 구문 분석 및 번역 규칙을 포함하는 데이터베이스를 구비한다.
두개의 구문 분석기들(73 및 74)을 사용하여, 상기 게이트웨이(70)는 데이터를 한 마크업 언어에서 다른 마크업 언어로 번역할 수 있다. 상기 게이트웨이(70)는 그것이 처리하는 상이한 언어들에 동적으로 적합화될 수 있다. 상기 제2 구문 분석기를 상이한 언어들에 적합화시키는 가능성은 또한 다양한 상이한 유형의 네트워크들을 서빙하는데 하나의 게이트웨이를 사용하는 것을 허용한다.
바람직한 실시예에 의하면, 상기 데이터베이스(DB)는 요구가 있는 경우 동적으로 갱신된다. 예를 들어, 상기 프로세서는 그것이 어떤 규칙 세트도 가지고 있지 않은 입력 언어 또는 방언을 인지할 수 있다. 이 경우, 상기 게이트웨이는 (중심적으로 관리될 수 있는) 다른 규칙 세트 데이터베이스로 접속할 수 있고 그 자신의 데이터베이스에 적합한 규칙 세트를 검색할 수 있다. 이러한 방법으로, 상기 구문 분석기는 어떤 수동 재구성없이 자동으로 자신을 최신으로 유지할 수 있다.
본 발명의 특정 구현 및 실시예들이 설명되었다. 본 발명이 상기에 제공된 실시예들의 상세에 제한되지 않고, 본 발명의 특징을 벗어남없이 균등한 수단을 사용하여 다른 실시예들로 구현될 수 있다는 것은 당업자에게 명백하다. 본 발명의 범위는 첨부된 특허 청구항들에 의해서만 한정된다.

Claims (18)

  1. 구조적 데이터를 구문 분석(parsing)하기 위한 방법으로서,
    제1 컴퓨터 언어로 된 입력 데이터를 수신하는 단계;
    상기 입력 데이터에 따라 복수의 토큰들을 생성하는 단계; 및
    한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하는 단계를 포함하되, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나 이상의 체인들의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
    상기 콘텍스트 형성 단계는,
    상기 문법 구문에 따라 하나의 토큰이 상기 콘텍스트에서 허용되는지를 검출하는 부단계; 및
    상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하는 부단계를 포함하는, 구조적 데이터의 구문 분석 방법에 있어서,
    허용가능하지 않은 토큰을 복구하기 위하여,
    상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색함으로써 상기 허용가능하지 않은 토큰에 대해 적합한 콘텍스트를 식별하는 단계로서, 상기 적합한 콘텍스트에서는 상기 토큰이 허용가능한 단계; 및
    상기 식별된 적합한 콘텍스트에 상기 토큰을 적용하는 단계를 더 포함하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  2. 제1항에 있어서, 상기 콘텍스트 형성 단계는 토크들을 생성하는 단계 및 상기 토큰들을 구문 분석하여 병렬로 구조를 생성하는 단계를 포함하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  3. 제2항에 있어서, 상기 토큰을 적용하는 단계는 상기 콘텍스트를 상기 최소로 상이한 허용가능한 콘텍스트와 같아지도록 변경하는 단계를 포함하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  4. 제2항에 있어서, 상기 최소로 상이한 허용가능한 콘텍스트를 검색하는 단계는 상기 허용가능하지 않은 토큰이 허용가능해지도록 상기 콘텍스트를 보완하기 위하여 상기 허용가능하지 않은 토큰에 특정한 규칙에 따라 신규 콘텍스트 단계를 생성하려고 하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 구문에 따라, 상기 이전의 콘텍스트 단계 및 상기 허용가능하지 않은 콘텍스트 단계 양자에 허용가능한 콘텍스트 단계를 부가함으로써 우선 상기 콘텍스트를 보완하려고 하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  6. 제5항에 있어서, 상기 보완이 실패하는 경우, 상기 적합한 콘텍스트에 대한 역방향 진행 검색이 수행되는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 컴퓨터 언어의 일반적 구문에 특정한 규칙과 토큰의 유형 중 적어도 하나는 토큰이 콘텍스트에서 허용가능한지를 결정하는데 사용되는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  8. 제1항 내지 제4항 중 어느 한 항에 있어서, 상이한 언어 또는 상기 언어의 상이한 방언에 적합시키기 위하여 다른 문법 구문을 사용하도록 동적으로 전환하는 추가 단계를 포함하는 것을 특징으로 하는 구조적 데이터 구문 분석 방법.
  9. 제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
    상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 토큰화기; 및
    한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
    상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며,
    상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 형성기를 포함하는 구문 분석기에 있어서,
    허용가능하지 않은 토큰을 복구하기 위하여,
    상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색함으로써 상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별하기 위한 식별 블록; 및
    상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성된 토큰화기를 더 포함하는 것을 특징으로 하는 구문 분석기.
  10. 구문 분석기를 제어하는 방법을 수행하기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 독출가능한 기록매체로서,
    상기 구문 분석기 제어 방법은,
    상기 구문 분석기가 제1 컴퓨터 언어로 된 입력 데이터를 수신할 수 있게 하는 단계;
    상기 구문 분석기가 상기 입력 데이터에 따라 복수의 토큰들을 생성할 수 있게 하는 단계;
    상기 구문 분석기가 한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성할 수 있게 하는 단계로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하는, 콘텍스트 형성 단계;
    상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하는 단계; 및
    상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하는 단계;를 포함하고,
    허용가능하지 않은 토큰을 복구하기 위하여, 상기 방법은,
    상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색함으로써 상기 구문 분석기가 상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별할 수 있게 하는 단계; 및
    상기 구문 분석기가 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용할 수 있게 하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 독출가능한 기록매체.
  11. 제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
    상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 프로세서; 및
    한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고, 상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며, 상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 생성기를 포함하는 구문 분석기를 구비한 처리 장치에 있어서,
    상기 구문 분석기는 허용가능하지 않은 토큰을 복구하기 위하여,
    상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색함으로써 상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별하기 위한 식별 블록을 더 포함하고,
    상기 프로세서는 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성되는 것을 특징으로 하는 구문 분석기를 구비한 처리 장치.
  12. 삭제
  13. 이동 통신 네트워크 및 구문 분석기를 구비한 게이트웨이를 포함하는 시스템으로서, 상기 구문 분석기는
    제1 컴퓨터 언어로 된 입력 데이터를 수신하기 위한 입력;
    상기 입력 데이터에 따라 복수의 토큰들을 생성하기 위한 프로세서; 및
    한 세트의 규칙들을 포함하는 문법 구문을 사용하여 콘텍스트를 형성하기 위한 콘텍스트 형성기로서, 상기 콘텍스트는 콘텍스트 단계들의 적어도 하나의 체인의 형태로 된 복수의 콘텍스트 단계들을 포함하고,
    상기 문법 구문에 따라 토큰이 상기 콘텍스트에서 허용가능한지를 검출하도록 구성되며,
    상기 토큰이 허용가능한 경우, 상기 토큰에 대응하는 신규 콘텍스트 단계를 생성하도록 구성되는 콘텍스트 형성기를 포함하는 시스템에 있어서,
    상기 구문 분석기는, 허용가능하지 않은 토큰을 복구하기 위하여,
    상기 문법 구문을 사용하여 상기 토큰에 대해 최소로 상이한 허용가능한 콘텍스트를 검색함으로써 상기 허용가능하지 않은 토큰에 대해 상기 토큰이 허용가능한 적합한 콘텍스트를 식별하기 위한 식별 블록을 포함하고,
    상기 프로세서는 상기 토큰을 상기 식별된 적합한 콘텍스트에 적용하도록 구성되는 것을 특징으로 하는 시스템.
  14. 제9 항에 있어서,
    상기 콘텍스트 형성기는 토크들을 생성하고 상기 토큰들을 구문 분석하여 병렬로 구조를 생성하는 것을 특징으로 하는 구문 분석기.
  15. 제10 항에 있어서,
    상기 콘텍스트 형성기는 토크들을 생성하고 상기 토큰들을 구문 분석하여 병렬로 구조를 생성하는 것을 특징으로 하는 컴퓨터로 독출가능한 기록매체.
  16. 제11 항에 있어서,
    상기 콘텍스트 형성기는 토크들을 생성하고 상기 토큰들을 구문 분석하여 병렬로 구조를 생성하는 것을 특징으로 하는 처리 장치.
  17. 제11 항 또는 제16 항에 있어서, 번역기, 게이트웨이, 이동국 및 웹 서버로 이루어진 그룹중에서 선택된 하나의 장치를 포함하는 것을 특징으로 하는 구문 분석기를 구비한 처리 장치.
  18. 제13 항에 있어서,
    상기 콘텍스트 형성기는 토크들을 생성하고 상기 토큰들을 구문 분석하여 병렬로 구조를 생성하는 것을 특징으로 하는 시스템.
KR1020037012218A 2001-03-23 2002-01-30 구조적 데이터 구문 분석 KR100750962B1 (ko)

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
KR20040004559A KR20040004559A (ko) 2004-01-13
KR100750962B1 true KR100750962B1 (ko) 2007-08-22

Family

ID=8560831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037012218A KR100750962B1 (ko) 2001-03-23 2002-01-30 구조적 데이터 구문 분석

Country Status (6)

Country Link
US (1) US7263691B2 (ko)
EP (1) EP1374088A1 (ko)
KR (1) KR100750962B1 (ko)
CN (1) CN1526104B (ko)
FI (1) FI115416B (ko)
WO (1) WO2002077856A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
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
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
US20080148213A1 (en) * 2006-11-15 2008-06-19 Moussadek Belaidi Routing method 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
US20110282861A1 (en) * 2010-05-11 2011-11-17 Microsoft Corporation Extracting higher-order knowledge from structured data
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
US9519631B2 (en) 2012-03-30 2016-12-13 Microsoft Technology Licensing, Llc Semantic diff and automerge
CN103942137B (zh) * 2013-01-23 2017-08-25 腾讯科技(深圳)有限公司 浏览器兼容性测试方法及装置
US10254934B2 (en) 2015-08-01 2019-04-09 Splunk Inc. Network security investigation workflow logging
US9516052B1 (en) 2015-08-01 2016-12-06 Splunk Inc. Timeline displays of network security investigation events
US9363149B1 (en) 2015-08-01 2016-06-07 Splunk Inc. Management console for network security investigations
WO2017030538A1 (en) 2015-08-14 2017-02-23 Hewlett Packard Enterprise Development Lp Dynamic lexer object construction
CN106776597B (zh) * 2015-11-19 2020-07-03 阿里巴巴集团控股有限公司 结构化数据的下载方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0620527A2 (en) * 1993-04-12 1994-10-19 Xerox Corporation A method and apparatus for validating labelled, ordered parse trees according to a context-free grammar specification
US5687378A (en) * 1995-06-07 1997-11-11 Motorola, Inc. Method and apparatus for dynamically reconfiguring a parser
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
US20010054048A1 (en) * 1999-12-22 2001-12-20 Kelsey Julian Benjamin Structures to represent poorly formed HTML documents

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0620527A2 (en) * 1993-04-12 1994-10-19 Xerox Corporation A method and apparatus for validating labelled, ordered parse trees according to a context-free grammar specification
US5687378A (en) * 1995-06-07 1997-11-11 Motorola, Inc. Method and apparatus for dynamically reconfiguring a parser
US20010054048A1 (en) * 1999-12-22 2001-12-20 Kelsey Julian Benjamin Structures to represent poorly formed HTML documents
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

Also Published As

Publication number Publication date
FI20010609A (fi) 2002-09-24
CN1526104B (zh) 2010-04-28
WO2002077856A1 (en) 2002-10-03
CN1526104A (zh) 2004-09-01
KR20040004559A (ko) 2004-01-13
US7263691B2 (en) 2007-08-28
FI115416B (fi) 2005-04-29
EP1374088A1 (en) 2004-01-02
US20040098668A1 (en) 2004-05-20
FI20010609A0 (fi) 2001-03-23

Similar Documents

Publication Publication Date Title
KR100750962B1 (ko) 구조적 데이터 구문 분석
US6886115B2 (en) Structure recovery system, parsing system, conversion system, computer system, parsing method, storage medium, and program transmission apparatus
JP3879350B2 (ja) 構造化文書処理システム及び構造化文書処理方法
US7117436B1 (en) Generating a Web page by replacing identifiers in a preconstructed Web page
US20020046235A1 (en) Document creation and delivery
US20020174147A1 (en) System and method for transcoding information for an audio or limited display user interface
US20070169008A1 (en) External programmatic interface for IOS CLI compliant routers
US20020162093A1 (en) Internationalization compiler and process for localizing server applications
Llitjós et al. A framework for interactive and automatic refinement of transfer-based machine translation
US20020116419A1 (en) Method for converting two-dimensional data into a canonical representation
WO2001057661A2 (en) Method and system for reusing internet-based applications
US20020035580A1 (en) Computer readable medium containing HTML document generation program
CN110333863A (zh) 一种生成、显示小程序页面的方法及装置
JP2017199363A (ja) 機械翻訳装置及び機械翻訳のためのコンピュータプログラム
CN107102877A (zh) 一种跨浏览器插件的自适应方法
CN111831384A (zh) 语言切换方法和装置、设备及存储介质
EP2711838A1 (en) Documentation parser
CN113949749B (zh) Xml报文处理方法及装置
WO2001048630A9 (en) Client-server data communication system and method for data transfer between a server and different clients
CN114528218A (zh) 测试程序的生成方法、装置、存储介质以及电子设备
JP2003345798A (ja) 翻訳制御方法,翻訳制御装置およびその処理プログラム
JP2006309792A (ja) 構造化文書処理システム及び構造化文書処理方法
CN117910433A (zh) 文档编辑方法、装置、设备和存储介质
GB2368949A (en) Document creation
CN114547236A (zh) 数据搜索方法、装置、电子设备、介质及程序产品

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100811

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee