DOI QR코드

DOI QR Code

An XML Compiler Generator using Object Oriented Attribute Grammar and SML

객체지향 속성 문법과 SML을 이용한 XML 컴파일러 생성기

  • Published : 2004.04.01

Abstract

XML as a standard for representing data and document structure is widely used in every area, and we have to write XML compilers which process the XML documents according to a user's intention. Because it takes time and costs to write XML compilers by hand, we need some generators that automatically generate XML compilers. In this paper, we introduce an XML compiler generator named XCC. It reads DTD and semantic rules, and it generates XML compiler and Java classes which correspond to the elements defined in the DTD.

XML은 데이터와 문서를 표현하기 위한 표준화된 메타언어고서 점차 많은 분야에서 사용되고 있지만, 각 분야에서 XML 문서론 올바르게 처리하기 위해서는 XML 컴파일러를 작성해야 한다. XML 컴파일러를 작성하는 많은 시간과 노력을 필요로 하기 때문에 XML 컴파일러를 자동적으로 생성할 수 있는 방법이 필요해진다. 논문에서는 XML 문서를 의미에 맞게 처리할 수 있는 XML 컴파일러를 자동으로 생성할 수 있는 XCC라는 XML 컴파일러 생성기를 소개한다. XCC는 XML문서의 DTD를 입력으로 받고, XML 원소(element)들 간의 관계를 이용해서 상속과 컴포지션 관계를 갖는 자바 클래스들을 생성한다. XCC는 또한 의미 규칙을 입력으로 받아서 XML 문서를 의미에 맞게 처리하기 위한 XML 컴파일러를 생성한다. XCC는 XML, 컴파일러를 자동적으로 생성함으로써 XML문서 처리를 위한 소프트웨어 개발에서 비용을 절감시킬 수 있다

Keywords

References

  1. Extensible Markup Language(XML) 1.0, available at http://www.w3.org/TR/REC-xml
  2. Stephen C. Johnson, 'Yacc : Another Compiler-Com-piler,' Computing Science Technical Report 32, AT&T Bell Labs, Murray Hill(NJ), 1975
  3. ANTLR Translator Generator, available at http://www.antlr.org/
  4. The Simple API for XML, http://www.saxproject.org/
  5. Document Object Model (DOM), http://www.w3.org/DOM/
  6. Kai Koskimies, 'Object-Orientation in Attribute Grammars,' In Attribute Grammars, Applications and Systems, LNCS 545, Springer-Verlag, pp.297-329, 1991 https://doi.org/10.1007/3-540-54572-7_11
  7. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers : Principles, Techniques, and Tools, Addison Wesley, 1986
  8. 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
  9. 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.ercim.org/publication/ws-proceedings/DelNoe03/
  10. Jos Warmer and Hans Van Vliet, 'Processing SGML Documents,' In Electronic Publishing, Vol.4, No.1, pp. 3-26, 1991
  11. FleXML, available at http://flexml.sourceforge.net/
  12. Giuseppe Psaila and Stefano Grespi-Reghizzi, 'Adding Semantics to XML,' In Proc. of Attribute Grammars and their Applications, pp.113-132, 1999
  13. Erich Gamma, et al, Design Patterns, Addison-Wesley Pub., 1995
  14. Greg K. Badros, 'JavaML : A Markup Language for Java Source Code', In WWW Conf., available at http://www.cs.washington.edu/homes/gib/JavaML/2000
  15. 'Bean Markup Language', IBM, available at http://www.alphaworks.ibm.com/formula/bml, 1999
  16. Vector Markup Language (VML), http://www.w3.org/TR/NOTE-VML
  17. Scalable Vector Graphics (SVG), http://www.w3.org/Graphics/SVG/
  18. Donald E. Knuth, 'Semantics of context-free languages,' In Math Systems Theory, Vol.2, No.2, pp.127-145, 1968 https://doi.org/10.1007/BF01692511
  19. Jukka Paakki, 'Attribute Grammar Paradigms-A High-level Methodology in Language Implementation,' In ACM Computing Surveys, Vol.2, pp.197-255, 1995 https://doi.org/10.1145/210376.197409
  20. 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/