Skip to content

Split emitter into focused components #16

Description

@grian32

Problem

emitter.go is currently a large switch that mixes expression lowering, statement lowering, control flow, type conversion, imports, builtins, sizing, and user-facing validation.

Tasks

  • Split expression lowering from statement lowering.
  • Split type conversion/sizing helpers.
  • Split control-flow helpers.
  • Split import declaration emission.
  • Split builtin/std module hooks.
  • Remove semantic checks after checker owns them.
  • Add tests around behavior before/after refactor.

Ref: emitter/emitter.go.

Related: #4

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendLLVM/backend/code generationemitterEmitter/codegen implementationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions