Open Access Open Access  Restricted Access Subscription or Fee Access

Compiler Construction

Aastha Singh, S. B. Sonam Sinha, T.C. Archana Priyadarshi

Abstract


Compiler construction is a widely used software engineering exercise, but because most students will not be compiler writers, care must be taken to make it relevant in a core curriculum. The course is suitable for advanced undergraduate and beginning graduate students. Auxiliary tools, such as generators and interpreters, often hinder the learning: students have to fight tool idiosyncrasies, mysterious errors, and other poorly educative issues. We introduce a set of tools especially designed or improved for compiler construction educative projects in C.We also provide suggestions about new approaches to compiler Construction. We draw guidelines from our experience to make tools suitable for education purposes. The final result of this paper is to provide a general knowledge about compiler design and implementation and to serve as a springboard to more advanced courses. Although this paper concentrates on the implementation of a compiler, an outline for an advanced topics course that builds upon the compiler is also presented by us.

Keywords


Compiler Structure, Lexical Analysis, Parsing, Runtime Model

Full Text:

PDF

References


William M. WaiteDepartment of Electrical Engineering University of ColoradoBoulder, Colorado80309USAemail: William.Waite@colorado.edu.

GerhardGoos Institute Programms trukturen und Datenorganisation Fakultat fur Informatik Universit•at KarlsruheD-76128KarlsruheGermany email:ggoos@ipd.info.uni-karlsruhe.de

Niklaus WirthThis is a slightly revised version of the bookpublishedbyAddison-Wesleyin1996ISBN0-201-40353-6Zürich, November 2005.

Aho, Alfred V., Hop croft, J. E., and Ullman, Jeffrey D. [1974]. The Design and Analysis of Computer Algorithms.Addision Wesley, Reading, MA.

Aho, Alfred V. and Johnson, Stephen C. [1976]. Optimal code generation for expression trees. Journal of the ACM, 23(3):488501.

Aho, Alfred V. and Ullman, Jeffrey D. [1972]. The Theory of Parsing, Translation, and Compiling. Prentice-Hall, Englewood Cliffs.

Aho, Alfred V. and Ullman, Jeffrey D. [1977]. Principles of Compiler Design.Addision

Akim Demaille EPITA Research and Development Laboratory (LRDE)14/16, rue Voltaire F94276, Le KremlinBicˆetre, France akim@epita.fr

Akim Demaille Roland Levillain Benoît Perrot EPITA Research and Development Laboratory (LRDE) 14/16, rue Voltaire F-94276, Le Kremlin-Bicêtre, France akim@lrde.epita.fr roland@lrde.epita.fr benoit@lrde.epita.fr

ISBN 91-628-6839-X ISSN 1404-1219 Dissertation 25, 2006 LU-CS-DISS:2006-2 Department of Computer ScienceLund University Box 118 SE-221 00 Lund SwedenEmail: tobbe@ekman.net

Erik Hilsdale J. Michael Ashley R. Kent Dybvig Daniel P. Friedman Indiana University Computer Science Department Lindley Hall 215 Bloomington, Indiana47405fehilsdal,jashley,dyb,dfriedg@cs.

indiana.edu M.G.J. van den Brand Programming Research Group Department of Computer Science Universityof Amsterdum Kruislaan 403 NL-1098 SJ Amsterdam The Netherlands tel. +31 20 525 7593 e-mail:markvdb@fwi.uva.nl

Grigori Fursin, Cupertino Miranda, Olivier Temam INRIA Saclay, France Mircea Namolaru, Elad Yom-Tov,Ayal Zaks, Bilha Mendelson IBM Haifa, Israel Edwin Bonilla, John Thomson, Hugh Leather, Chris Williams, Michael O’Boyle University of Edinburgh, UK. Phil Barnard, Elton Ashton ARC International, UK Eric Courtois, Francois Bodin CAPS Enterprise, France Contact: grigori.fursin@inria.fr

Alexandre E. Eichenberger† , Kathryn O’Brien†, Kevin O’Brien†, Peng Wu†,Tong Chen†, Peter H. Oden†, Daniel A. Prener†, Janice C. Shepherd† , Byoungro So†, Zehra Sura†, Amy Wang‡, Tao Zhang_, Peng Zhao‡, and Michael Gschwind† †IBM T.J. Watson Research Center ‡IBM Toronto Laboratory _College of Computing Yorktown Heights, New York, USA. Markham, Ontario, CanadaGeorgiaTech,USA

Rajeev Baruay , Walter Leez , Saman Amarasinghez , Anant Agarwalz _ ECE Department; University of MarylandyCollege Park, MD 20742, U.S.A barua@eng,umd.eduhttp://www.ece.umd.edu/~barua M:I:T: Laboratory for Computer Sciencez Cambridge, MA02139,U.S.Afwalt,saman,agarwalg@lcs.mit.eduhttp://www.cag.lcs.mit.edu/raw

Sang-Ik Lee, Troy A. Johnson, and Rudolf EigenmannPurdue University?, West Lafayette IN 47906,USA,fsangik,troyj,eigenmang@ecn.purdue.edu,WWWhomepage:http://paramount.www.ecn.purdue.edu


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.