Welcome to cse110a-notes’s documentation!¶

Contents:

  • Intro to Compilers
    • What is a Compiler?
    • What do they look like?
  • Intro to Haskell
  • Numbers, UnOps, Vars
    • Adder-1
      • The Runtime
      • The Compiler
        • Step 1: Types
        • Step 2: Transforms
    • Adder-2
      • Examples
      • Types
      • Parser
      • Transformer
      • Compile
    • Adder-3
    • Adder-4
      • Examples
        • Memory
      • Strategy
      • Types
      • Environments
  • Branches and Binary Operators
    • Branches
      • Examples
      • Assembly Control Flow
      • Strategy
      • Types
      • Transforms
        • Tags
        • CodeGen
    • Binary Operations
      • Examples
        • Administrative Normal Form (ANF)
      • Strategy
      • Types
        • ANF
      • Compiling
        • ANF -> ASM
        • Bare -> ANF
  • Data Representation
    • Plan
    • Types
    • Transforms
    • Arithmetic Operations
      • Strategy
      • Types
    • Arithmetic Comparisons
      • Types
    • Dynamic Checking
      • Strategy
      • Call Stack
      • Types
      • Transforms
        • Type Assertions
        • Errors
        • Stack Management
        • CountVars
  • Functions
    • Defining Functions
    • Types
      • Bindings
      • Programs/Declarations
    • Static Checking
      • Types
      • Pipeline
      • Catching Multiple Errors
    • Compiling
      • Tagging
      • Norm
      • CodeGen
        • Calls
      • Types
      • Implementation
    • Compiling Tail Calls
      • Transforms
        • Labeling Tail Calls
        • Compiling
  • Heap Data
    • Unbounded Structures
    • Pairs
      • Representation
        • Pointers
      • Construction
      • Allocation
      • Accessing
      • Implementation
        • Types
        • Transforms
    • N-ary Tuples
      • Construction
      • Accessing
      • Constructing Lists
      • Accessing Lists
  • Garbage Collection
    • Example 1
    • Example 2
    • Example 3
    • Example 4

Indices and tables¶

  • Index

  • Module Index

  • Search Page

cse110a-notes

Navigation

Contents:

  • Intro to Compilers
  • Intro to Haskell
  • Numbers, UnOps, Vars
  • Branches and Binary Operators
  • Data Representation
  • Functions
  • Heap Data
  • Garbage Collection

Related Topics

  • Documentation overview
    • Next: Intro to Compilers

Quick search

©2020, Andrew Zhu. | Powered by Sphinx 2.3.1 & Alabaster 0.7.12 | Page source