Course Websites

CS 421 - Progrmg Languages & Compilers

Last offered Summer 2021

Official Description

Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 233 or CS 240; CS 374; one of MATH 225, MATH 415, MATH 416, ASRM 406.

Related Faculty

Text(s)

Varies by semester.

Learning Goals

Learn to program in a functional programming language (2)
Understand the evaluation of programs in a functional programming laguage (1), (2), (6)
Be able to write a type checker / type inferencer given a formal type system (1), (2), (6)
Be able to write a lexer, and a parser using recursive-descent parsing, or a parser-generator. (1), (2), (6)
Program translation: be able to write a syntax-directed translator from abstract syntax to intermediate representations (1), (2), (6)
Recognize and use major methods of specification of dynamic semantics (1), (2), (6)
Write a interpreter based on a formal operational semantics of the language (1), (2), (6)

Topic List

Functional Programming
Lexing and Parsing
Typing and Type Systems
Program Translation
Specifcation Techniques for Dynamic Semantics

Required, Elective, or Selected Elective

Required.

TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Progrmg Languages & CompilersON237194ONL4 -    Mattox Beckman
Progrmg Languages & CompilersP330792OLC3 -    Mattox Beckman
Progrmg Languages & CompilersP430794OLC4 -    Mattox Beckman