KR20090037641A - 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법 - Google Patents

응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법 Download PDF

Info

Publication number
KR20090037641A
KR20090037641A KR1020070103077A KR20070103077A KR20090037641A KR 20090037641 A KR20090037641 A KR 20090037641A KR 1020070103077 A KR1020070103077 A KR 1020070103077A KR 20070103077 A KR20070103077 A KR 20070103077A KR 20090037641 A KR20090037641 A KR 20090037641A
Authority
KR
South Korea
Prior art keywords
token
graphic
language syntax
code
converting
Prior art date
Application number
KR1020070103077A
Other languages
English (en)
Other versions
KR100949824B1 (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 한국전자통신연구원
Priority to KR1020070103077A priority Critical patent/KR100949824B1/ko
Publication of KR20090037641A publication Critical patent/KR20090037641A/ko
Application granted granted Critical
Publication of KR100949824B1 publication Critical patent/KR100949824B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치 및 방법이 개시된다. 입력되는 그래픽 소스 코드의 객체는 그것에 대응하는 토큰으로 변환되고, 이렇게 변환된 토큰은 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 토큰으로 변환되며, 이렇게 변환된 토큰은 다시 그것에 대응하는 가변형 벡터 그래픽 코드의 객체로 변환된다. 최종적으로 변환된 가변형 벡터 그래픽 코드의 객체는 가변형 벡터 그래픽 코드로서 출력된다. 본 발명에 따르면, 응용프로그램의 그래픽 소스를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 특정 응용프로그램을 위한 가변형 벡터 그래픽 코드의 개발 비용 및 시간을 줄일 수 있다. 또한, 본 발명에 따르면, 다양한 응용프로그램의 그래픽 소스 코드 자체를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 가변형 벡터 그래픽 코드에 대한 기술적인 활용도를 높일 수 있다.

Description

응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치 및 방법{APPARATUS AND METHOD FOR CONVERTING GRAPHIC SOURCE CODES OF AN APPLICATION PROGRAM INTO SCALABLE VECTOR GRAPHIC CODES}
본 발명은, 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽(Scalable Vector Graphic: SVG) 코드로 변환하는 장치 및 방법에 관한 것이다.
본 발명은 정보통신부의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-038-02, 과제명: 모바일 컨버전스 컴퓨팅을 위한 단말적응형 임베디드 운영체제 기술개발].
최근 휴대 단말기 사용의 증가로 인하여 웹을 통해 정보를 보여주는 응용프로그램이 많이 사용되고 있으며, 이러한 응용프로그램에 공통적으로 필요한 사항은 사용자에게 필요한 정보를 그래픽으로 표현하는 것이다. 웹 기반의 그래픽은 다양한 휴대 단말기의 화면 크기를 지원할 수 있어야 하기 때문에, 이미지를 쉽게 바꿀 수 있어야 하는데, 이것을 만족시켜주는 그래픽 표준이 가변형 벡터 그래픽(Scalable Vector Graphic)이다.
가변형 벡터 그래픽(Scalable Vector Graphic: SVG)은, 월드 와이드 웹 콘소시엄(World Wide Web Consortium: W3C)에 의한 공개 표준으로서, 벡터 그래픽을 표현하는 XML 기반의 파일 포맷이다. 벡터 그래픽은, JPEG이나 GIF와 같은 비트맵 그래픽이 픽셀 단위로 컴퓨터 그래픽 이미지를 정의하는 것과는 달리, 점, 선과 같은 기본 요소에 대한 일련의 수식에 의해 컴퓨터 그래픽 이미지를 정의하는 것이 특징이다.
이러한 특징은 몇 가지 장점을 갖는다. 우선, 가변형 벡터 그래픽 이미지를 정의하는 데 필요한 용량이 비트맵 그래픽 이미지를 정의하는 데 필요한 용량보다 훨씬 작다. 이것은, 웹을 통한 그래픽 이미지의 전송에 있어서 가변형 벡터 그래픽 이미지가 훨씬 유리하다는 것을 의미한다. 또한, 가변형 벡터 그래픽은 이미지의 조각들을 각각 별개의 객체로 취급하여 독립적으로 처리하기 때문에, 컴포넌트를 조합하여 복잡한 다이어그램을 구축할 수 있고, 애니메이션과 같은 동적인 효과를 만들어 내는 것이 비트맵 그래픽보다 상대적으로 쉽다. 또한, 벡터 그래픽 이미지는 원형을 손상하지 않은 채 크기를 바꿀 수 있기 때문에, 다양한 크기의 화면을 가진 휴대 단말기에 유용하게 사용된다.
가변형 벡터 그래픽이 갖는 또 하나의 장점은, 소스 코드가 XML을 사용한다는 것이다. 따라서 플랫폼과 언어에 독립적인 DOM(Document Object Model)과 같은 프로그래밍 모델의 이용, 상호 운영성, 국제화 등의 XML의 장점이 가변형 그래픽 코드에 그래도 적용된다. 또한, 가변형 벡터 그래픽을 이용하면, 단순한 그래픽 뿐만 아니라, 고유의 강력한 스크립트 기능을 이용하여 프로그램도 작성할 수 있다.
이러한 가변형 벡터 그래픽의 장점으로 인해서 기존의 게임, 프레젠테이션, 교육 프로그램과 같이 그래픽 모듈이 중요한 위치를 차지하는 응용프로그램을 개발하는 회사들은, 기존의 개인용 컴퓨터 기반의 응용프로그램에서 웹 기반의 응용프로그램으로 전환하기 위해 가변형 벡터 그래픽 기술을 필요로 하게 되었다.
예를 들어, 미국특허 제6,992,782호 "가변형 벡터 그래픽 프린터 드라이버(Scalable Vector Graphics Print Driver)"는, 응용프로그램에서 프린팅할 때의 이미지 정보를 가변형 벡터 그래픽 파일로 변환하기 위한 구조와 방법을 제안하고 있다.
종래에는, 개인용 컴퓨터 기반의 응용프로그램이 OpenGL, DirectX 기반의 컴파일러형 그래픽 소스 코드로 주로 개발되어 있기 때문에, 이것을 가변형 벡터 그래픽 코드로 전환하기 위해서는, 개발자들이 가변형 벡터 그래픽 기술을 직접 배워서 수동으로 가변형 벡터 그래픽 코드로의 전환을 수행하거나, 회사에서 가변형 벡터 그래픽 코드 개발자를 따로 고용해야 하기 때문에, 개발 비용이 상승할 수 밖에 없다는 문제점이 있었다.
또한, OpenGL, DirectX 기반의 그래픽 응용프로그램 소스 코드로부터 가변형 벡터 그래픽으로의 포팅(porting) 작업으로 인하여, 시장 진출의 적기를 놓칠 수 있는 문제점이 있었다.
한편, 상기 선행 미국특허는, 프린팅 시의 이미지 정보를 가변형 벡터 그래픽 파일로 변환하기 위한 기술을 제안하고 있기 때문에, 다양한 응용프로그램의 그래픽 소소 코드 자체를 가변형 벡터 그래픽 코드로 자동으로 전환하는 데에는 한계가 있다.
본 발명의 목적은, 응용프로그램의 그래픽 소스를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 특정 응용프로그램을 위한 가변형 벡터 그래픽 코드의 개발 비용 및 시간을 줄이는 것이다.
본 발명의 다른 목적은, 다양한 응용프로그램의 그래픽 소스 코드 자체를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 가변형 벡터 그래픽 코드에 대한 기술적인 활용도를 높이는 것이다.
상기와 같은 목적을 달성하기 위해, 본 발명은, 청구항 1 내지 10 기재의 가변형 벡터 그래픽 코드 변환 장치 및 방법, 그리고 그 방법을 컴퓨터에 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체를 제공한다.
본 발명에 따르면, 응용프로그램의 그래픽 소스를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 특정 응용프로그램을 위한 가변형 벡터 그래픽 코드의 개발 비용 및 시간을 줄일 수 있다. 또한, 본 발명에 따르면, 다양한 응용프로그램 의 그래픽 소스 코드 자체를 가변형 벡터 그래픽 코드로 자동으로 변환함으로써, 가변형 벡터 그래픽 코드에 대한 기술적인 활용도를 높일 수 있다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.
본 명세서에서 설명하는 장치 및 기능부는, 컴퓨터 시스템의 프로세서, 메모리, 및 I/O 장치들과 같은 일반적인 하드웨어 구성 및 이들과 협동하는 응용프로그램 소프트웨어에 의해 구현될 수 있다.
또한, 본 명세서에서, '구문 객체'는 C, C++, 자바(Java)와 같은 프로그래밍 언어에서 사용하는 구문 코드를 의미하고, '그래픽 객체'는 OpenGL, DirectX와 같은 그래픽 API(Application Programming Interface)의 코드를 의미한다. '토큰'이란, 어휘소(lexemes)라는 불가분의 캐릭터들로 통상 구성되는 범주화된 텍스트 블록을 말한다. 예를 들어, C 프로그래밍 언어에서 "sum=3+2;"라는 구문 코드의 어휘소는, "sum", "=", "3", "+", "2", ";"이다. 또한, 컴퓨터 프로그램의 소스 코드에서 "net_worth_future = (assets - liabilities);"라는 문자열은, 다음과 같은 토큰 스트림으로 변환될 수 있다.
NAME "net_worth_future"
EQUALS
OPEN_PARENTHESIS
NAME "assets"
MINUS
NAME "liabilities"
CLOSE_PARENTHESIS
SEMICOLON
도 1에는 본 발명의 실시예에 따른 가변형 벡터 그래픽 코드 변환 장치(10)의 구성도가 도시되어 있다. 장치(10)는, 구문 객체-토큰 테이블(140)과 그래픽 객체-토큰 테이블(150)을 참조하여 도 5a, 5b에 도시된 바와 같은 그래픽 토큰 트리(500a, 500b)를 생성하는 그래픽 토큰 트리 생성부(110)와, 토큰 연결 테이블(160)을 참조하여 그래픽 토큰 트리(500b)를 SVG 토큰 트리로 변환하는 SVG 토큰 트리 변환부(120)와, 구문 객체-토큰 테이블(140)과 그래픽 객체-토큰 테이블(150)을 참조하여 SVG 토큰을 SVG 객체로 변환하는 SVG 토큰-객체 변환부(130)를 포함한다. SVG 객체는 SVG 소스 코드로서 출력된다.
또한, 그래픽 토큰 트리 생성부(110)와 구문 객체-토큰 테이블(140)과 그래픽 객체-토큰 테이블(150)은, 입력되는 그래픽 소스 코드의 객체를 그것에 대응하는 토큰으로 변환하는 본 발명의 객체-토큰 변환부를 구성할 수 있다. SVG 토큰 트리 변환부(120)와 토큰 연결 테이블(160)은, 상기 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 토큰(SVG 토큰)으로 변환하는 본 발명의 토큰-토큰 변환부를 구성할 수 있다. SVG 토큰-객체 변환부(130)와 구문 객체-토큰 테이블(140) 과 그래픽 객체-토큰 테이블(150)은, 토큰-토큰 변환부(180)에 의해 변환된 SVG 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 객체(SVG 객체)로 변환하는 본 발명의 토큰-객체 변환부를 구성할 수 있다.
도 2에 따르면, 구문 객체-토큰 테이블(140)은, C언어 구문 객체-토큰 테이블(210)과, C++언어 구문 객체-토큰 테이블(220)과, Java언어 구문 객체-토큰 테이블(230)과, SVG 언어 구문 객체-토큰 테이블(240)을 포함한다. C언어 구문 객체-토큰 테이블(210)은, C언어 구문 객체와 그것에 대응하는 C언어 구문 토큰으로 구성되는 C언어 구문 객체-토큰 엔트리(250)를 포함한다. C++언어 구문 객체-토큰 테이블(220)은, C++언어 구문 객체와 그것에 대응하는 C++언어 구문 토큰으로 구성되는 C++언어 구문 객체-토큰 엔트리(260)를 포함한다. Java언어 구문 객체-토큰 테이블(230)은, Java언어 구문 객체와 그것에 대응하는 Java언어 구문 토큰으로 구성되는 Java언어 구문 객체-토큰 엔트리(270)를 포함한다. SVG언어 구문 객체-토큰 테이블(240)은, SVG언어 구문 객체와 그것에 대응하는 SVG언어 구문 토큰으로 구성되는 SVG언어 구문 객체-토큰 엔트리(280)를 포함한다.
도 3에 따르면, 그래픽 객체-토큰 테이블(150)은, DirectX 그래픽 객체-토큰 테이블(310)과, OpenGL 그래픽 객체-토큰 테이블(320)과, SVG 그래픽 객체-토큰 테이블(330)을 포함한다. DirectX 그래픽 객체-토큰 테이블(310)은, DirectX 그래픽 객체와 그것에 대응하는 DirectX 그래픽 토큰으로 구성되는 Direct 그래픽 객체-토큰 엔트리(340)를 포함한다. OpenGL 그래픽 객체-토큰 테이블(320)은, OpenGL 그래픽 객체와 그것에 대응하는 OpenGL 그래픽 토큰으로 구성되는 OpenGL 그래픽 객체- 토큰 엔트리(350)를 포함한다. SVG 그래픽 객체-토큰 테이블(330)은, SVG 그래픽 객체와 그것에 대응하는 SVG 그래픽 토큰으로 구성되는 SVG 그래픽 객체-토큰 엔트리(350)를 포함한다.
도 4에 따르면, 토큰 연결 테이블(160)은, 구문 토큰 연결 테이블(410)과 그래픽 토큰 연결 테이블(420)을 포함한다. 구문 토큰 연결 테이블(410)은, SVG언어 구문 토큰 및 그것에 대응하는 C언어 구문 토큰과, C++언어 구문 토큰과, Java언어 구문 토큰으로 구성되는 구문 토큰 연결 엔트리(430)를 포함한다. 그래픽 토큰 연결 테이블(420)은, SVG 그래픽 토큰 및 그것에 대응하는 DirectX 그래픽 토큰과 OpenGL 그래픽 토큰으로 구성되는 그래픽 토큰 연결 엔트리(440)를 포함한다.
도 5a, 5b는 그래픽 토큰 트리 생성부(110)에 의해 생성되는 그래픽 토큰 트리가 도시되어 있다. 도 5a는 그래픽 토큰 트리 생성부(110)에 입력되는 그래픽 소스 코드의 언어 구문 객체를 언어 구문 토큰(520)으로 변환하여 얻어진 그래픽 토큰 트리(500a)를 나타낸다.
루트 토큰(510)은 트리의 최상위 노드로서 테이블 검색없이 그래픽 토큰 트리 생성부(110)에 의해 생성된다. 언어 구문 토큰(520)은, 언어 고유의 구문과 언어 고유의 일반 함수(입출력 함수 등)와 관련되어 있기 때문에, 언어 구문 객체를 언어 구문 토큰으로 변환하기 위해서는 언어 구문 객체와 언어 구문 토큰 사이의 대응 관계를 나타내는 구문 객체-토큰 테이블(140)을 참작할 필요가 있다. 수식 표현(예컨대 'a=b+c')은 모든 언어에서 공통적으로 사용되는 것이므로, 수식 토큰(530)은 별도의 테이블 검색없이 그래픽 토큰 트리 생성부(110)에 의해 생성된 다.
한편, 예컨대, 'abc(i,j)'라는 그래픽 함수에서, 'abc'는 수식 토큰(530)으로 분류되며, '(i,j)'는 파라미터 토큰(540)으로 분류되는데, 그래픽 토큰 트리 생성부(110)는, 수식 토큰에 상응하는 그래픽 객체(즉, 'abc')를 키워드로 그래픽 객체-토큰 테이블(150)을 검색하여, 해당 그래픽 객체를 그래픽 토큰으로 변환한다. 결과적으로, 파라미터가 붙어 있는 수식 토큰이 그래픽 토큰(550)으로 변환된 최종적인 그래픽 토큰 트리(500b)가 얻어진다. 즉, 그래픽 토큰 트리(500b)에는, 루트 토큰(510), 언어 구문 토큰(520), 수식 토큰(530), 파라미터 토큰(540), 그래픽 토큰(550)의 다섯 종류의 토큰으로 구성된다.
이하에서는 본 발명의 가변형 벡터 그래픽 코드 변환 장치(10)의 동작을 설명한다. 본 실시예에서는, C언어, C++언어, 또는 Java언어 구문을 사용하고 OpenGL 또는 DirectX 그래픽 API의 그래픽 코드를 사용한 총 여섯 조합의 (언어, 그래픽 API) 그래픽 소스 코드를 예정하고 있다. 이하에서는 설명의 편의를 위해 DirectX를 사용하고 C언어로 구현된 그래픽 소스 코드의 경우를 예로 들어 설명한다.
DirectX를 사용하고 C언어로 구현된 그래픽 소스 코드가 입력되면, 그래픽 토큰 트리 생성부(110)는, 구문 객체-토큰 테이블(140) 중에서 C언어 구문 객체-토큰 테이블(210)을 선택하고, 그래픽 객체-토큰 테이블(150) 중에서 DirectX 그래픽 객체-토큰 테이블(310)을 선택한다.
다음으로, 그래픽 토큰 트리 생성부(110)는, 입력 그래픽 소스 코드 내의 C언어 구문 객체를 키워드로 하여, C언어 구문 객체-토큰 테이블(210)의 엔트리 중에서 입력 그래픽 소스 코드 내의 C언어 구문 객체와 동일한 C언어 구문 객체를 포함하는 C언어 구문 객체-토큰 엔트리(250)를 찾아내어, 입력 그래픽 소스 코드 내의 C언어 구문 객체를 그것에 대응하는 C언어 구문 토큰으로 변환한다. 루트 토큰(510), 수식 토큰(530), 파라미터 토큰(540) 등은 테이블 참조없이 그래픽 토큰 트리 생성부(110)에 의해 자체적으로 생성된다. 따라서 도 5a의 그래픽 토큰 트리(500a)가 얻어진다.
이때, 그래픽 토큰 트리 생성부(110)는, 파라미터가 붙어 있는 수식 토큰(예컨대, 그래픽 함수 'abc(i,j)')에 대해, 그 수식 토큰에 상응하는 그래픽 객체(예컨대 'abc')를 키워드로 하여, DirectX 그래픽 객체-토큰 테이블(310)의 엔트리 중에서 해당 그래픽 객체와 동일한 그래픽 객체를 포함하는 DirectX 그래픽 객체-토큰 엔트리(340)를 찾아내어, 해당 그래픽 객체를 그것에 대응하는 DirectX 그래픽 토큰으로 변환한다. 따라서 도 5a의 그래픽 토큰 트리(500a)가 도 5b의 그래픽 토큰 트리(500b)로 변경된다. 그래픽 토큰 트리(500b)는 SVG 토큰 트리 변환부(120)로 전달된다.
SVG 토큰 트리 변환부(120)는, 그래픽 토큰 트리(500b)의 C언어 구문 토큰을 키워드로 하여, 구문 토큰 연결 테이블(410)의 엔트리 중에서, 상기 C언어 구문 토큰과 동일한 C언어 구문 토큰을 포함하는 구문 토큰 연결 엔트리(430)를 찾아내어, 해당 C언어 구문 토큰을 SVG 언어 구문 토큰으로 변환한다. 또한, SVG 토큰 트리 변환부(120)는, 그래픽 토큰 트리(500b)의 Direct 그래픽 토큰을 키워드로 하여, 그래픽 토큰 연결 테이블(420)의 엔트리 중에서, 상기 DirectX 그래픽 토큰과 동일한 DirectX 그래픽 토큰을 포함하는 그래픽 토큰 연결 엔트리(440)를 찾아내어, 해당 Direct 그래픽 토큰을 SVG 그래픽 토큰으로 변환한다. 이렇게 변환된 SVG 언어 구문 토큰과 SVG 그래픽 토큰에 의해 SVG 토큰 트리가 생성된다.
SVG 토큰-객체 변환부(130)는, SVG 토큰 트리의 SVG 언어 구문 토큰을 키워드로 하여, SVG 언어 구문 객체-토큰 테이블(240)의 엔트리 중에서, 상기 SVG 언어 구문 토큰과 동일한 SVG 언어 구문 토큰을 포함하는 SVG 언어 구문 객체-토큰 엔트리(280)를 찾아내어, 해당 SVG 언어 구문 토큰을 SVG 언어 구문 객체로 변환한다. 또한, VG 토큰-객체 변환부(130)는, SVG 토큰 트리의 SVG 그래픽 토큰을 키워드로 하여, SVG 그래픽 객체-토큰 테이블(330)의 엔트리 중에서, 상기 SVG 그래픽 토큰과 동일한 SVG 그래픽 토큰을 포함하는 SVG 그래픽 객체-토큰 엔트리(360)를 찾아내어, 해당 SVG 그래픽 토큰을 SVG 그래픽 객체로 변환한다. 이렇게 변환된 SVG 언어 구문 객체와 SVG 그래픽 객체는 SVG 소스 코드로서 출력된다.
도 6에는 본 발명의 실시예에 따른 가변형 벡터 그래픽 코드 변환 방법의 흐름도가 도시되어 있다. 그래픽 토큰 트리 생성부(110)는, 입력되는 그래픽 소스 코드의 객체를 그것에 대응하는 토큰으로 변환하고(S610), SVG 토큰 트리 변환 부(120)는, 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 토큰으로 변환하며(S620)와, SVG 토큰-객체 변환부(130)는, 상기 단계(S620)에서 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 객체로 변환한다(S630). 이때, 전술(前述)한 바와 같이, 상기 객체는, 상기 입력 그래픽 소스 코드의 언어에 따른 언어 구문 객체와 상기 입력 그래픽 소스 코드의 그래픽 API에 따른 그래픽 객체를 포함하며, 상기 토큰은, 상기 언어 구문 객체에 대응하는 언어 구문 토큰과 상기 그래픽 객체에 대응하는 그래픽 토큰을 포함한다.
앞서 설명한 본 발명의 실시예는 구체적인 구성과 도면에 의해 특정되었지만, 그러한 구체적인 실시예가 본 발명의 범위를 제한하는 것이 아니라는 점을 명확히 하고자 한다. 따라서, 본 발명은, 본 발명의 본질을 벗어나지 않는 다양한 변형예와 그 균등물들을 포함하는 것으로 이해되어야 한다.
예를 들어, 토큰 연결 테이블(160)과, SVG 언어 구문 객체-토큰 테이블(240)과, SVG 그래픽 객체-토큰 테이블(330)을 제거하고, SVG 언어 구문 객체-토큰 테이블(240)의 엔트리(280)를 다른 테이블(210, 220, 230)의 엔트리(250, 260, 270)의 요소에 각각 붙이고, SVG 그래픽 객체-토큰 테이블(330)의 엔트리(360)를 다른 테이블(310, 320)의 엔트리(340, 350)의 요소에 각각 붙여서, 테이블(210, 220, 230, 310, 320)이 토큰 연결 테이블(160)의 기능을 함께 갖도록 구성하는 것은 본 발명의 범위에 속하는 하나의 변형예가 될 수 있다. 또한, 상기 변형예의 테이블들을 객체-토큰 연결 테이블로서 구성하는 것도 본 발명의 범위에 속하는 또 다른 변형 예가 될 수 있다.
도 1은 실시예에 따른 가변형 벡터 그래픽 코드 변환 장치(10)의 구성도.
도 2는 실시예에 따른 구문 객체-토큰 테이블(140)의 구조도.
도 3은 실시예에 따른 그래픽 객체-토큰 테이블(150)의 구조도.
도 4는 실시예에 따른 토큰 연결 테이블(160)의 구조도.
도 5a는 실시예에 따라 생성되는 그래픽 토큰 트리(500a).
도 5b는 실시예에 따라 생성되는 그래픽 토큰 트리(500b).
도 6은 실시예에 따른 가변형 벡터 그래픽 코드 변환 방법의 흐름도.

