속성 문법과 XMLSchema를 이용한 XML 컴파일러 생성기

An SML Compiler Generator Using Attribute Grammar and XMLSchema

  • 발행 : 2006.09.01

초록

XML 문서를 위한 컴파일러를 개발하기 위해서는 많은 노력을 필요로 하기 때문에 XML 컴파일러를 자동적으로 생성할 수 있는 방법에 대한 연구의 필요성이 증가하고 있다. XMLSchema가 표준으로 지정된 이후에 많이 사용되고 있지만, XMLSchema를 사용하는 XML 문서를 위한 XML 컴파일러 생성기에 관한 연구는 현재까지 거의 이루어지지 않았다. 본 논문에서는 속성 문법을 사용해서 XMLSchema를 사용하는 XML 문서를 위한 XML 컴파일러를 자동적으로 생성할 수 있는 방법을 소개한다. XML 컴파일러 생성기는 XMLSchema의 데이타 타입 정보와 별도로 제공되는 의미 정보를 이용해서 의미 클래스와 XML 컴파일러를 생성한다. 생성된 XML 컴파일러는 XML 문서를 파싱해서 의미 클래스의 인스턴스로 구성된 트리로 변환하고, 트리를 순회하면서 XML 문서를 사용자의 의도에 맞게 처리한다.

As XML is widely used across the computer related fields, and it costs expensive for its compiler, the study on the automatic generation of the compiler is becoming important. In addition, though the XMLSchema became a standard, there have been few works on the automatic compiler generation for XML applications based on the XMLSchema. In this paper, we introduce a method that we can automatically generate a compiler for an XML application based on the XMLSchema. Our XML compiler generator uses data type information in XMLSchema document and semantic information in another file and produces semantic classes and a compiler for the XML application. The compiler parses an XML document, builds a tree in which each node is an instance of semantic class, and processes the document through the traversal of the tree.

키워드

참고문헌

  1. Eric Johnson, 'XML Usage Patterns,' In Proc. of XML Europe, 2001, available at http://www.gca.org/papers/xmleurope200l/papers/html/sid-01-5.html
  2. 최종명, 유재우, '객체지향 속성 문법을 이용한 XML 문서 처리기 생성기,' 정보과학회논문지 B, 31권 2호, pp. 224-324, Feb., 2004
  3. 최종명, 유재우, 'XCC : 객체지향 속성 문법과 SML을 이용한 XML 컴파일러 생성기,' 정보처리학회논문지 A, 11권 2호, pp. 149-158, Apr., 2004 https://doi.org/10.3745/KIPSTA.2004.11A.2.149
  4. FleXML, available at http://flexml.sourceforge.net/
  5. Giuseppe Psaila and Stefano Grespi-Reghizzi, 'Adding Semantics to XML,' In Proc. of Attribute Grammars and their Applications, pp. 113-132, 1999
  6. Uljana Timoshkina, Yury Bogoyavlenskiy, and Martti Penttonen, Structured Documents Processing Using Lex and Yacc, Technical Report, Univ. of Kuopio, Finland, 2001, available at http://www.cs.uku,fi/research/publications/reports/
  7. W3C, XML Schema Part 1; Structures, available at http://www.w3.org/TR/xmlschema-1/
  8. Makoto Murata, Donwon Lee, Murali Mani, 'Taxonomy of XML Schema Languages Using Formal Language Theory,' In Proc. of Extreme Markup Languages, Aug., 2001
  9. Dongwon Lee and Wesley W. Chu, 'Comparative Analysis of Six XML Schema Languages,' In Proc. of ACM SIGMOD, Sep., 2000
  10. The Simple API for XML (SAX), http://www.saxproject.org/
  11. Document Object Model (DOM), http://www.w3.org/DOM/
  12. XSL Transformations (XSLT) Version 1.0, available at http://www.w3.org/TR/xslt
  13. An Feng and Toshiro Wakayama, 'SIMON: A grammar-based transformation system for structured documents,' In Proc. of Electronic Publishing - Origination, Dissemination and Design, Vol. 6, No.4, pp. 361-372, 1993
  14. Alda Lopes Gacarski, 'Using Attribute Grammars to Uniformly Represent Structured Documents Application to Information Retrieval,' In Proc. of 3rd DELOS Network of Excellence Workshop on Interoperability and Mediation in Heterogeneous Digital Libraries, 2001, available at http://www.ercimorg/publication/ws-proceedings/DelNoe03/
  15. Jos Warmer and Hans Van Vliet, 'Processing SGML Documents,' In Electronic Publishing, Vol. 4, No.1, pp. 3-26, 1991
  16. XML Path Language (XPath), available at http://www.w3.org/TR/xpath
  17. Sun, 'Java Architecture for XML Binding,' available at http://java.sun.com/xml/jaxb/
  18. Jukka Paakki, 'Attribute Grammar Paradigms -A High-level Methodology in Language Implementation,' In ACM Computing Surveys, Vol. 27, No.2, pp. 197-255, 1995 https://doi.org/10.1145/210376.197409
  19. Kai Koskimies, 'Object-Orientation in Attribute Grammars,' In Attribute Grammars, Applications and Systems, LNCS 545, Springer-Verlag, pp. 297-329, 1991
  20. T. J. Parr and R. W. Quong, 'ANTLR: A Predicated-LL(k) Parser Generator,' In Software Practice and Expreience, Vol. 25, No.7, pp. 789-810, Jul., 1995 https://doi.org/10.1002/spe.4380250705
  21. Mandy Chung, 'Using JConsole to Monitor Applications,' Sun Developer Network (SDN), 2004, available at http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html