Warning: session_start(): open(/var/lib/php/sessions/sess_fht517mbeo6el2ndbqmu7kbed4, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static CharacterClassIterator characterClassIteratorFromMiniRegexp_v1(S regexp, int i default 0) {
int l = l(regexp);
if (i >= l) ret new CCI_End;
char c = regexp.charAt(i);
// backslash (escaped character)
if (c == '\\' && i+1 < l)
ret CCI_SingleChar(s.charAt(i+1),
characterClassIteratorFromMiniRegexp_v1(regexp, i+2));
// optional character
if (i+1 < l && s.charAt(i+1) == '?') {
CharacterClassIterator rest = characterClassIteratorFromMiniRegexp_v1(regexp, i+2));
// TODO: coalesce choice objects when rest is already a choice?
new HashMap map; // TODO: optional comparator
fOr (char c : rest.acceptedChars())
map.put(c, rest);
// may override an assignment made above
map.put(c, new CCI_SingleChar(c, rest));
ret CCI_Choice(rest.canEndHere(), map);
}
// normal character
ret CCI_SingleChar(s.charAt(i),
characterClassIteratorFromMiniRegexp_v1(regexp, i+1));
}