public static ESeq decode_options(byte[] ops, int i) {
ESeq l = ERT.NIL;
for (; i < ops.length; i++) {
switch(ops[i]) {
case 'g': l = l.cons(EAtom.intern("global")); break;
case 'u': l = l.cons(EAtom.intern("unicode")); break;
case 'i': l = l.cons(EAtom.intern("caseless")); break;
case 'f': l = l.cons(EAtom.intern("firstline")); break;
case 'm': l = l.cons(EAtom.intern("multiline")); break;
case 's': l = l.cons(EAtom.intern("dotall")); break;
default: throw new RuntimeException("unsupported regex option '"+((char)ops[i])+"'");