Structuring a Compiler with Active Objects

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.

[1]  Jürg Gutknecht One‐pass compilation at its limits — A modula‐2 compiler for the xerox dragon computer , 1987, Softw. Pract. Exp..

[2]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[3]  Eric S. Raymond,et al.  The Cathedral & the Bazaar , 1999 .

[4]  Marc A. de Kruijf Compiler Construction , 1996, Lecture Notes in Computer Science.

[5]  Jürg Gutknecht Do the Fish Really Need Remote Control? A Proposal for Self-Active Objects in Oberon , 1997, JMLC.

[6]  Andrew W. Appel Modern Compiler Implementation in Java: Basic Techniques , 1997 .

[7]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[8]  David B. Wortman,et al.  A concurrent compiler for Modula-2+ , 1992, PLDI '92.

[9]  Peter H. Frohlich Projekt froderon: Zur weiteren entwicklung der programmiersprache oberon-2 , 1997 .

[10]  Eric Lease Morgan,et al.  Review of The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary by Eric S. Raymond, Sebastopol, Calif.: O'Reilly, 1999 , 2000 .

[11]  Thomas R. Gross,et al.  Parallel compilation for a parallel machine , 1989, PLDI '89.

[12]  Charles N. Fischer On parsing context free languages in parallel environments. , 1975 .

[13]  Jr. Richard Marion Schell Methods for constructing parallel compilers for use in a multiprocessor environment. , 1979 .

[14]  Robert Griesemer,et al.  A programming language for vector computers , 1993 .

[15]  Niklaus Wirth,et al.  The programming language oberon , 1988, Softw. Pract. Exp..

[16]  Pieter Muller A Multiprocessor Kernel for Active Object-Based Systems , 2000, JMLC.

[17]  Horace Ho-Shing Ip,et al.  Image Analysis Applications and Computer Graphics , 1995, Lecture Notes in Computer Science.

[18]  Niklaus Wirth,et al.  Programming in Oberon - steps beyond Pascal and Modula , 1992 .

[19]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[20]  Janice C. Shepherd Why a two pass front end? , 1991, SIGP.

[21]  David B. Wortman,et al.  Semantic analysis in a concurrent compiler , 1988, PLDI '88.