CS536 Course Overview

CS536 Course Overview


CS 536 is an introduction to the design and translation of programming languages. Subjects to be covered include symbol tables, scanning and regular expressions, Lex and Flex, context-free grammars and parsing, Yacc and Bison, abstract syntax trees, code-generation, and syntax-directed compilation. A variety of tools, including JLex, JavaCUP and Jasmin will be used. Concepts of name scoping, modularization, and type rules will be considered in a number of languages.

Class projects will be components of a simple compiler for the language CSX, a blend of C, C++ and Java. Projects will be implemented in Java.