Description

The relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture, assemblers, specification and translation of programming languages, linkers and loaders, block-structured languages, parameter passing mechanisms, and comparison of programming languages.

CS 241E: Foundations of Sequential Programs

Enriched version of CS 241.

Lecture Topics:

  1. Data representation
  2. MIPS assembly language
  3. implementing an assembler
  4. regular languages
  5. deterministic finite automata
  6. finite automata
  7. regular expressions
  8. scanners
  9. regular languages
  10. context-free grammar I
  11. context-free grammar II
  12. top-down parsing
  13. bottom-up parsing