Claims (10)

  1. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치로서,
    그래픽 소스 코드의 제1 언어 구문 객체와 그것에 대응하는 제1 언어 구문 토큰으로 이루어진 제1 언어 구문 엔트리를 포함하는 제1 언어 구문 테이블과,
    가변형 벡터 그래픽 코드의 제2 언어 구문 객체와 그것에 대응하는 제2 언어 구문 토큰으로 이루어진 제2 언어 구문 엔트리를 포함하는 제2 언어 구문 테이블과,
    그래픽 소스 코드의 제1 그래픽 객체와 그것에 대응하는 제1 그래픽 토큰으로 이루어진 제1 그래픽 엔트리를 포함하는 제1 그래픽 테이블과,
    가변형 벡터 그래픽 코드의 제2 그래픽 객체와 그것에 대응하는 제2 그래픽 토큰으로 이루어진 제2 그래픽 엔트리를 포함하는 제2 그래픽 테이블과,
    그래픽 소스 코드를 위한 상기 제1 언어 구문 토큰이 가변형 벡터 그래픽 코드를 위한 상기 제2 언어 구문 토큰에 대응되도록 구성된 구문 토큰 연결 엔트리를 포함하는 구문 토큰 연결 테이블과,
    그래픽 소스 코드를 위한 상기 제1 그래픽 토큰이 가변형 벡터 그래픽 코드를 위한 상기 제2 그래픽 토큰에 대응되도록 구성된 그래픽 토큰 연결 엔트리를 포함하는 그래픽 토큰 연결 테이블과,
    상기 제1 언어 구문 테이블을 참조하여, 입력되는 그래픽 소스 코드의 언어 구문 객체를 그것에 대응하는 언어 구문 토큰으로 변환하고, 상기 제1 그래픽 테이블을 참조하여, 상기 입력되는 그래픽 소스 코드의 그래픽 객체를 그것에 대응하는 그래픽 토큰으로 변환하고, 이렇게 변환된 언어 구문 토큰과 그래픽 토큰을 포함하는 제1 토큰 트리를 생성하는 제1 토큰 트리 생성부와,
    상기 구문 토큰 연결 테이블을 참조하여, 상기 제1 토큰 트리의 언어 구문 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 언어 구문 토큰으로 변환하고, 상기 그래픽 토큰 연결 테이블을 참조하여, 상기 제1 토큰 트리의 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 그래픽 토큰으로 변환하고, 이렇게 변환된 언어 구문 토큰과 그래픽 토큰을 포함하는 제2 토큰 트리를 생성하는 제2 토큰 트리 생성부와,
    상기 제2 언어 구문 테이블을 참조하여, 상기 제2 토큰 트리의 언어 구문 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 언어 구문 객체로 변환하고, 상기 제2 그래픽 테이블을 참조하여, 상기 제2 토큰 트리의 그래픽 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 그래픽 객체로 변환하는 객체 변환부를 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  2. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치로서,
    그래픽 소스 코드의 제1 언어 구문 객체와, 그것에 대응하는 제1 언어 구문 토큰과, 상기 제1 언어 구문 토큰에 대응하는 가변형 벡터 그래픽 코드를 위한 제2 언어 구문 토큰과, 상기 제2 언어 구문 토큰에 대응하는 가변형 벡터 그래픽 코드의 제2 언어 구문 객체로 이루어진 제1 언어 구문 엔트리를 포함하는 언어 구문 테이블과,
    그래픽 소스 코드의 제1 그래픽 객체와, 그것에 대응하는 제1 그래픽 토큰과, 상기 제1 그래픽 토큰에 대응하는 가변형 벡터 그래픽 코드를 위한 제2 그래픽 토큰과, 상기 제2 그래픽 토큰에 대응하는 가변형 벡터 그래픽 코드의 제2 그래픽 객체로 이루어진 제1 그래픽 엔트리를 포함하는 그래픽 테이블과,
    상기 언어 구문 테이블을 참조하여, 입력되는 그래픽 소스 코드의 언어 구문 객체를 그것에 대응하는 언어 구문 토큰으로 변환하고, 상기 그래픽 테이블을 참조하여, 상기 입력되는 그래픽 소스 코드의 그래픽 객체를 그것에 대응하는 그래픽 토큰으로 변환하고, 이렇게 변환된 언어 구문 토큰과 그래픽 토큰을 포함하는 제1 토큰 트리를 생성하는 제1 토큰 트리 생성부와,
    상기 언어 구문 테이블을 참조하여, 상기 제1 토큰 트리의 언어 구문 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 언어 구문 토큰으로 변환하고, 상기 그래픽 테이블을 참조하여, 상기 제1 토큰 트리의 그래픽 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 그래픽 토큰으로 변환하고, 이렇게 변환된 언어 구문 토큰과 그래픽 토큰을 포함하는 제2 토큰 트리를 생성하는 제2 토큰 트리 생성부와,
    상기 언어 구문 테이블을 참조하여, 상기 제2 토큰 트리의 언어 구문 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드의 언어 구문 객체로 변환하고, 상 기 그래픽 테이블을 참조하여, 상기 제2 토큰 트리의 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드의 그래픽 객체로 변환하는 객체 변환부를 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  3. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치로서,
    상기 그래픽 소스 코드의 제1 언어 구문 객체와, 상기 제1 언어 구문 객체에 대응하는 제1 언어 구문 토큰과, 상기 제1 언어 구문 토큰에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 제2 언어 구문 토큰과, 상기 제2 언어 구문 토큰에 대응하는 상기 가변형 벡터 그래픽 코드의 제2 언어 구문 객체가 정의되어 있고, 또한, 상기 그래픽 소스 코드의 제1 그래픽 객체와, 상기 제1 그래픽 객체에 대응하는 제1 그래픽 토큰과, 상기 제1 그래픽 토큰에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 제2 그래픽 토큰과, 상기 제2 그래픽 토큰에 대응하는 상기 가변형 벡터 그래픽 코드의 제2 그래픽 객체가 정의되어 있는, 객체-토큰 연결 테이블과,
    상기 객체-토큰 연결 테이블을 참조하여, 입력되는 그래픽 소스 코드의 언어 구문 객체를 그것에 대응하는 언어 구문 토큰으로 변환하고, 또한, 상기 입력되는 그래픽 소스 코드의 그래픽 객체를 그것에 대응하는 그래픽 토큰으로 변환하는, 객체-토큰 변환부와,
    상기 객체-토큰 연결 테이블을 참조하여, 상기 변환된 언어 구문 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 언어 구문 토큰으로 변환하 고, 또한, 상기 변환된 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 그래픽 토큰으로 변환하는, 토큰-토큰 변환부와,
    상기 객체-토큰 연결 테이블을 참조하여, 상기 토큰-토큰 변환부에 의해 변환된 언어 구문 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드의 언어 구문 객체로 변환하고, 또한, 상기 토큰-토큰 변환부에 의해 변환된 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드의 그래픽 객체로 변환하는, 토큰-객체 변환부를 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  4. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치로서,
    입력되는 그래픽 소스 코드의 언어 구문 객체를 그것에 대응하는 언어 구문 토큰으로 변환하고, 또한, 상기 입력되는 그래픽 소스 코드의 그래픽 객체를 그것에 대응하는 그래픽 토큰으로 변환하는, 객체-토큰 변환부와,
    상기 변환된 언어 구문 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 언어 구문 토큰으로 변환하고, 또한, 상기 변환된 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드를 위한 그래픽 토큰으로 변환하는, 토큰-토큰 변환부와,
    상기 토큰-토큰 변환부에 의해 변환된 언어 구문 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코드의 언어 구문 객체로 변환하고, 또한, 상기 토큰-토큰 변환부에 의해 변환된 그래픽 토큰을 그것에 대응하는 상기 가변형 벡터 그래픽 코 드의 그래픽 객체로 변환하는, 토큰-객체 변환부를 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  5. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 장치로서,
    입력되는 그래픽 소스 코드의 객체를 그것에 대응하는 토큰으로 변환하는 객체-토큰 변환부와,
    상기 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드를 위한 토큰으로 변환하는 토큰-토큰 변환부와,
    상기 토큰-토큰 변환부에 의해 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 객체로 변환하는 토큰-객체 변환부를 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  6. 청구항 5에 있어서, 상기 객체는, 상기 입력 그래픽 소스 코드의 언어에 따른 언어 구문 객체와 상기 입력 그래픽 소스 코드의 그래픽 API에 따른 그래픽 객체를 포함하며, 상기 토큰은, 상기 언어 구문 객체에 대응하는 언어 구문 토큰과 상기 그래픽 객체에 대응하는 그래픽 토큰을 포함하는, 가변형 벡터 그래픽 코드 변환 장치.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 입력 그래픽 소스 코드는, OpenGL 또는 DirectX 그래픽 API를 사용하여 C언어, C++언어, 또는 Java언어 중 어느 하나의 언어로 구현되어 있는, 가변형 벡터 그래픽 코드 변환 장치.
  8. 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽 코드로 변환하는 방법으로서,
    (a) 입력되는 그래픽 소스 코드의 객체를 그것에 대응하는 토큰으로 변환하는 단계와,
    (b) 상기 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 토큰으로 변환하는 단계와,
    (c) 상기 단계(b)에서 변환된 토큰을 그것에 대응하는 가변형 벡터 그래픽 코드의 객체로 변환하는 단계를 포함하는, 가변형 벡터 그래픽 코드 변환 방법.
  9. 청구항 8에 있어서, 상기 객체는, 상기 입력 그래픽 소스 코드의 언어에 따른 언어 구문 객체와 상기 입력 그래픽 소스 코드의 그래픽 API에 따른 그래픽 객체를 포함하며, 상기 토큰은, 상기 언어 구문 객체에 대응하는 언어 구문 토큰과 상기 그래픽 객체에 대응하는 그래픽 토큰을 포함하는, 가변형 벡터 그래픽 코드 변환 방법.
  10. 청구항 8 또는 9의 가변형 벡터 그래픽 코드 변환 방법을 컴퓨터에 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020070103077A 2007-10-12 2007-10-12 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법 KR100949824B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070103077A KR100949824B1 (ko) 2007-10-12 2007-10-12 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070103077A KR100949824B1 (ko) 2007-10-12 2007-10-12 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090037641A true KR20090037641A (ko) 2009-04-16
