func fail(tok *scanner.Scanner, f string, a ...interface{}) { fmt.Println(tok.String(), ": ", fmt.Sprintf(f, a...)) os.Exit(2) }