+
+ // Flexible heredoc/nowdoc
+ ["<<<LABEL\nLABEL,", [
+ [Tokens::T_START_HEREDOC, "<<<LABEL\n"],
+ [Tokens::T_END_HEREDOC, "LABEL"],
+ [ord(','), ','],
+ ]],
+ ["<<<LABEL\n LABEL,", [
+ [Tokens::T_START_HEREDOC, "<<<LABEL\n"],
+ [Tokens::T_END_HEREDOC, " LABEL"],
+ [ord(','), ','],
+ ]],
+ ["<<<LABEL\n Foo\n LABEL;", [
+ [Tokens::T_START_HEREDOC, "<<<LABEL\n"],
+ [Tokens::T_ENCAPSED_AND_WHITESPACE, " Foo\n"],
+ [Tokens::T_END_HEREDOC, " LABEL"],
+ [ord(';'), ';'],
+ ]],
+ ["<<<A\n A,<<<A\n A,", [
+ [Tokens::T_START_HEREDOC, "<<<A\n"],
+ [Tokens::T_END_HEREDOC, " A"],
+ [ord(','), ','],
+ [Tokens::T_START_HEREDOC, "<<<A\n"],
+ [Tokens::T_END_HEREDOC, " A"],
+ [ord(','), ','],
+ ]],
+ ["<<<LABEL\nLABELNOPE\nLABEL\n", [
+ [Tokens::T_START_HEREDOC, "<<<LABEL\n"],
+ [Tokens::T_ENCAPSED_AND_WHITESPACE, "LABELNOPE\n"],
+ [Tokens::T_END_HEREDOC, "LABEL"],
+ ]],
+ // Interpretation changed
+ ["<<<LABEL\n LABEL\nLABEL\n", [
+ [Tokens::T_START_HEREDOC, "<<<LABEL\n"],
+ [Tokens::T_END_HEREDOC, " LABEL"],
+ [Tokens::T_STRING, "LABEL"],
+ ]],