KR100949824B1 KR100949824B1 (ko) 2010-03-29

Family

ID=40762208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070103077A KR100949824B1 (ko) 2007-10-12 2007-10-12 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100949824B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102315750B1 (ko) * 2018-12-26 2021-10-21 한양대학교 에리카산학협력단 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092495A (ja) 2003-09-17 2005-04-07 Canon Inc 音声、動画等を具備するベクタグラフィックスのフォーマット方式
KR100803947B1 (ko) 2006-12-01 2008-02-15 주식회사 코아로직 오픈 벡터그래픽 응용 프로그램 인터페이스 변환 장치와방법, 모바일 단말기, 및 그 방법이 기록된 기록매체

Also Published As

Publication number Publication date
KR100949824B1 (ko) 2010-03-29

Similar Documents

Publication Publication Date Title
CN100437579C (zh) 一种实现ajax网页的方法
US7761601B2 (en) Strategies for transforming markup content to code-bearing content for consumption by a receiving device
US6408431B1 (en) Method and apparatus for multi-language software code generation
CN108268262A (zh) 实现将html转换为微信小程序的方法、装置及系统
CN110780853A (zh) 前端框架及开发方法、存储介质、电子设备
US8762963B2 (en) Translation of programming code
US20040064822A1 (en) Web server having function of Java servlet, method for updating Java program and computer program
CN101640694B (zh) 生成简单对象访问协议消息的方法及流程引擎
CN109656617A (zh) 一种Web Service前端部署方法、存储介质、电子设备及系统
CN114020846A (zh) 一种可更改nft作品处理方法及其装置
Serrano et al. Multitier programming in Hop
CN113031932A (zh) 项目开发方法、装置、电子设备及存储介质
CN106776800A (zh) AngularJS框架的页面生成方法、装置及系统
CN105867911B (zh) 一种Iris 2D图形引擎的实现方法
CN103425469A (zh) 基于mda技术的手机游戏代码生成方法
CN115485039B (zh) 用于支持游戏脚本的创建的系统和方法
KR100949824B1 (ko) 응용프로그램의 그래픽 소스 코드를 가변형 벡터 그래픽코드로 변환하는 장치 및 방법
US20050177818A1 (en) Integration of external tools into an existing design environment
CN102193789A (zh) 一种实现可配置跳转链接的方法和设备
CN108170436B (zh) 一种php与html代码的混合开发方法及其系统
Simonsen PetriCode: a tool for template-based code generation from CPN models
Sabraoui et al. A MDA-based model-driven approach to generate GUI for mobile applications
Shen et al. HCI⁁ 2 Workbench: A development tool for multimodal human-computer interaction systems
KR20080039577A (ko) 이종 모바일 플랫폼 사이의 컨텐츠 변환 장치 및 변환 방법
KR100983773B1 (ko) 오픈 벡터 그래픽스 엔진을 이용한 벡터 데이터 처리 장치및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee