s = remain();
Matcher m0 = P_HEREDOC_SIMBOL.matcher(s);
Matcher m1 = P_STANDARD_BLOCK.matcher(s);
if (m0.matches()) {
ctx().step(m0.group(1).length());
return new InvokeTagWithBodyToken(tagName, r.stringMatched(3), r.stringMatched(4), ctx());
} else if (m1.matches()) {
ctx().step(m1.group(1).length());
return new InvokeTagWithBodyToken(tagName, r.stringMatched(3), r.stringMatched(4), ctx());
} else {
return new InvokeTagToken(tagName, r.stringMatched(3), r.stringMatched(4), ctx());