Abstract
The availability of a C implementation of the Document Object Model (DOM) offers the interesting opportunity of generating bindings for different programming languages automatically. Because of the DOM bias towards Java-like languages, a C implementation that fakes objects, inheritance, polymorphism, exceptions and uses reference-counting introduces a gap between the API specification and its actual implementation that the bindings should try to close. In this paper we overview the generative approach in this particular context and apply it for the generation of C++ and OCaml bindings.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This work was partly supported by the European Project IST-2001-33562 MoWGLI. Luca Padovani received partial support from the Ontario Research Centre for Computer Algebra.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Casarini, P., Padovani, L.: The Gnome DOMEngine. Markup Languages: Theory & Practice 3(2), 173–190 (2002) ISSN 1099-6621
Fluet, M., Pucella, R.: Phantom Types and Subtyping. In: Proceedings of the 2nd IFIP International Conference on Theoretical Computer Science (TCS 2002), August 2002, pp. 448–460 (2002)
Finne, S., Leijen, D., Meijer, E., Jones, S.L.P.: Calling Hell From Heaven and Heaven From Hell. In: Proceedings of the International Conference on Functional Programming, pp. 114–125 (1999)
Garrigue, J.: Programming with polymorphic variants. In: ML Workshop (September 1998), http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/papers/variants.ps.gz
Levien, R.: Design considerations for a Gnome DOM., informal note, March 28 (1999), http://www.levien.com/gnome/dom-design.html
Clark, J. (ed.): XML Transformations (XSLT) Version 1.0. W3C Recommendation (1999), http://www.w3.org/TR/1999/REC-xslt-19991116
Hors, A.L., Hégaret, P.L., Nicol, G., Robie, J., Champion, M., et al. (eds.): Document Object Model (DOM) Level 2 Core Specification. Version 1.0, W3C Recommendation (November 2000), http://www.w3.org/TR/DOM-Level-2-Core/
Pixley, T.: Document Object Model (DOM) Level 2 Events Specification. Version 1.0, W3C Recommendation (November 2000), http://www.w3.org/TR/DOM-Level-2-Events
Edelson, D.R.: Smart Pointers: They’re Smart, But They’re Not Pointers. In: Proceedings of the C++ Conference, pp. 1–19 (1992)
Vandevoorde, D., Josuttis, N.M.: C++ Templates: The Complete Guide. Addison-Wesley, Reading (2002)
Stroustrup, B.: The C++ Programming Language, 3rd edn. Addison-Wesley, Reading (1997)
Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vouillon, J.: The Objective Caml system release 3.07 Documentation and user’s manual, http://caml.inria.fr/ocaml/htmlman/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Padovani, L., Sacerdoti Coen, C., Zacchiroli, S. (2004). A Generative Approach to the Implementation of Language Bindings for the Document Object Model. In: Karsai, G., Visser, E. (eds) Generative Programming and Component Engineering. GPCE 2004. Lecture Notes in Computer Science, vol 3286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30175-2_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-30175-2_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23580-4
Online ISBN: 978-3-540-30175-2
eBook Packages: Springer Book Archive