Compile a format in format.go
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user