Quiz 3

Topics

Reference Pages (will be included with the quiz):
Refererence pages

IR Concepts

  • Purposes of IRs
  • Translating IRs
  • Specific IR examples
    • ASTs
    • 3AC

Runtime environment concepts

  • What runtime environment are
  • What runtime environments are used for
  • Examples of runtime environments

Architecture details

  • Binary encoding
    • x64 instructions
    • x64 data representation
    • hand-coded x64 programs

Allocation schemes

  • Static allocation

Assembly code

  • x64 programming
  • Implementating source-language constructs
  • The System V ABI

Quiz 2

Topics

  • Bison
  • LL(1) Parsing
    • Using an LL(1) Parser
    • Building an LL(1) Parser
  • LR Parsing
    • Using an LR Parser
    • Building an SLR Parser
      • Stack Items
      • Closure Sets
      • GoTo Sets
  • Grammar transformations
    • Left-Recursion Elimination
    • Left Factoring
  • FIRST Sets
  • FOLLOW Sets
  • Top-Down SDT / SDT for LL(1) Grammars
  • ASTs / Building ASTs from Parse Trees
  • Name Analysis
  • Dynamic Scope / Static Scope
  • Shadowing
  • Overriding
  • Type Analysis / Type Checking

Study Versions

fall2020:(blank) fall2019:(blank)

Quiz 1

Topics

  • Phases of the compiler
  • Regex to NFA-with-epsilon-transitions
  • NFA epsilon elimination
  • epsilon-closure sets
  • Rabin-Scott Powerset Construction (NFA to DFA)
  • Regular Expressions
  • DFAs
  • State transition tables
  • Tokenizers
  • Flex patterns
  • Context-Free Grammars
  • Ambiguous Grammars
  • Fixing Precendence in CF Grammars
  • Fixing Associativity in CF Grammars
  • Backus Normal Form Notation
  • Parse Trees
  • Syntax-Directed Definitions
  • Syntax-Directed Translation