DialectBase d = (DialectBase) dialect();
IContext c = ctx();
Matcher m = P.matcher(remain());
if (m.matches()) {
String s = m.group(1);
IParser p = d.createBuildInParser(s, c);
if (null != p) {
Token tb = p.go();
if (null != tb) return F.T2(p, tb);
}
}
for (IParserFactory f : d.freeParsers()) {
IParser p = f.create(c);
Token tb = p.go();
if (null != tb) return F.T2(p, tb);
}
return null;
}