본문 바로가기 사이드메뉴 바로가기 대메뉴 바로가기

Computer Science

Courses

Compiler Design
Text code : CSE304 / Credit : 3
  • Prerequisites C or higher: CSE 216 or CSE 219 or CSE 260; CSE 220; Advisory Prerequisites: CSE 303 or CSE 350
  • Textbook information Aho, Lam, Sethi, Ullman. Compiler Design: Principles, Techniques, and Tools (Addison Wesley, 2nd Edition). ISBN: 978-0321486813.

Credits 3
Course Coordinator

Amos Omondi

Description

Topics studied include formal description of programming languages, lexical analysis, syntax analysis, symbol tables and memory allocation, code generation, and interpreters. Students undertake a semester project that includes the design and implementation of a compiler for a language chosen by the instructor.

Prerequisite

C or higher: CSE 216 or CSE 219 or CSE 260; CSE 220; Advisory Prerequisites: CSE 303 or CSE 350

Course Outcomes
  • An ability to use of formal attributed grammars for specifying the syntax and semantics of programming languages.
  • Working knowledge of the major phases of compilation, particularly lexical analysis, parsing, semantic analysis, and code generation.
  • An ability to design and implement a significant portion of a compiler for a language chosen by the instructor.
Textbook

Aho, Lam, Sethi, Ullman. Compiler Design: Principles, Techniques, and Tools (Addison Wesley, 2nd Edition). ISBN: 978-0321486813.

Major Topics Covered in Course
  • Lexical analysis
  • Syntax analysis
  • Symbol tables
  • Memory allocation
  • Code generation
  • Semantic analysis
  • Abstract interpretation.
Laboratory Projects

N/A

Course Webpage

CSE304

Amos Omondi img
Amos Omondi
  • PositionProfessor / Undergraduate Program Director / Associate Chair
  • OfficeRoom B422