I wrote a lot of that code, but I haven't seen that error before. It's certainly true that trying to pass a null or empty byte set to a bytesetmatcher would throw an illegal argument exception. The problem seems to be in astparser.
Two things I can think of. Astparser is an ANTLR derived parser. You should make sure you're using the same ANTLR runtime defined in Droid. Different versions might misbehave without regenerating the parser against that version.
The other thing is that the syntax spoken by byteseek is not identical to the Droid expression language. Some translation is required, which Droid generally handles.
I'm not sure whether sets are specified as [20:2f] or [20-2f]. I'll have to check the detailed syntax when I'm back home.
Regards
Matt