Compile a format in format.go

This commit is contained in:
2026-09-29 15:27:21 +02:00
committed by Lillem4n
parent c2ac7bf843
commit ba43eb1c91
3 changed files with 10 additions and 13 deletions
+10
View File
@@ -434,6 +434,16 @@ func (c *formatOps) field(tok formatToken, refs map[string]refBinding) {
c.ops = append(c.ops, op{formatToken: tok, arms: arms})
}
// compileFormat compiles a format into ops, and applies the fences that need the
// compiled reads.
func compileFormat(toks []formatToken, refs map[string]refBinding) (formatOps, error) {
c := compileOps(toks, refs)
if err := checkNoOverlap(c); err != nil {
return c, err
}
return c, checkNoRepeatedRead(c)
}
// compileOps compiles a parsed format. Call checkTokens first: it is what proves
// every token valid.
func compileOps(toks []formatToken, refs map[string]refBinding) formatOps {