// Package query implements query language for package query import ( "github.com/aptly-dev/aptly/deb" ) /* Query language resembling Debian dependencies and reprepro queries: http://mirrorer.alioth.debian.org/reprepro.1.html Query := A | A '|' Query A := B | B ',' A B := C | '!' B C := '(' Query ')' | D D := | __ field := | | $special_field condition := '(' value ')' | arch_condition := '{' arch '}' | operator := | << | < | <= | > | >> | >= | = | % | ~ */ // Parse parses input package query into PackageQuery tree ready for evaluation func Parse(query string) (result deb.PackageQuery, err error) { l, _ := lex("", query) result, err = parse(l) return }