Hi all,

As i planned to run some benchmarks on collection queries, i found the existing implementation of the query language in libxmmsclient a bit too limited to easily generate the queries i want to compare. That's what leaded me to write a Bison/Flex version of it. It is available here:

http://github.com/vdust/xmms2-coll-parser

There is still some things to fix, like with the EQUALS/MATCH operators, to behave the same way the parser in libxmmsclient does, but it mostly produces the same collection structures.

The following features (that are listed as FIXME in the code of xmmsclient) are implemented in this parser :

- in-string quoted parts, e.g.  hello"test here"world

- sequences produce an IdList instead of a Union of GT/LT, e.g. #1,2,5,3-6 => IdList: (1, 2, 3, 4, 5, 6)


The compilation script produces libxm-coll-parser.so along with a coll-test program that reads queries from its standard input and displays the generated collection in the same way nycli does. The coll-parser.h header contains functions similar to the one provided by libxmmsclient to parse a string. For now, the check-only mode does not make the economy of the collection generation.

See the README for more details, and the TODO file for planned extensions or improvements. You can also find me most of the time on the irc channel (nickname: vdust).

In the hope it can be useful to someone.

Best regards,
Raphaël Bois.

--
_______________________________________________
Xmms2-devel mailing list
Xmms2-devel@lists.xmms.se
http://lists.xmms.se/cgi-bin/mailman/listinfo/xmms2-devel

Reply via email to