Abstract
We present a concurrent compiler for Active Oberon built itself with active objects. We describe the experience made on parallelizing the Oberon compiler, in particular explaining how concurrency and synchronization are achieved by using active objects, and showing how we achieved ensured deadlock freedom. Based on the implementation, we discuss why we consider active objects beneficial for the implementation of software frameworks and where their limitations are.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Appel, A.W.: Modern Compiler Implementation In Java, basic techniques. Cambridge University Press, Cambridge (1997)
Crelier, R.: OP2: A portable oberon compiler (vergriffen). Technical Report 1990TR-125, Swiss Federal Institute of Technology, Zurich (February 1990)
Fischer, C.N.: On parsing Context-Free Languages in Parallel Environments. PhD thesis, Department of Computer Science, Cornell University (1975)
Fröhlich, P.: Projekt froderon: Zur weiteren entwicklung der programmiersprache oberon-2. Master’s thesis, Fachhochschule München (1997)
Griesemer, R.: A Programming Language for Vector Computers. PhD thesis, ETH Zürich (1993)
Gross, T., Zobel, A., Zolg, M.: Parallel compilation for a parallel machine. ACM SIGPLAN Notices 24(7), 91–100 (1989)
Gutknecht, J.: Do the fish really need remote control? A proposal for self-active objects in oberon. In: Chin, R., Naiman, A., Pong, T.-C., Ip, H.H.-S. (eds.) ICSC 1995. LNCS, vol. 1024. Springer, Heidelberg (1995)
Gutknecht, J.: One-pass compilation at its limits — A Modula-2 compiler for the Xerox Dragon computer. Software Practice and Experience 17(7), 469–484 (1987)
Knuth, D.E.: A history of writing compilers. Computers and Automation 11(12), 8–14 (1962)
Muller, P.: A multiprocessor kernel for active object-based systems. In: Proc. of Joint Modular Languages Conference (JMLC 2000). Springer, Heidelberg (2000)
Raymond, E.S.: The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O’Reilly & Associates, Inc. (1999)
Schell Jr., R.M.: Methods for Constructing Parallel Compilers For Use in a Multiprocessor Environment. PhD thesis, University Of Illinois at Urbana-Champaign (1979)
Seshadri, V., Weber, S., Wortman, D.B., Yu, C.P., Small, I.: Semantic analysis in a concurrent compiler. In: Proceedings of the SIGPLAN 1988 Conference on Programming Language Design and Implementation, pp. 233–240 (1988)
Sheperd, J.C.: Why a two pass front end? SIGPLAN Notices 26(3), 88–94 (1991)
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers; Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Wirth, N.: The programming language oberon. Software Practice and Experience 18(7), 671–690 (1988)
Wirth, N.: Compiler Construction. Addison-Wesley, Reading (1996)
Wirth, N., Reiser, M.: Programming in Oberon - Steps Beyond Pascal and Modula, 1st edn. Addison-Wesley, Reading (1992)
Wortman, D., Junkin, M.: Concurrent compiler for Modula-2+. ACM SIGPLAN Notices 27(7), 68–81 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reali, P. (2000). Structuring a Compiler with Active Objects. In: Weck, W., Gutknecht, J. (eds) Modular Programming Languages. JMLC 2000. Lecture Notes in Computer Science, vol 1897. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722581_20
Download citation
DOI: https://doi.org/10.1007/10722581_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67958-5
Online ISBN: 978-3-540-44519-7
eBook Packages: Springer Book Archive