Differences between revisions 1 and 2
Revision 1 as of 2014-01-22 00:41:14
Size: 1288
Editor: khellman
Comment:
Revision 2 as of 2014-01-22 01:16:50
Size: 1289
Editor: khellman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
'''CSCI498 --- COMPILER DESIGN''': An introductory course to the design and construction of compilers. Topics include scanning (lexical analysis), parsing, translation, intermediate representation, and target creation. Some simple optimization techniques may be covered as well. '''CSCI498 --- COMPILER DESIGN''': An introductory course to the design and construction of compilers. Topics include scanning (lexical analysis), parsing, translation, intermediate representation, and target creation. Some optimization techniques may be covered as time permits.

Course Description

CSCI498 --- COMPILER DESIGN: An introductory course to the design and construction of compilers. Topics include scanning (lexical analysis), parsing, translation, intermediate representation, and target creation. Some optimization techniques may be covered as time permits.

Computer Organization (CSCI341) and Software Engineering (CSCI306).

Learning Goals

The objectives of this course are to introduce students to theory and tools behind language compilers. Upon completion of this course, you should know:

  • The steps taken by most compilers to translate a program listing to either another language or target code for a machine.
  • The theory of lexical analysis, regular expressions, deterministic finite automata (DFAs), non-deterministic finite automata (NFAs), and how to use scanner generators (flex).

  • The theory behind parsing, the generation of parse trees, and their translation to abstract syntax trees (ASTs).
  • The implementation and use of symbol tables.
  • AST translation to intermediate representations (IR).
  • IR translation to machine code.

Students will work in groups to implement a compiler from scanner to machine code.

ExecutiveSummary (last edited 2022-09-23 12:23:44 by khellman)