Skip to content

Latest commit

 

History

History
51 lines (42 loc) · 2.1 KB

README.md

File metadata and controls

51 lines (42 loc) · 2.1 KB

Compiler

This directory documents GOWDK compiler behavior, internal handoffs, and generated-output contracts.

Pipeline

.gwdk source
  -> shared tokenizer and parser
  -> typed source AST (`internal/gwdkast`)
  -> analyzed program records (`internal/gwdkanalysis`)
  -> compiler IR (`internal/gwdkir`)
  -> validation, discovery, and Go binding (`internal/compiler`)
  -> build and application generation (`internal/buildgen`, `internal/appgen`)
  -> go/format
  -> optional go build

internal/gwdkir.Program is the compiler handoff consumed by generated-output passes. The full package ownership and compatibility boundaries live in Architecture.

Contract Boundaries

Topic Source
Accepted language syntax Language Conformance
Source discovery and project layout Project Structure
Compiler phases Pipeline
Generated files and directories Generated Output
Browser runtime and islands Browser Compiler
Build-report schema Build Report
Public manifest output Reference Manifest
Cache-key model Incremental Cache Keys
Syntax-change checklist Syntax Contributor Checklist
Current product maturity Product Requirements

Compiler docs should describe observable contracts and stable handoffs. Avoid copying an exhaustive capability list from requirements or architecture; link to the owning document instead.

Maintenance Rules

  • A syntax change updates language docs, conformance coverage, diagnostics, IR, generation, and examples together.
  • A generated artifact change updates the generated-output, manifest, or build report contract that owns it.
  • A compiler boundary change updates architecture and usually requires an ADR.
  • A capability status change updates product requirements instead of adding a second status list here.