comp
holder  


 
Programme  Information

 
.


DT249
BSc in Information Systems
and Information Technology

 

Now accepting applications for January 2009

TECH4004 (Stage 4)
Compilers and Language Design (5 ECTS)

 

 

Prerequisite Modules

  • None

Description

This module introduces the student to the architecture of a compilers, syntax and semantics analysis, language grammars, automata and regular expression pattern matching, and to compiler implementation techniques.


Aims

The aim of this module is to give an introduction of compiler theory and relevant compiler implementation techniques.


Learning Outcomes

On successful completion of this module, the student will be able to:

  1. Demonstrate a detailed understanding of architecture of compiler.

  2. Demonstrate a detailed understanding of Grammar, and Automata.

  3. Appreciate the general compiling techniques and algorithms.

  4. Use practical experience in applying the compiling techniques.


Learning and Teaching Methods

Lectures, self-study, labs, tutorials, and any combination of discussion, case study, problem-solving exercises, readings, seminars, and computer-based learning.


Content

Complier Theory Overview, Compilers, Translators, Interpreters, Compilation Phases, Lexical, Syntactic, Semantic, Intermediate Representations, Code Generation, Optimisation, Language Issues.

Data Structures, Decision Constructs, Looping Constructs, Procedure calling, Parameter Passing, Object-Oriented Constructs.

Lexical Analysis, Finite State Machines, Regular Expressions. Syntax Analysis, Grammars, Chomsky Hierarchy, Top-Down and Bottom-Up Parsing, Recursive Descent Parsers, Pushdown Parsers, Attributed Grammars and Syntax Directed Translation.

Compiler Tools, Case Studies and Applications
Syntax-Directed Editing, Automated Code Generation.
Turing Machines.


Assessment

The methods of assessment to be used to measure the learning objectives stated above are written examination and continuous assessment including one or more of assignment, essay, problem-solving exercise, oral presentation, and class or lab tests.

  • Continuous Assessment: 30%
  • Examination: 70%

Recommended Reading

  • Aho, Sethi and Ullman, Compilers: Principles, Techniques and Tools, Addison-Wesley, 1986. ISBN 0-201-10194-7, (better known as The Dragon Book).
  • Michael L. Scott, Programming Language Pragmatics, Morgan Kaufmann Publishers, 2000.
  • Andrew W. Appel, Modern Compiler Implementation in C/Java/ML, Cambridge University Press, New York, 1998.
  For more information contact
Ciarán O'Leary
     

 

Hit Counter