Files
ww/cmd/w6c/CLAUDE.md

762 B

w6c — amd64 compiler. Reads .ww, writes Plan 9 amd64 assembly (.s).

  • Plan 9 C style: tabs, K&R, short names. Mirror ref/plan9front/sys/src/cmd/8c/ and ref/plan9front/sys/src/cmd/cc/. Do not invent new data shapes — reuse Prog/Adr/Node/Sym/Type conventions.
  • Frontend (lex, parse, check) lives in ../wcc/ and links as libwcc.a. This directory owns codegen only.
  • gc.h is the per-target header (Plan 9 cc convention). cgen.c performs the current AST lowering into a Prog list, including switch lowering; txt.c emits the assembler text. There is no peephole or register-allocation pass yet.
  • The text output must be readable by w6a (the amd64 assembler under ../w6a/). When in doubt about syntax, run w6a on the output.