Skip to main content
Log in

Depot4 — Agenerator for dynamically extensible translators

  • Published:
Software - Concepts & Tools

Abstract

Research in compiler-compilers has contributed to facilitating the implementation of domainspecific programming languages and syntax-based software design. We present a formalism for the description of formal translations whose use requires no more than common procedural programming skills and an understanding of the EBNF notation. The soundness and applicability of the ideas presented have been proved by implementing the Depot4 metasystem. Its metalanguage, Ml4, extends EBNF in a symmetrical way; i.e., target descriptions utilise features already known from syntax definitions. The current implementation is by preprocessing. Simple use, flexibility and extensibility have been rated high. Applying principles of object-oriented programming, a concise and extensible system was built. A flexible access scheme allows the separate replacement of modules even during run time, thus enabling dynamic adjustment. New ways of application may originate from a more general view of source and target languages as well.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ainsworth, M., Bennett, J.P.: The Design of a Programming Language for the Analysis of Problems in Biochemistry. J. Prog. Lang. 1: 2, pp. 143–151 (1993)

    Google Scholar 

  2. Cornelius, B.J.: Problems with the Language Modula-2. Softw. Pract. Exper. 18: 6, pp. 529–543 (1988)

    Article  Google Scholar 

  3. Eulenstein, M.: Generierung portabler Compiler. Informatik-Fachberichte 164, (Springer, Berlin Heidelberg 1988)

    Google Scholar 

  4. Féèle C., Lecarme, O.: Towards a Toolkit for Building Language Implementations. Softw. Pract. Exper. 22: 11, pp. 911–936 (1992)

    Article  Google Scholar 

  5. Franz, M.: Technological Steps towards a Software Component Industry. In: Gutknecht, J. (ed) Programming Languages and System Architectures. Proceedings. (Springer, Berlin, Heidelberg, New York 1994) pp. 259–281

    Chapter  Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R.: Design Patterns: Elements of Reusable Object-Oriented Software. (Addison-Wesley, Reading, Mass. 1995)

    Google Scholar 

  7. Gerady, R.: Experimental Comparison of Some Parsing Methods. SIGPLAN Notices 22: 8, pp. 79–88 (1987)

    Article  Google Scholar 

  8. Gray, R.W., Heurig, V.P., Levi, S.P., Sloane, A.M., Waite, W.M.: Eli: A Complete Flexible Compiler Construction System. CACM 35: 2, pp. 121–131 (1992)

    Article  Google Scholar 

  9. Hahn, W., Toenniessen, F., Wittkowski, A.: Eine objektorientierte Zugriffsschicht zu relationalen Datenbanken. Informatik-Spektrum 18: 3, pp. 143–151 (1995)

    Google Scholar 

  10. Jansen, P.G.M.: Software Robots - Automating the Software Factory. In: Proceedings CC’96 Workshop on Compiler Techniques for Application Domain Languages and Extensible Languages Models (ALEL’96), Linköping, 1996, pp. 34–41

    Google Scholar 

  11. Johnstone, A.: rdp - a Recursive Descent Compiler Compiler. User manual for version 1.4. University of London, Computer Science Dept., Technical CSD-TR-95-03 (1995)

    Google Scholar 

  12. Klatte, R., Kulisch, U., Neuga, M., Ratz, D., Ullrich, C.: Pascal-XSC. Language Reference with Examples. (Springer, Berlin, Heidelberg, New York 1992)

    Google Scholar 

  13. Koskimies, K., Mössenböck, H.: Designing a Framework by Stepwise Generalization. In: Proceedings 5th European Software Engineering Conference, Barcelona, 1995

    Google Scholar 

  14. Koskimies, K., Nurmi, O., Paakki, J., Sippu, S.: The Design of a Language Processor Generator. Softw. Pract. Expr. 18: 2, pp. 107–135 (1988)

    Article  Google Scholar 

  15. Koskimies, K., Vihavainen, J.: Incremental Parser Construction with Metaobjects. Department of Computer Science, University Report A-1992-5 (1992)

    Google Scholar 

  16. Krasner, G.E., Pope, S.T.: A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. JOOP 1: 3, pp. 26–49 (1988)

    Google Scholar 

  17. Laffra, C.: Advanced Java. (Prentice Hall, Upper Saddle River 1997)

    Google Scholar 

  18. Lötzsch, J.: Die Dresdner Fachsprachenlinie (ein Überblick). Wiss. Z. TU Dresden 36: 3, pp. 203–206 (1987)

    Google Scholar 

  19. Mössenböck, H.: Object-Oriented Programming in Oberon-2. In: Proceedings 2nd Intl. Modula-2 Conference, Loghborough, 1991, pp 179–195

    Google Scholar 

  20. Ohshima, Y.: Rie — A Comiler Generator Based on Attribute Grammar. Techn. Report, Department of Mathematical and Computer Science, Tokyo Institute of Technology, Tokyo 1995, ftp://ftp.is.titech.ac.jp/pub/Rie

    Google Scholar 

  21. Rechenberg, P., Mössenböck, H.: Ein Compiler-Generator für Mikrocomputer. (Hanser, München 1988)

    Google Scholar 

  22. Salomaa, A.: Formale Sprachen. (Springer, Berlin, Heidelberg 1978)

    Book  MATH  Google Scholar 

  23. Schmitz, L., Schulter, F., Laak, Jv.: SIC’95 Report and User Manual. Univ. d. Bundeswehr, Report 9501 (1995)

    Google Scholar 

  24. Tewkesbury, G., Sanders, D.: A Framework for the Automatic Programming of Advanced Production Machinery. In: Proceedings IEEE 20th Euromicro 94, 1994, pp. 224–230

    Google Scholar 

  25. Tofte, M.: Compiler Generators - What They Can Do, What They Might Do, and What they Probably Never Will Do. EATCS Monographs on Theoretical Computer Science 19, (Springer, Berlin, Heidelberg, New York 1990)

    Google Scholar 

  26. Waite, W.M.: Compiler Construction: Craftsmanship or Engineering? In: Gyim-thy, T. (ed) Compiler Construction. (Springer, Berlin, Heidelberg, New York 1996) pp. 151–159

    Chapter  Google Scholar 

  27. Wirth, N.: What Can We Do about the Unnecessary Diversity of Notation for Syntactic Definitions? CACM 20: 11, pp. 822–823 (1977)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jürgen Lampe.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lampe, J. Depot4 — Agenerator for dynamically extensible translators. Software - Concepts & Tools 19, 97–108 (1998). https://doi.org/10.1007/s003780050013

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s003780050013

Key words

Navigation