# Intermediate code generation Execute the generation in a state monad and generate unique labels and temporary variable names.