Пример #1
0
func compileFilterSet(
	s string, pos int, parent *types.Filter) (int, error) {

	for pos < len(s) && s[pos] == '(' {
		child, newPos, err := compileFilter(s, pos+1)
		if err != nil {
			return pos, err
		}
		pos = newPos
		parent.Children = append(parent.Children, child)
	}

	if pos == len(s) {
		return pos, errUnexpectedEOF
	}

	return pos + 1, nil
}