func Parse(f string) ([]interface{}, error) {
	var out []interface{}
	for len(f) > 0 {
		if f[0] == '%' {
			v, n, err := ParseVerb(f)
			if err != nil {
				return nil, err
			}
			f = f[n:]
			out = append(out, v)
		} else {
			n := strings.IndexByte(f, '%')
			if n > -1 {
				out = append(out, f[:n])
				f = f[n:]
			} else {
				out = append(out, f)
				f = ""
			}
		}
	}

	return out, nil
}
func Parse(f string) ([]interface{}, error) {
	var out []interface{}
	for len(f) > 0 {
		if f[0] == '%' {
			v, n, err := ParseVerb(f)
			if err != nil {
				return nil, err
			}
			f = f[n:]
			out = append(out, v)
		} else {
			n := strings.IndexByte(f, '%')
			if n > -1 {
				out = append(out, f[:n])
				f = f[n:]
			} else {
				out = append(out, f)
				f = ""
			}
		}
	}

	return out, nil
}
func Parse ( f string ) ( [ ] interface { } , error ) { var out [ ] interface { } for len ( f ) > 0 { if f [ 0 ] == '%' { v , n , err := ParseVerb ( f ) if err != nil { return nil , err } f = f [ n : ] out = append ( out , v ) } else { n := strings . IndexByte ( f , '%' ) if n > - 1 { out = append ( out , f [ : n ] ) f = f [ n : ] } else { out = append ( out , f ) f = " " } } } return out , nil }
// Parse parses f and returns a list of actions.
// An action may either be a literal string, or a Verb.
Parse parses f and returns a list of actions . An action may either be a literal string or a Verb .