if(slash) {
args.add(sb.toString());
Message m = new Message(runtime, "internal:createRegexp");
m.setLine(l);
m.setPosition(cc);
IokeObject mm = runtime.createMessage(m);
if(!name.equals("internal:createRegexp")) {
Message.setName(mm, name);
}
Message.setArguments(mm, args);
sb = new StringBuilder();
while(true) {
switch(rr = peek()) {
case 'x':
case 'i':
case 'u':
case 'm':
case 's':
read();
sb.append((char)rr);
break;
default:
args.add(sb.toString());
top.add(mm);
return;
}
}
} else {
sb.append((char)rr);
}
break;
case ']':
read();
if(!slash) {
args.add(sb.toString());
Message m = new Message(runtime, "internal:createRegexp");
m.setLine(l);
m.setPosition(cc);
IokeObject mm = runtime.createMessage(m);
if(!name.equals("internal:createRegexp")) {
Message.setName(mm, name);
}
Message.setArguments(mm, args);
sb = new StringBuilder();