초록
무선 마크업 언어(Wireless Markup Language) 컴파일러는 텍스트로 구성된 문서를 바이너리 문서로 변환, 압축함으로써, 낮은 대역폭을 갖는 무선 선로에서 트래픽을 감소시키며, 낮은 성능을 갖고 있는 이동 단말기에서 브라우징 처리를 간단하게 하는 역할을 한다. 또한 이러한 변환 과정에서 확장 마크업 언어(eXtensible Markup Language)의 well-formedness와 validation 과정을 동시에 처리함으로써, 이동 단말기에서 문서처리 부담을 대폭 경감하는 효과를 가져온다. 본 논문에서 구현한 무선 마크업 언어 컴파일러는 어휘분석기 모듈과 파서 모듈로 구성되어 있는데, 파서 모듈은 파서 생성기를 사용하여 구현하였다. 이는 향후 응용 수준에서 보안 기능을 제공하기 위하여 태그를 확장하거나 무선 마크업 언어의 버전이 업그레이드 될 때에서 변경된 부분에 해당하는 문법만 다시 설계함을써 유연하게 대처할 수 있는 장점을 가지고 있다. 사용된 문법은 LALR(1) context-free 문법으로서, 확장 마크업 언어 1.0과 무선 마크업 언어 1.2의 문서 형태 정의(Document Type Definition)를 기반으로 무선 응용 프로토콜 바이너리 확장 마크업 언어(Wireless Application Protocol Binary XML) 문법을 고려하여 설계되었다. 구현된 컴파일러의 기능을 실험하여 데모하기 위하여 세 가지 방법(수작업, WML 디컴파일러, 노키아 WAP 툴킷)을 사용하였으며, 다양한 태그 조합을 갖는 임의의 130여 개 문서에 대해 실험한 결과, 최대 85%의 압축효과를 얻을 수 있었다. 그러나, 태그나 속성에 비해 일반 문자열 데이타가 많아지면 상대적으로 압축효과가 감소되므로, Hyper Text Markup Language 문서로부터 무선 마크업 언어 문서로 자동 변환된 텍스트를 인코딩하는 경우와 같이 특정한 응용 분야에서는 일반 문자열에 대한 확장 인코딩 기법을 적용할 필요가 있을 수 있다.
In this paper, we describe a design and implementation of the Wireless Markup Language(WML) compiler to deploy wireless Internet services effectively. The WML compiler translates textual WML decks into binary ones in order to reduce the traffic on wireless links that have relatively low bandwidth to wireline links and mitigate the processing overhead of WML decks on, wireless terminals that have relatively low processing power to fixed workstations. In addition, it takes over the overhead of eXtensible Markup Language(XML) well-formedness and validation processes. The WML compiler consists of the lexical analyzer and parser modules. The granunar for the WML parser module is LALR(1) context-free grammar that is designed based on XML 1.0 and WML 1.2 DTD(Document Type Definition) with the consideration of the Wireless Application Protocol Binary XML grammar. The grammar description is converted into a C program to parse that grammar by using parser generator. Even though the tags in WML will be extended or WML DTD will be upgraded, this approach has the advantage of flexibility because the program is generated by modifying just the changed parts. We have verified the functionality of the WML compiler by using a WML decompiler in the public domain and by using the Nokia WAP Toolkit as a WAP client. To measurethe compressibility gain of the WML compiler, we have tested a large number of textual WML decks and obtained a maximum 85 %. As the effect of compression is reduced when the portion of general textual strings increases relative to one of the tags and attributes in a WML deck, an extended encoding method might be needed for specific applications such as compiling of the WML decks to which the Hyper Text Markup Language document is translated dynamically.