diff --git a/Text/Yaml/Reference.bnf b/Text/Yaml/Reference.bnf
--- a/Text/Yaml/Reference.bnf
+++ b/Text/Yaml/Reference.bnf
@@ -47,87 +47,89 @@
                      / c_literal / c_folded / c_single_quote / c_double_quote
                      / c_directive / c_reserved
 
+c_flow_indicator {- 22 -} = c_collect_entry / c_sequence_start / c_sequence_end / c_mapping_start  / c_mapping_end
+
 -- 5.4 Line Break Characters
 
-b_line_feed           {- 22 -} = '\xA'
-b_carriage_return     {- 23 -} = '\xD'
-b_next_line           {- 24 -} = '\x85'
-b_line_separator      {- 25 -} = '\x2028'
-b_paragraph_separator {- 26 -} = '\x2029'
+b_line_feed           {- 23 -} = '\xA'
+b_carriage_return     {- 24 -} = '\xD'
+b_next_line           {- 25 -} = '\x85'
+b_line_separator      {- 26 -} = '\x2028'
+b_paragraph_separator {- 27 -} = '\x2029'
 
-b_char {- 27 -} = b_line_feed / b_carriage_return / b_next_line
+b_char {- 28 -} = b_line_feed / b_carriage_return / b_next_line
                 / b_line_separator / b_paragraph_separator
 
-nb_char {- 28 -} = c_printable - b_char
+nb_char {- 29 -} = c_printable - b_char
 
-b_specific {- 29 -} = ( b_line_separator / b_paragraph_separator )
+b_specific {- 30 -} = ( b_line_separator / b_paragraph_separator )
                     & nextLine
 
-b_generic {- 30 -} = ( b_carriage_return & b_line_feed
+b_generic {- 31 -} = ( b_carriage_return & b_line_feed
                      / b_carriage_return
                      / b_line_feed
                      / b_next_line )
                    & nextLine
 
-b_as_line_feed {- 31 -} = token LineFeed b_generic
-b_normalized   {- 32 -} = b_as_line_feed / token Break b_specific
+b_as_line_feed {- 32 -} = token LineFeed b_generic
+b_normalized   {- 33 -} = b_as_line_feed / token Break b_specific
 
-b_non_content_generic {- 33 -} = token Continue b_generic
+b_non_content_generic {- 34 -} = token Continue b_generic
 
-b_non_content_any {- 34 -} = b_non_content_generic / token Continue b_specific
+b_non_content_any {- 35 -} = b_non_content_generic / token Continue b_specific
 
 -- 5.5 White Space Characters
 
-s_space {- 35 -} = '\x20'
-s_tab   {- 36 -} = '\x9'
-s_white {- 37 -} = s_space / s_tab
+s_space {- 36 -} = '\x20'
+s_tab   {- 37 -} = '\x9'
+s_white {- 38 -} = s_space / s_tab
 
-ns_char {- 38 -} = nb_char - s_white
+ns_char {- 39 -} = nb_char - s_white
 
 -- 5.6 Miscellaneous Characters
 
-ns_dec_digit {- 39 -} = ('\x30', '\x39')
+ns_dec_digit {- 40 -} = ('\x30', '\x39')
 
-ns_hex_digit {- 40 -} = ns_dec_digit
+ns_hex_digit {- 41 -} = ns_dec_digit
                       / ('\x41', '\x46') / ('\x61', '\x66')
 
-ns_ascii_letter {- 41 -} = ('\x41', '\x5A') / ('\x61', '\x7A')
+ns_ascii_letter {- 42 -} = ('\x41', '\x5A') / ('\x61', '\x7A')
 
-ns_word_char {- 42 -} = ns_dec_digit / ns_ascii_letter / '-'
+ns_word_char {- 43 -} = ns_dec_digit / ns_ascii_letter / '-'
 
-ns_uri_char {- 43 -} = "escape"
+ns_uri_char {- 44 -} = "escape"
                      ^ ( ns_word_char
                        / '%' ! "escape" & ns_hex_digit & ns_hex_digit
                        / ';' / '/' / '?' / ':' / '@' / '&'  / '=' / '+' / '$' / ','
                        / '_' / '.' / '!' / '~' / '*' / '\'' / '(' / ')' / '[' / ']' )
 
-ns_tag_char {- 44 -} = ns_uri_char - c_tag
+ns_tag_char {- 45 -} = ns_uri_char - c_tag - c_flow_indicator
 
 -- 5.7 Escaped Characters
 
-c_escape {- 45 -} = indicator '\\'
+c_escape {- 46 -} = indicator '\\'
 
-ns_esc_null                {- 46 -} = meta '0'
-ns_esc_bell                {- 47 -} = meta 'a'
-ns_esc_backspace           {- 48 -} = meta 'b'
-ns_esc_horizontal_tab      {- 49 -} = meta ( 't' / '\x9' )
-ns_esc_line_feed           {- 50 -} = meta 'n'
-ns_esc_vertical_tab        {- 51 -} = meta 'v'
-ns_esc_form_feed           {- 52 -} = meta 'f'
-ns_esc_carriage_return     {- 53 -} = meta 'r'
-ns_esc_escape              {- 54 -} = meta 'e'
-ns_esc_space               {- 55 -} = meta '\x20'
-ns_esc_double_quote        {- 56 -} = meta '"'
-ns_esc_backslash           {- 57 -} = meta '\\'
-ns_esc_next_line           {- 58 -} = meta 'N'
-ns_esc_non_breaking_space  {- 59 -} = meta '_'
-ns_esc_line_separator      {- 60 -} = meta 'L'
-ns_esc_paragraph_separator {- 61 -} = meta 'P'
-ns_esc_8_bit               {- 62 -} = indicator 'x' ! "escaped" & meta ( ns_hex_digit % 2 )
-ns_esc_16_bit              {- 63 -} = indicator 'u' ! "escaped" & meta ( ns_hex_digit % 4 )
-ns_esc_32_bit              {- 64 -} = indicator 'U' ! "escaped" & meta ( ns_hex_digit % 8 )
+ns_esc_null                {- 47 -} = meta '0'
+ns_esc_bell                {- 48 -} = meta 'a'
+ns_esc_backspace           {- 49 -} = meta 'b'
+ns_esc_horizontal_tab      {- 50 -} = meta ( 't' / '\x9' )
+ns_esc_line_feed           {- 51 -} = meta 'n'
+ns_esc_vertical_tab        {- 52 -} = meta 'v'
+ns_esc_form_feed           {- 53 -} = meta 'f'
+ns_esc_carriage_return     {- 54 -} = meta 'r'
+ns_esc_escape              {- 55 -} = meta 'e'
+ns_esc_space               {- 56 -} = meta '\x20'
+ns_esc_double_quote        {- 57 -} = meta '"'
+ns_esc_backslash           {- 58 -} = meta '\\'
+ns_esc_next_line           {- 59 -} = meta 'N'
+ns_esc_non_breaking_space  {- 60 -} = meta '_'
+ns_esc_line_separator      {- 61 -} = meta 'L'
+ns_esc_paragraph_separator {- 62 -} = meta 'P'
+ns_esc_8_bit               {- 63 -} = indicator 'x' ! "escaped" & meta ( ns_hex_digit % 2 )
+ns_esc_16_bit              {- 64 -} = indicator 'u' ! "escaped" & meta ( ns_hex_digit % 4 )
+ns_esc_32_bit              {- 65 -} = indicator 'U' ! "escaped" & meta ( ns_hex_digit % 8 )
 
-c_ns_esc_char {- 65 -} = nest BeginEscape
+c_ns_esc_char {- 66 -} = nest BeginEscape
               & c_escape ! "escape"
               & "escaped"
               ^ ( ns_esc_null
@@ -153,73 +155,73 @@
 
 -- 6.1 Indentation Spaces
 
-s_indent    n {- 66 -} = token Indent ( s_space % n )
+s_indent    n {- 67 -} = token Indent ( s_space % n )
 
-s_indent_lt n {- 67 -} = token Indent ( s_space <% n )
-s_indent_le n {- 68 -} = token Indent ( s_space <% (n .+ 1) )
+s_indent_lt n {- 68 -} = token Indent ( s_space <% n )
+s_indent_le n {- 69 -} = token Indent ( s_space <% (n .+ 1) )
 
 -- 6.2 Separation Spaces
 
-s_separate_in_line {- 69 -} = token White ( s_white +) / sol
+s_separate_in_line {- 70 -} = token White ( s_white +) / sol
 
 -- 6.3 Line Prefixes
 
-s_line_prefix n c {- 70 -} = case c of
+s_line_prefix n c {- 71 -} = case c of
                                   BlockOut -> s_block_line_prefix n
                                   BlockIn  -> s_block_line_prefix n
                                   FlowOut  -> s_flow_line_prefix n
                                   FlowIn   -> s_flow_line_prefix n
 
-s_block_line_prefix n {- 71 -} = s_indent n
-s_flow_line_prefix  n {- 72 -} = s_indent n & ( s_separate_in_line ?)
+s_block_line_prefix n {- 72 -} = s_indent n
+s_flow_line_prefix  n {- 73 -} = s_indent n & ( s_separate_in_line ?)
 
 -- 6.4 Empty Lines
 
-l_empty n c {- 73 -} = ( s_line_prefix n c / s_indent_lt n )
+l_empty n c {- 74 -} = ( s_line_prefix n c / s_indent_lt n )
                      & b_normalized
 
 -- 6.5 Comments
 
-c_nb_comment_text {- 74 -} = nest BeginComment
+c_nb_comment_text {- 75 -} = nest BeginComment
                            & c_comment & meta ( nb_char *)
                            & nest EndComment
 
-s_b_comment {- 75 -} = ( s_separate_in_line & ( c_nb_comment_text ?) ?)
+s_b_comment {- 76 -} = ( s_separate_in_line & ( c_nb_comment_text ?) ?)
                      & b_non_content_any
 
-l_comment {- 76 -} = s_separate_in_line & ( c_nb_comment_text ?) & b_non_content_any
+l_comment {- 77 -} = s_separate_in_line & ( c_nb_comment_text ?) & b_non_content_any
 
-s_l_comments {- 77 -} = ( s_b_comment / sol )
+s_l_comments {- 78 -} = ( s_b_comment / sol )
                       & ( l_comment *)
 
 -- 6.6 Separation Lines
 
-s_separate n c      {- 78 -} = case c of
+s_separate n c      {- 79 -} = case c of
                                     BlockOut -> s_separate_lines n
                                     BlockIn  -> s_separate_lines n
                                     FlowOut  -> s_separate_lines n
                                     FlowIn   -> s_separate_lines n
                                     FlowKey  -> s_separate_in_line
-s_separate_lines n {- 79 -} = s_l_comments & s_flow_line_prefix n
+s_separate_lines n {- 80 -} = s_l_comments & s_flow_line_prefix n
                             / s_separate_in_line
 
 -- 6.7 Line Folding
 
-b_l_folded_specific n c {- 80 -} = token Break b_specific & ( l_empty n c *)
+b_l_folded_specific n c {- 81 -} = token Break b_specific & ( l_empty n c *)
 
-b_l_folded_trimmed  n c {- 81 -} = b_non_content_generic & ( l_empty n c +)
+b_l_folded_trimmed  n c {- 82 -} = b_non_content_generic & ( l_empty n c +)
 
-b_l_folded_as_space {-  82 -} = token LineFold b_generic
+b_l_folded_as_space {-  83 -} = token LineFold b_generic
 
-b_l_folded_any n c  {-  83 -} = b_l_folded_specific n c
+b_l_folded_any n c  {-  84 -} = b_l_folded_specific n c
                               / b_l_folded_trimmed n c
                               / b_l_folded_as_space
 
-s_l_flow_folded n {-  84 -} = ( s_separate_in_line ?) & b_l_folded_any n FlowIn
+s_l_flow_folded n {-  85 -} = ( s_separate_in_line ?) & b_l_folded_any n FlowIn
 
 -- 6.8 Directives
 
-l_directive {-  85 -} = nest BeginDirective
+l_directive {-  86 -} = nest BeginDirective
                       & c_directive
                       & "directive"
                       ^ ( ns_yaml_directive
@@ -228,54 +230,54 @@
                       & nest EndDirective
                       & s_l_comments
 
-ns_reserved_directive  {-  86 -} = ns_directive_name
+ns_reserved_directive  {-  87 -} = ns_directive_name
                                  & ( s_separate_in_line & ns_directive_parameter *)
-ns_directive_name      {-  87 -} = meta ( ns_char +)
-ns_directive_parameter {-  88 -} = meta ( ns_char +)
+ns_directive_name      {-  88 -} = meta ( ns_char +)
+ns_directive_parameter {-  89 -} = meta ( ns_char +)
 
 -- 6.8.1 Yaml Directives
 
-ns_yaml_directive {-  89 -} = meta [ 'Y', 'A', 'M', 'L' ] ! "directive"
+ns_yaml_directive {-  90 -} = meta [ 'Y', 'A', 'M', 'L' ] ! "directive"
                             & s_separate_in_line & ns_yaml_version
-ns_yaml_version   {-  90 -} = meta ( ( ns_dec_digit +) & '.' & ( ns_dec_digit +) )
+ns_yaml_version   {-  91 -} = meta ( ( ns_dec_digit +) & '.' & ( ns_dec_digit +) )
 
 -- 6.8.2 Tag Directives
 
-ns_tag_directive {-  91 -} = meta [ 'T', 'A', 'G' ] ! "directive"
+ns_tag_directive {-  92 -} = meta [ 'T', 'A', 'G' ] ! "directive"
                            & s_separate_in_line & c_tag_handle
                            & s_separate_in_line & ns_tag_prefix
 
 -- 6.8.2.1 Tag Handles
 
-c_tag_handle {-  92 -} = c_named_tag_handle
+c_tag_handle {-  93 -} = c_named_tag_handle
                        / c_secondary_tag_handle
                        / c_primary_tag_handle
 
-c_primary_tag_handle   {-  93 -} = nest BeginHandle
+c_primary_tag_handle   {-  94 -} = nest BeginHandle
                                  & c_tag
                                  & nest EndHandle
 
-c_secondary_tag_handle {-  94 -} = nest BeginHandle
+c_secondary_tag_handle {-  95 -} = nest BeginHandle
                                  & c_tag & c_tag
                                  & nest EndHandle
 
-c_named_tag_handle     {-  95 -} = nest BeginHandle
+c_named_tag_handle     {-  96 -} = nest BeginHandle
                                  & c_tag & meta ( ns_word_char +) & c_tag
                                  & nest EndHandle
 
 -- 6.8.2.2 Tag Prefixes
 
-ns_tag_prefix {-  96 -} = nest BeginTag
+ns_tag_prefix {-  97 -} = nest BeginTag
                         & ( c_ns_local_tag_prefix / ns_global_tag_prefix )
                         & nest EndTag
 
-c_ns_local_tag_prefix {-  97 -} = c_tag & meta ( ns_uri_char *)
+c_ns_local_tag_prefix {-  98 -} = c_tag & meta ( ns_uri_char *)
 
-ns_global_tag_prefix  {-  98 -} = meta ( ns_tag_char & ( ns_uri_char *) )
+ns_global_tag_prefix  {-  99 -} = meta ( ns_tag_char & ( ns_uri_char *) )
 
 -- 6.9 Node Properties
 
-c_ns_properties n c {-  99 -} = nest BeginProperties
+c_ns_properties n c {-  100 -} = nest BeginProperties
                               & ( ( c_ns_tag_property
                                   & ( s_separate n c & c_ns_anchor_property ?) )
                                 / ( c_ns_anchor_property
@@ -284,187 +286,187 @@
 
 -- 6.9.1 Node Tags
 
-c_ns_tag_property {- 100 -} = nest BeginTag
+c_ns_tag_property {- 101 -} = nest BeginTag
                             & ( c_verbatim_tag
                               / c_ns_shorthand_tag
                               / c_non_specific_tag )
                             & nest EndTag
 
-c_verbatim_tag     {- 101 -} = c_tag & indicator '<' & meta ( ns_uri_char +) & indicator '>'
+c_verbatim_tag     {- 102 -} = c_tag & indicator '<' & meta ( ns_uri_char +) & indicator '>'
 
-c_ns_shorthand_tag {- 102 -} = c_named_tag_handle & meta ( ns_uri_char +)
-                             / c_secondary_tag_handle & meta ( ns_uri_char +)
+c_ns_shorthand_tag {- 103 -} = c_named_tag_handle & meta ( ns_tag_char +)
+                             / c_secondary_tag_handle & meta ( ns_tag_char +)
                              / c_primary_tag_handle & meta ( ns_tag_char +)
 
-c_non_specific_tag {- 103 -} = c_tag
+c_non_specific_tag {- 104 -} = c_tag
 
 -- 6.9.2 Node Anchors
 
-c_ns_anchor_property {- 104 -} = nest BeginAnchor
+c_ns_anchor_property {- 105 -} = nest BeginAnchor
                                & c_anchor & ns_anchor_name
                                & nest EndAnchor
 
-ns_anchor_char {- 105 -} = ns_char - ( c_collect_entry / c_sequence_start / c_sequence_end / c_mapping_start  / c_mapping_end )
-ns_anchor_name {- 106 -} = meta ( ns_anchor_char +)
+ns_anchor_char {- 106 -} = ns_char - c_flow_indicator
+ns_anchor_name {- 107 -} = meta ( ns_anchor_char +)
 
 -- 7.1 Alias Nodes
 
-c_ns_alias_node {- 107 -} = nest BeginAlias
+c_ns_alias_node {- 108 -} = nest BeginAlias
                           & c_alias ! "node" & ns_anchor_name
                           & nest EndAlias
 
 -- 7.2 Empty Nodes
 
-e_scalar {- 108 -} = nest BeginScalar & nest EndScalar
+e_scalar {- 109 -} = nest BeginScalar & nest EndScalar
 
-e_node {- 109 -} = nest BeginNode & e_scalar & nest EndNode
+e_node {- 110 -} = nest BeginNode & e_scalar & nest EndNode
 
 -- 7.3.1 Double Quoted Style
 
-nb_double_char {- 110 -} = "escape" ^ ( nb_char - c_escape - c_double_quote / c_ns_esc_char )
-ns_double_char {- 111 -} = nb_double_char - s_white
+nb_double_char {- 111 -} = "escape" ^ ( nb_char - c_escape - c_double_quote / c_ns_esc_char )
+ns_double_char {- 112 -} = nb_double_char - s_white
 
-c_double_quoted n c {- 112 -} = nest BeginScalar
+c_double_quoted n c {- 113 -} = nest BeginScalar
                               & c_double_quote ! "node" & text ( nb_double_text n c ) & c_double_quote
                               & nest EndScalar
-nb_double_text n c  {- 113 -} = case c of
+nb_double_text n c  {- 114 -} = case c of
                                      FlowOut -> nb_double_multi_line n
                                      FlowIn  -> nb_double_multi_line n
                                      FlowKey -> nb_double_one_line
-nb_double_one_line  {- 114 -} = ( nb_double_char *)
+nb_double_one_line  {- 115 -} = ( nb_double_char *)
 
-s_l_double_escaped n {- 115 -} = ( s_white *)
+s_l_double_escaped n {- 116 -} = ( s_white *)
                                & nest BeginEscape
                                & c_escape ! "escape" & b_non_content_any
                                & nest EndEscape
                                & ( l_empty n FlowIn *)
-s_l_double_any n     {- 116 -} = "escape" ^ ( s_l_double_escaped n / s_l_flow_folded n )
+s_l_double_any n     {- 117 -} = "escape" ^ ( s_l_double_escaped n / s_l_flow_folded n )
 
-nb_ns_double_in_line    {- 117 -} = ( ( s_white *) & ns_double_char *)
-s_ns_double_next_line n {- 118 -} = s_l_double_any n
+nb_ns_double_in_line    {- 118 -} = ( ( s_white *) & ns_double_char *)
+s_ns_double_next_line n {- 119 -} = s_l_double_any n
                                   & s_flow_line_prefix n
                                   & ns_double_char & nb_ns_double_in_line
-nb_double_multi_line n  {- 119 -} = nb_ns_double_in_line
+nb_double_multi_line n  {- 120 -} = nb_ns_double_in_line
                                   & ( s_ns_double_next_line n *)
                                   & ( s_white *)
 
 -- 7.3.2 Single Quoted Style
 
-c_quoted_quote {- 120 -} = nest BeginEscape
+c_quoted_quote {- 121 -} = nest BeginEscape
                          & c_single_quote ! "escape" & meta '\''
                          & nest EndEscape
-nb_single_char {- 121 -} = "escape" ^ ( nb_char - c_single_quote / c_quoted_quote )
-ns_single_char {- 122 -} = nb_single_char - s_white
+nb_single_char {- 122 -} = "escape" ^ ( nb_char - c_single_quote / c_quoted_quote )
+ns_single_char {- 123 -} = nb_single_char - s_white
 
-c_single_quoted  n c {- 123 -}= nest BeginScalar
+c_single_quoted  n c {- 124 -}= nest BeginScalar
                               & c_single_quote & text ( nb_single_text n c ) & c_single_quote
                               & nest EndScalar
-nb_single_text n c {- 124 -} = case c of
+nb_single_text n c {- 125 -} = case c of
                                     FlowOut -> nb_single_multi_line n
                                     FlowIn  -> nb_single_multi_line n
                                     FlowKey -> nb_single_one_line
-nb_single_one_line {- 125 -} = ( nb_single_char *)
+nb_single_one_line {- 126 -} = ( nb_single_char *)
 
-nb_ns_single_in_line    {- 126 -} = ( ( s_white *) & ns_single_char *)
-s_ns_single_next_line n {- 127 -} = s_l_flow_folded n
+nb_ns_single_in_line    {- 127 -} = ( ( s_white *) & ns_single_char *)
+s_ns_single_next_line n {- 128 -} = s_l_flow_folded n
                                   & s_flow_line_prefix n
                                   & ns_single_char & nb_ns_single_in_line
-nb_single_multi_line n  {- 128 -} = ( nb_ns_single_in_line *)
+nb_single_multi_line n  {- 129 -} = ( nb_ns_single_in_line *)
                                   & ( s_ns_single_next_line n *)
                                   & ( s_white *)
 
 -- 7.3.3 Plain Style
 
-ns_plain_first c  {- 129 -} = ns_char - c_indicator
+ns_plain_first c  {- 130 -} = ns_char - c_indicator
                             / ( ':' / '?' / '-' ) & ( ns_char >?)
 
-ns_plain_safe c   {- 130 -} = case c of
+ns_plain_safe c   {- 131 -} = case c of
                                    FlowOut -> ns_plain_safe_out
                                    FlowIn  -> ns_plain_safe_in
                                    FlowKey -> ns_plain_safe_in
-ns_plain_safe_out {- 131 -} = ns_char - c_mapping_value - c_comment
-ns_plain_safe_in   {- 132 -}= ns_plain_safe_out - ( c_collect_entry / c_sequence_start / c_sequence_end / c_mapping_start  / c_mapping_end )
-ns_plain_char c   {- 133 -} = ns_plain_safe c
+ns_plain_safe_out {- 132 -} = ns_char - c_mapping_value - c_comment
+ns_plain_safe_in   {- 133 -}= ns_plain_safe_out - c_flow_indicator
+ns_plain_char c   {- 134 -} = ns_plain_safe c
                             / ( ns_char <?) & '#'
                             / ':' & ( ns_char >?)
-nb_plain_char c   {- 134 -} = s_white / ns_plain_char c
+nb_plain_char c   {- 135 -} = s_white / ns_plain_char c
 
-ns_plain n c          {- 135 -} = nest BeginScalar
+ns_plain n c          {- 136 -} = nest BeginScalar
                                 & text (case c of
                                               FlowOut -> ns_plain_multi_line n c
                                               FlowIn  -> ns_plain_multi_line n c
                                               FlowKey -> ns_plain_one_line c)
                                 & nest EndScalar
-nb_ns_plain_in_line c {- 136 -} = ( ( s_white *) & ns_plain_char c *)
-ns_plain_one_line c   {- 137 -} = ns_plain_first c ! "node" & nb_ns_plain_in_line c
+nb_ns_plain_in_line c {- 137 -} = ( ( s_white *) & ns_plain_char c *)
+ns_plain_one_line c   {- 138 -} = ns_plain_first c ! "node" & nb_ns_plain_in_line c
 
-s_ns_plain_next_line n c {- 138 -} = s_l_flow_folded n
+s_ns_plain_next_line n c {- 139 -} = s_l_flow_folded n
                                    & s_flow_line_prefix n
                                    & ns_plain_char c & nb_ns_plain_in_line c
-ns_plain_multi_line n c  {- 139 -} = ns_plain_one_line c & ( s_ns_plain_next_line n c *)
+ns_plain_multi_line n c  {- 140 -} = ns_plain_one_line c & ( s_ns_plain_next_line n c *)
 
 -- 7.4 Flow Collection Styles
 
-in_flow c {- 140 -} = case c of
+in_flow c {- 141 -} = case c of
                            FlowOut -> FlowIn
                            FlowIn  -> FlowIn
                            FlowKey -> FlowKey
 
 -- 7.4.1 Flow Sequences
 
-c_flow_sequence n c {- 141 -} = nest BeginSequence
+c_flow_sequence n c {- 142 -} = nest BeginSequence
                               & c_sequence_start ! "node" & ( s_separate n c ?)
                               & ( ns_s_flow_seq_entries n (in_flow c) ?) & c_sequence_end
                               & nest EndSequence
 
-ns_s_flow_seq_entries n c {- 142 -} = ns_flow_seq_entry n c & ( s_separate n c ?)
+ns_s_flow_seq_entries n c {- 143 -} = ns_flow_seq_entry n c & ( s_separate n c ?)
                                     & ( c_collect_entry & ( s_separate n c ?)
                                       & ( ns_s_flow_seq_entries n c ?) ?)
 
-ns_flow_seq_entry n c {- 143 -} = "pair" ^ ( ns_flow_pair n c / "node" ^ ns_flow_node n c )
+ns_flow_seq_entry n c {- 144 -} = "pair" ^ ( ns_flow_pair n c / "node" ^ ns_flow_node n c )
 
 -- 7.4.2 Flow Mappings
 
-c_flow_mapping n c        {- 144 -} = nest BeginMapping
+c_flow_mapping n c        {- 145 -} = nest BeginMapping
                                     & c_mapping_start ! "node" & ( s_separate n c ?)
                                     & ( ns_s_flow_map_entries n (in_flow c) ?) & c_mapping_end
                                     & nest EndMapping
-ns_s_flow_map_entries n c {- 145 -} = ns_flow_map_entry n c & ( s_separate n c ?)
+ns_s_flow_map_entries n c {- 146 -} = ns_flow_map_entry n c & ( s_separate n c ?)
                                     & ( c_collect_entry & ( s_separate n c ?)
                                       & ( ns_s_flow_map_entries n c ?) ?)
 
-ns_flow_map_entry n c {- 146 -}          = nest BeginPair
+ns_flow_map_entry n c {- 147 -}          = nest BeginPair
                                          & "key" ^ ( c_mapping_key ! "key" & s_separate n c
                                                    & ns_flow_map_explicit_entry n c
                                          / ns_flow_map_implicit_entry n c )
                                          & nest EndPair
-ns_flow_map_explicit_entry n c {- 147 -} = ns_flow_map_implicit_entry n c
+ns_flow_map_explicit_entry n c {- 148 -} = ns_flow_map_implicit_entry n c
                                          / e_node
                                          & e_node
 
-ns_flow_map_implicit_entry n c {- 148 -}    = "pair"
+ns_flow_map_implicit_entry n c {- 149 -}    = "pair"
                                             ^ ( ns_flow_map_yaml_key_entry n c
                                               / c_ns_flow_map_empty_key_entry n c
                                               / c_ns_flow_map_json_key_entry n c )
-ns_flow_map_yaml_key_entry n c {- 149 -}    = ( "node" ^ ns_flow_yaml_node n c ) ! "pair"
+ns_flow_map_yaml_key_entry n c {- 150 -}    = ( "node" ^ ns_flow_yaml_node n c ) ! "pair"
                                             & (   ( s_separate n c ?)
                                                 & c_ns_flow_map_separate_value n c
                                               / e_node )
-c_ns_flow_map_empty_key_entry n c {- 150 -} = e_node
+c_ns_flow_map_empty_key_entry n c {- 151 -} = e_node
                                             & c_ns_flow_map_separate_value n c
-c_ns_flow_map_separate_value n c {- 151 -}  = c_mapping_value ! "pair"
+c_ns_flow_map_separate_value n c {- 152 -}  = c_mapping_value ! "pair"
                                             & ( s_separate n c & ns_flow_node n c
                                               / e_node )
 
-c_ns_flow_map_json_key_entry n c {- 152 -} = ( "node" ^ c_flow_json_node n c ) ! "pair"
+c_ns_flow_map_json_key_entry n c {- 153 -} = ( "node" ^ c_flow_json_node n c ) ! "pair"
                                            & (   ( s_separate n c ?)
                                                & c_ns_flow_map_adjacent_value n c
                                              / e_node )
-c_ns_flow_map_adjacent_value n c {- 153 -} = c_mapping_value ! "pair" & (   ( s_separate n c ?)
+c_ns_flow_map_adjacent_value n c {- 154 -} = c_mapping_value ! "pair" & (   ( s_separate n c ?)
                                                                           & ns_flow_node n c
                                                                         / e_node )
 
-ns_flow_pair n c {- 154 -} = nest BeginMapping
+ns_flow_pair n c {- 155 -} = nest BeginMapping
                            & nest BeginPair
                            & ( c_mapping_key ! "pair" & s_separate n c
                              & ns_flow_map_explicit_entry n c
@@ -472,40 +474,40 @@
                            & nest EndPair
                            & nest EndMapping
 
-ns_flow_pair_entry n c            {- 155 -} = "entry"
+ns_flow_pair_entry n c            {- 156 -} = "entry"
                                             ^ ( ns_flow_pair_yaml_key_entry n c
                                               / c_ns_flow_map_empty_key_entry n c
                                               / c_ns_flow_pair_json_key_entry n c )
-ns_flow_pair_yaml_key_entry n c   {- 156 -} = ns_s_implicit_yaml_key
+ns_flow_pair_yaml_key_entry n c   {- 157 -} = ns_s_implicit_yaml_key
                                             & c_ns_flow_map_separate_value n c
-c_ns_flow_pair_json_key_entry n c {- 157 -} = c_s_implicit_json_key
+c_ns_flow_pair_json_key_entry n c {- 158 -} = c_s_implicit_json_key
                                             & c_ns_flow_map_adjacent_value n c
-ns_s_implicit_yaml_key            {- 158 -} = ( "node" ^ ( ns_flow_yaml_node na FlowKey )
+ns_s_implicit_yaml_key            {- 159 -} = ( "node" ^ ( ns_flow_yaml_node na FlowKey )
                                               & ( s_separate_in_line ?) )
                                             `limitedTo` 1024
-c_s_implicit_json_key             {- 159 -} = ( "node" ^ ( c_flow_json_node  na FlowKey )
+c_s_implicit_json_key             {- 160 -} = ( "node" ^ ( c_flow_json_node  na FlowKey )
                                               & ( s_separate_in_line ?) )
                                             `limitedTo` 1024
 
 -- 7.5 Flow Nodes
 
-ns_flow_yaml_content n c {- 160 -} = ns_plain n c
-c_flow_json_content n c  {- 161 -} = c_flow_sequence n c / c_flow_mapping n c
+ns_flow_yaml_content n c {- 161 -} = ns_plain n c
+c_flow_json_content n c  {- 162 -} = c_flow_sequence n c / c_flow_mapping n c
                                    / c_single_quoted n c / c_double_quoted n c
-ns_flow_content n c      {- 162 -} = ns_flow_yaml_content n c / c_flow_json_content n c
+ns_flow_content n c      {- 163 -} = ns_flow_yaml_content n c / c_flow_json_content n c
 
-ns_flow_yaml_node n c {- 163 -} = nest BeginNode
+ns_flow_yaml_node n c {- 164 -} = nest BeginNode
                                 & ( c_ns_alias_node
                                   / ns_flow_yaml_content n c
                                   / ( c_ns_properties n c
                                     & ( s_separate n c & ns_flow_yaml_content n c
                                       / e_scalar ) ) )
                                 & nest EndNode
-c_flow_json_node n c  {- 164 -} = nest BeginNode
+c_flow_json_node n c  {- 165 -} = nest BeginNode
                                 & ( c_ns_properties n c & s_separate n c ?)
                                 & c_flow_json_content n c
                                 & nest EndNode
-ns_flow_node n c      {- 165 -} = nest BeginNode
+ns_flow_node n c      {- 166 -} = nest BeginNode
                                 & ( c_ns_alias_node
                                   / ns_flow_content n c
                                   / ( c_ns_properties n c
@@ -515,7 +517,7 @@
 
 -- 8.1.1 Block Scalar Headers
 
-c_b_block_header n {- 166 -} = "header"
+c_b_block_header n {- 167 -} = "header"
                              ^ ( do m <- c_indentation_indicator n
                                     t <- c_chomping_indicator
                                     ( s_white / b_char ) ?! "header"
@@ -528,7 +530,7 @@
 
 -- 8.1.1.1 Block Indentation Indicator
 
-c_indentation_indicator n {- 167 -} = indicator ( ns_dec_digit - '0' ) & asInteger
+c_indentation_indicator n {- 168 -} = indicator ( ns_dec_digit - '0' ) & asInteger
                                     / detect_scalar_indentation n
 
 detect_scalar_indentation n = peek $ ( nb_char *)
@@ -540,67 +542,67 @@
 
 -- 8.1.1.2 Chomping Indicator
 
-c_chomping_indicator {- 168 -} = indicator '-' & result Strip
+c_chomping_indicator {- 169 -} = indicator '-' & result Strip
                                / indicator '+' ! "header" & result Keep
                                / result Clip
 
-b_chomped_last t {- 169 -} = case t of
+b_chomped_last t {- 170 -} = case t of
                                   Strip -> nest EndScalar & b_non_content_any
                                   Clip  -> b_normalized & nest EndScalar
                                   Keep  -> b_normalized
 
-l_chomped_empty n t {- 170 -} = case t of
+l_chomped_empty n t {- 171 -} = case t of
                                      Strip -> l_strip_empty n
                                      Clip  -> l_strip_empty n
                                      Keep  -> l_keep_empty n
-l_strip_empty n     {- 171 -} = ( s_indent_le n & b_non_content_any *)
+l_strip_empty n     {- 172 -} = ( s_indent_le n & b_non_content_any *)
                               & ( l_trail_comments n ?)
-l_keep_empty n      {- 172 -} = ( l_empty n BlockIn *)
+l_keep_empty n      {- 173 -} = ( l_empty n BlockIn *)
                               & nest EndScalar
                               & ( l_trail_comments n ?)
 
-l_trail_comments n {- 173 -} = s_indent_lt n & c_nb_comment_text & b_non_content_any
+l_trail_comments n {- 174 -} = s_indent_lt n & c_nb_comment_text & b_non_content_any
                              & ( l_comment *)
 
 -- 8.1.2 Literal Style
 
-c_l__literal n {- 174 -} = do nest BeginScalar
+c_l__literal n {- 175 -} = do nest BeginScalar
                               indicator '|'
                               (m, t) <- c_b_block_header n
                               text ( l_literal_content (n .+ m) t )
 
-l_nb_literal_text n   {- 175 -} = ( l_empty n BlockIn *)
+l_nb_literal_text n   {- 176 -} = ( l_empty n BlockIn *)
                                 & s_indent n & ( nb_char +)
-b_nb_literal_next n   {- 176 -} = b_normalized
+b_nb_literal_next n   {- 177 -} = b_normalized
                                 & l_nb_literal_text n
-l_literal_content n t {- 177 -} = ( l_nb_literal_text n & ( b_nb_literal_next n *)
+l_literal_content n t {- 178 -} = ( l_nb_literal_text n & ( b_nb_literal_next n *)
                                   & b_chomped_last t ?)
                                 & l_chomped_empty n t
 
 -- 8.1.3 Folded Style
 
-c_l__folded n {- 178 -} = do nest BeginScalar
+c_l__folded n {- 179 -} = do nest BeginScalar
                              indicator '>'
                              (m, t) <- c_b_block_header n
                              text ( l_folded_content (n .+ m) t )
 
-s_nb_folded_text n  {- 179 -} = s_indent n & ns_char ! "fold" & ( nb_char *)
-l_nb_folded_lines n {- 180 -} = s_nb_folded_text n
+s_nb_folded_text n  {- 180 -} = s_indent n & ns_char ! "fold" & ( nb_char *)
+l_nb_folded_lines n {- 181 -} = s_nb_folded_text n
                               & ( b_l_folded_any n BlockIn & s_nb_folded_text n *)
 
-s_nb_spaced_text n  {- 181 -} = s_indent n & s_white ! "fold" & ( nb_char *)
-b_l_spaced        n {- 182 -} = b_normalized
+s_nb_spaced_text n  {- 182 -} = s_indent n & s_white ! "fold" & ( nb_char *)
+b_l_spaced        n {- 183 -} = b_normalized
                               & ( l_empty n BlockIn *)
-l_nb_spaced_lines n {- 183 -} = s_nb_spaced_text n
+l_nb_spaced_lines n {- 184 -} = s_nb_spaced_text n
                               & ( b_l_spaced n & s_nb_spaced_text n *)
 
-l_nb_same_lines n {- 184 -} = ( l_empty n BlockIn *)
+l_nb_same_lines n {- 185 -} = ( l_empty n BlockIn *)
                             & "fold" ^ ( l_nb_folded_lines n / l_nb_spaced_lines n )
 
-l_nb_diff_lines n {- 185 -} = l_nb_same_lines n
+l_nb_diff_lines n {- 186 -} = l_nb_same_lines n
                             & ( b_normalized & l_nb_same_lines n *)
 
-l_folded_content n t {- 186 -} = ( l_nb_diff_lines n & b_chomped_last t ?)
+l_folded_content n t {- 187 -} = ( l_nb_diff_lines n & b_chomped_last t ?)
                                & l_chomped_empty n t
 
 -- 8.2.1 Block Sequences
@@ -608,20 +610,21 @@
 detect_collection_indentation n = peek $ ( l_comment* ) & count_spaces (-n)
 detect_inline_indentation       = peek $ count_spaces 0
 
-l__block_sequence n   {- 187 -} = do m  <- detect_collection_indentation n
+l__block_sequence n   {- 188 -} = do m  <- detect_collection_indentation n
                                      (   nest BeginSequence
                                        & ( s_indent (n .+ m) & c_l_block_seq_entry (n .+ m) +)
                                        & nest EndSequence )
-c_l_block_seq_entry n {- 188 -} = c_sequence_entry ! "node" & s_l__block_indented n BlockIn
+c_l_block_seq_entry n {- 189 -} = c_sequence_entry & ( ns_char >!) ! "node"
+                                & s_l__block_indented n BlockIn
 
-s_l__block_indented n c {- 189 -} = do m <- detect_inline_indentation
+s_l__block_indented n c {- 190 -} = do m <- detect_inline_indentation
                                        (   s_indent m
                                          & "node"
                                          ^ ( ns_l_in_line_sequence (n .+ 1 .+ m)
                                            / ns_l_in_line_mapping (n .+ 1 .+ m) ) )
                                        / s_l__block_node n c
                                        / e_node & s_l_comments
-ns_l_in_line_sequence n {- 190 -} = nest BeginNode
+ns_l_in_line_sequence n {- 191 -} = nest BeginNode
                                   & nest BeginSequence
                                   & c_l_block_seq_entry n
                                   & ( s_indent n & c_l_block_seq_entry n *)
@@ -630,29 +633,29 @@
 
 -- 8.2.2 Block Mappings
 
-l__block_mapping n = {- 191 -} do m <- detect_collection_indentation n
+l__block_mapping n = {- 192 -} do m <- detect_collection_indentation n
                                   (   nest BeginMapping
                                     & ( s_indent (n .+ m) & ns_l_block_map_entry (n .+ m) +)
                                     & nest EndMapping )
 
-ns_l_block_map_entry n {- 192 -} = nest BeginPair
+ns_l_block_map_entry n {- 193 -} = nest BeginPair
                                  & ( c_l_block_map_explicit_entry n
                                    / ns_l_block_map_implicit_entry n )
                                  & nest EndPair
-c_l_block_map_explicit_entry n {- 193 -} = c_l_block_map_explicit_key n
+c_l_block_map_explicit_entry n {- 194 -} = c_l_block_map_explicit_key n
                                          & ( l_block_map_explicit_value n
                                          / e_node )
-c_l_block_map_explicit_key n   {- 194 -} = c_mapping_key ! "node" & s_l__block_indented n BlockOut
-l_block_map_explicit_value n   {- 195 -} = s_indent n & c_mapping_value & s_l__block_indented n BlockOut
+c_l_block_map_explicit_key n   {- 195 -} = c_mapping_key ! "node" & s_l__block_indented n BlockOut
+l_block_map_explicit_value n   {- 196 -} = s_indent n & c_mapping_value & s_l__block_indented n BlockOut
 
-ns_l_block_map_implicit_entry n {- 196 -} = ( ns_s_block_map_implicit_key
+ns_l_block_map_implicit_entry n {- 197 -} = ( ns_s_block_map_implicit_key
                                             / e_node )
                                           & c_l_block_map_implicit_value n
-ns_s_block_map_implicit_key     {- 197 -} = c_s_implicit_json_key / ns_s_implicit_yaml_key
-c_l_block_map_implicit_value n  {- 198 -} = c_mapping_value ! "node" & ( s_l__block_node n BlockOut
+ns_s_block_map_implicit_key     {- 198 -} = c_s_implicit_json_key / ns_s_implicit_yaml_key
+c_l_block_map_implicit_value n  {- 199 -} = c_mapping_value ! "node" & ( s_l__block_node n BlockOut
                                                                      / e_node & s_l_comments )
 
-ns_l_in_line_mapping n {-199 -} = nest BeginNode
+ns_l_in_line_mapping n {-198 -} = nest BeginNode
                                  & nest BeginMapping
                                  & ns_l_block_map_entry n
                                  & ( s_indent n & ns_l_block_map_entry n *)
@@ -661,60 +664,60 @@
 
 -- 8.2.3 Block Nodes
 
-s_l__block_node n c  {- 200 -} = s_l__block_in_block n c / s_l__flow_in_block n
-s_l__flow_in_block n {- 201 -} = s_separate (n .+ 1) FlowOut
+s_l__block_node n c  {- 201 -} = s_l__block_in_block n c / s_l__flow_in_block n
+s_l__flow_in_block n {- 202 -} = s_separate (n .+ 1) FlowOut
                                & ns_flow_node (n .+ 1) FlowOut & s_l_comments
 
-s_l__block_in_block n c {- 202 -} = nest BeginNode
+s_l__block_in_block n c {- 203 -} = nest BeginNode
                                   & ( s_l__block_scalar n c / s_l__block_collection n c )
                                   & nest EndNode
-s_l__block_scalar n c   {- 203 -} = s_separate (n .+ 1) c
+s_l__block_scalar n c   {- 204 -} = s_separate (n .+ 1) c
                                   & ( c_ns_properties (n .+ 1) c & s_separate (n .+ 1) c ?)
                                   & ( c_l__literal n / c_l__folded n )
 
-s_l__block_collection n c {- 204 -} = ( s_separate (n .+ 1) c & c_ns_properties (n .+ 1) c & ( s_l_comments >? ) ?)
+s_l__block_collection n c {- 205 -} = ( s_separate (n .+ 1) c & c_ns_properties (n .+ 1) c & ( s_l_comments >?) ?)
                                     & s_l_comments
                                     & ( l__block_sequence (seq_spaces n c)
                                     / l__block_mapping n )
-seq_spaces n c            {- 205 -} = case c of
+seq_spaces n c            {- 206 -} = case c of
                                            BlockOut -> n .- 1
                                            BlockIn  -> n
 
 -- Document:
 
-c_document_start {- 206 -} = token DocumentStart [ '-', '-', '-' ]
-c_document_end   {- 207 -} = token DocumentEnd [ '.', '.', '.' ]
-l_forbidden      {- 208 -} = sol
+c_document_start {- 207 -} = token DocumentStart [ '-', '-', '-' ]
+c_document_end   {- 208 -} = token DocumentEnd [ '.', '.', '.' ]
+c_forbidden      {- 209 -} = sol
                            & ( c_document_start / c_document_end )
-                            & ( b_char / s_white / eof )
+                           & ( b_char / s_white / eof )
 
-l_document_prefix {- 209 -} = ( c_byte_order_mark ?) & ( l_comment *)
-l_document_suffix {- 210 -} = c_document_end & s_l_comments
+l_document_prefix {- 210 -} = ( c_byte_order_mark ?) & ( l_comment *)
+l_document_suffix {- 211 -} = c_document_end & s_l_comments
 
-l_implicit_document {- 211 -} = nest BeginDocument
+l_implicit_document {- 212 -} = nest BeginDocument
                               & s_l__block_node (-1) BlockIn
-                                `forbidding` l_forbidden
+                                `forbidding` c_forbidden
                               & nest EndDocument
-l_explicit_document {- 212 -} =  nest BeginDocument
+l_explicit_document {- 213 -} =  nest BeginDocument
                               & ( l_directive ! "doc" *)
                               & c_document_start ! "doc"
                               & "node" ^ ( l_implicit_document
                                          / e_node & s_l_comments )
                               & nest EndDocument
 
-l_leading_document   {- 213 -} = l_document_prefix
+l_leading_document   {- 214 -} = l_document_prefix
                                & "doc" ^ ( l_explicit_document
                                          / "node" ^ ( l_implicit_document
                                                     / empty ) )
-l_following_document {- 214 -} = l_document_prefix
+l_following_document {- 215 -} = l_document_prefix
                                & "doc" ^ ( l_explicit_document
                                          / empty )
 
 -- Stream:
 
-l_documents   {- 215 -} = l_leading_document
+l_documents   {- 216 -} = l_leading_document
                         & ( l_following_document *)
-l_yaml_stream {- 216 -} = nest BeginStream
+l_yaml_stream {- 217 -} = nest BeginStream
                         & l_documents
                         & ( l_document_suffix & l_documents *)
                         & nest EndStream
diff --git a/Text/Yaml/Reference.hs b/Text/Yaml/Reference.hs
--- a/Text/Yaml/Reference.hs
+++ b/Text/Yaml/Reference.hs
@@ -639,22 +639,24 @@
 -- otherwise)@. Note that @first & second \/ third@ is @(first & second) \/
 -- third@.
 --
--- @( match *)@, @(match +)@, @(match ?)@ are the weakest and require the
--- surrounding @()@.
+-- @( match *)@, @(match +)@, @(match ?)@, @(match <?)@, @(match >?)@, @(match
+-- >!)@, @(match <!)@ are the weakest and require the surrounding @()@.
 
 infix  3 ^
 infix  3 %
 infix  3 <%
 infix  3 !
 infix  3 ?!
-infix  3 <?
-infix  3 >?
 infixl 3 -
 infixr 2 &
 infixr 1 /
 infix  0 ?
 infix  0 *
 infix  0 +
+infix  0 <?
+infix  0 >?
+infix  0 <!
+infix  0 >!
 
 -- | @parser % n@ repeats /parser/ exactly /n/ times.
 (%) :: (Match match result) => match -> Int -> Pattern
@@ -686,7 +688,7 @@
 
 -- | @lookbehind <?@ matches the current point without consuming any
 -- characters, if the previous character matches the lookbehind parser (single
--- character negative lookbehind)
+-- character positive lookbehind)
 (<?) :: (Match match result) => match -> Parser result
 (<?) lookbehind = prev lookbehind
 
@@ -695,6 +697,17 @@
 (>?) :: (Match match result) => match -> Parser result
 (>?) lookahead = peek lookahead
 
+-- | @lookbehind <?@ matches the current point without consuming any
+-- characters, if the previous character does not match the lookbehind parser
+-- (single character negative lookbehind)
+(<!) :: (Match match result) => match -> Pattern
+(<!) lookbehind = prev $ reject lookbehind Nothing
+
+-- | @lookahead >?@ matches the current point without consuming any characters
+-- if it matches the lookahead parser (negative lookahead)
+(>!) :: (Match match result) => match -> Pattern
+(>!) lookahead = reject lookahead Nothing
+
 -- | @parser - rejected@ matches /parser/, except if /rejected/ matches at this
 -- point.
 (-) :: (Match match1 result1, Match match2 result2) => match1 -> match2 -> Parser result1
@@ -772,7 +785,7 @@
 -- does not consume any input.
 prev :: (Match match result) => match -> Parser result
 prev parser = Parser $ \ state ->
-  prevParser state (match parser) state { sIsPeek = True, sChars = state|>sLast : state|>sChars }
+  prevParser state (match parser) state { sIsPeek = True, sInput = state|>sLast : state|>sInput }
   where prevParser point (Parser parser) state =
           let reply = parser state
           in case reply|>rResult of
@@ -1154,7 +1167,9 @@
            $ PAT(c_document_start)
            $ PAT(c_double_quote)
            $ PAT(c_escape)
+           $ PAT(c_flow_indicator)
            $ PAT(c_folded)
+           $ PAT(c_forbidden)
            $ PAT(c_indicator)
            $ PAT(c_literal)
            $ PAT(c_mapping_end)
@@ -1192,7 +1207,6 @@
            $ PAT(l_document_suffix)
            $ PAT(l_explicit_document)
            $ PAT(l_following_document)
-           $ PAT(l_forbidden)
            $ PAT(l_implicit_document)
            $ PAT(l_leading_document)
            $ PAT(l_yaml_stream)
diff --git a/YamlReference.cabal b/YamlReference.cabal
--- a/YamlReference.cabal
+++ b/YamlReference.cabal
@@ -1,891 +1,1228 @@
 Name:                YamlReference
-Version:             0.9
-Cabal-Version:       >= 1.2
-License:             LGPL
-License-File:        lgpl.txt
-Copyright:           Oren Ben-Kiki 2007, 2008
-Author:              Oren Ben-Kiki
-Maintainer:          yaml-oren@ben-kiki.org
-Stability:           alpha
-Homepage:            http://www.ben-kiki.org/oren/YamlReference
-Package-Url:         http://www.ben-kiki.org/oren/YamlReference/YamlReference-0.9.tar.gz
-Category:            Text
-Synopsis:            YAML reference implementation
-Build-Type:          Custom
-Description:         This package contains \"the\" reference YAML syntax parser
-                     ("Text.Yaml.Reference"), generated directly from the YAML
-                     specifications, as well as sample program (@yaml2yeast@)
-                     that allows accessing it from the command line, converting
-                     YAML files to YEAST tokens. This is intended to be more of
-                     an \"executable specification\" for YAML rather than an
-                     actual basis for YAML tool chains. That said, it is
-                     possible to build interesting tools on top of it, such as
-                     the @yeast2html@ YAML syntax visualizer (contained in this
-                     package), pretty printers, etc. This is a streaming parser
-                     that will \"immediately\" begin to generate output. Updated
-                     to be compatible with the April 6, 2008 working draft.
-Extra-Source-Files:  Text/Yaml/Reference.bnf yeast2html yaml2yeast.css
-                     tests/b-as-line-feed.input tests/b-as-line-feed.output
-                     tests/b-carriage-return.input tests/b-carriage-return.output
-                     tests/b-char.cr.input tests/b-char.cr.output tests/b-char.invalid.input
-                     tests/b-char.invalid.output tests/b-char.lf.input tests/b-char.lf.output
-                     tests/b-char.ls.input tests/b-char.ls.output tests/b-char.nl.input
-                     tests/b-char.nl.output tests/b-char.ps.input tests/b-char.ps.output
-                     tests/b-chomped-last.t=clip.input tests/b-chomped-last.t=clip.invalid.input
-                     tests/b-chomped-last.t=clip.invalid.output tests/b-chomped-last.t=clip.output
-                     tests/b-chomped-last.t=keep.input tests/b-chomped-last.t=keep.output
-                     tests/b-chomped-last.t=strip.input tests/b-chomped-last.t=strip.output
-                     tests/b-generic.cr.input tests/b-generic.crlf.input tests/b-generic.crlf.output
-                     tests/b-generic.cr.output tests/b-generic.invalid.input
-                     tests/b-generic.invalid.output tests/b-generic.lf.input
-                     tests/b-generic.lf.output tests/b-generic.nl.input tests/b-generic.nl.output
-                     tests/b-l-folded-any.n=4.c=flow-in.as-space.input
-                     tests/b-l-folded-any.n=4.c=flow-in.as-space.output
-                     tests/b-l-folded-any.n=4.c=flow-in.invalid.input
-                     tests/b-l-folded-any.n=4.c=flow-in.invalid.output
-                     tests/b-l-folded-any.n=4.c=flow-in.specific.input
-                     tests/b-l-folded-any.n=4.c=flow-in.specific.output
-                     tests/b-l-folded-any.n=4.c=flow-in.trimmed.input
-                     tests/b-l-folded-any.n=4.c=flow-in.trimmed.output
-                     tests/b-l-folded-as-space.input tests/b-l-folded-as-space.invalid.input
-                     tests/b-l-folded-as-space.invalid.output tests/b-l-folded-as-space.output
-                     tests/b-l-folded-specific.n=4.c=flow-in.invalid.input
-                     tests/b-l-folded-specific.n=4.c=flow-in.invalid.output
-                     tests/b-l-folded-specific.n=4.c=flow-in.ls.input
-                     tests/b-l-folded-specific.n=4.c=flow-in.ls-lf-ls.input
-                     tests/b-l-folded-specific.n=4.c=flow-in.ls-lf-ls.output
-                     tests/b-l-folded-specific.n=4.c=flow-in.ls.output
-                     tests/b-l-folded-trimmed.n=4.c=flow-in.invalid.input
-                     tests/b-l-folded-trimmed.n=4.c=flow-in.invalid.output
-                     tests/b-l-folded-trimmed.n=4.c=flow-in.lf-ls-lf.input
-                     tests/b-l-folded-trimmed.n=4.c=flow-in.lf-ls-lf.output tests/b-line-feed.input
-                     tests/b-line-feed.output tests/b-line-separator.input
-                     tests/b-line-separator.output tests/b-l-spaced.n=4.input
-                     tests/b-l-spaced.n=4.invalid.input tests/b-l-spaced.n=4.invalid.output
-                     tests/b-l-spaced.n=4.output tests/b-nb-literal-next.n=4.input
-                     tests/b-nb-literal-next.n=4.invalid.input
-                     tests/b-nb-literal-next.n=4.invalid.output tests/b-nb-literal-next.n=4.output
-                     tests/b-next-line.input tests/b-next-line.output
-                     tests/b-non-content-any.invalid.input tests/b-non-content-any.invalid.output
-                     tests/b-non-content-any.lf.input tests/b-non-content-any.lf.output
-                     tests/b-non-content-any.ls.input tests/b-non-content-any.ls.output
-                     tests/b-non-content-generic.input tests/b-non-content-generic.output
-                     tests/b-normalized.invalid.input tests/b-normalized.invalid.output
-                     tests/b-normalized.lf.input tests/b-normalized.lf.output
-                     tests/b-normalized.ls.input tests/b-normalized.ls.output
-                     tests/b-paragraph-separator.input tests/b-paragraph-separator.output
-                     tests/b-specific.invalid.input tests/b-specific.invalid.output
-                     tests/b-specific.ls.input tests/b-specific.ls.output tests/b-specific.ps.input
-                     tests/b-specific.ps.output tests/c-alias.input tests/c-alias.output
-                     tests/c-anchor.input tests/c-anchor.output tests/c-b-block-header.n=2.e.input
-                     tests/c-b-block-header.n=2.e.output tests/c-b-block-header.n=2.im.input
-                     tests/c-b-block-header.n=2.im.output tests/c-b-block-header.n=2.imt.input
-                     tests/c-b-block-header.n=2.imt.output tests/c-b-block-header.n=2.it.input
-                     tests/c-b-block-header.n=2.itm.input tests/c-b-block-header.n=2.itm.output
-                     tests/c-b-block-header.n=2.it.output tests/c-byte-order-mark.invalid.input
-                     tests/c-byte-order-mark.invalid.output tests/c-byte-order-mark.utf16be.input
-                     tests/c-byte-order-mark.utf16be.output tests/c-byte-order-mark.utf16le.input
-                     tests/c-byte-order-mark.utf16le.output tests/c-byte-order-mark.utf8.input
-                     tests/c-byte-order-mark.utf8.output tests/c-chomping-indicator.empty.input
-                     tests/c-chomping-indicator.empty.output tests/c-chomping-indicator.hyphen.input
-                     tests/c-chomping-indicator.hyphen.output
-                     tests/c-chomping-indicator.invalid.input
-                     tests/c-chomping-indicator.invalid.output tests/c-chomping-indicator.plus.input
-                     tests/c-chomping-indicator.plus.output tests/c-collect-entry.input
-                     tests/c-collect-entry.output tests/c-comment.input tests/c-comment.output
-                     tests/c-directive.input tests/c-directive.output tests/c-document-end.input
-                     tests/c-document-end.invalid.input tests/c-document-end.invalid.output
-                     tests/c-document-end.output tests/c-document-start.input
-                     tests/c-document-start.invalid.input tests/c-document-start.invalid.output
-                     tests/c-document-start.output tests/c-double-quoted.n=4.c=flow-out.input
-                     tests/c-double-quoted.n=4.c=flow-out.invalid.input
-                     tests/c-double-quoted.n=4.c=flow-out.invalid.output
-                     tests/c-double-quoted.n=4.c=flow-out.output tests/c-double-quote.input
-                     tests/c-double-quote.output tests/c-escape.input tests/c-escape.invalid.input
-                     tests/c-escape.invalid.output tests/c-escape.output
-                     tests/c-flow-json-content.n=4.c=flow-in.double.input
-                     tests/c-flow-json-content.n=4.c=flow-in.double.output
-                     tests/c-flow-json-content.n=4.c=flow-in.invalid.input
-                     tests/c-flow-json-content.n=4.c=flow-in.invalid.output
-                     tests/c-flow-json-content.n=4.c=flow-in.mapping.input
-                     tests/c-flow-json-content.n=4.c=flow-in.mapping.output
-                     tests/c-flow-json-content.n=4.c=flow-in.sequence.input
-                     tests/c-flow-json-content.n=4.c=flow-in.sequence.output
-                     tests/c-flow-json-node.n=4.c=flow-in.invalid.input
-                     tests/c-flow-json-node.n=4.c=flow-in.invalid.output
-                     tests/c-flow-json-node.n=4.c=flow-in.tagged.input
-                     tests/c-flow-json-node.n=4.c=flow-in.tagged.output
-                     tests/c-flow-json-node.n=4.c=flow-in.untagged.input
-                     tests/c-flow-json-node.n=4.c=flow-in.untagged.output
-                     tests/c-flow-mapping.n=4.c=flow-in.compact.input
-                     tests/c-flow-mapping.n=4.c=flow-in.compact.output
-                     tests/c-flow-mapping.n=4.c=flow-in.invalid.input
-                     tests/c-flow-mapping.n=4.c=flow-in.invalid.output
-                     tests/c-flow-mapping.n=4.c=flow-in.long.input
-                     tests/c-flow-mapping.n=4.c=flow-in.long.output
-                     tests/c-flow-mapping.n=4.c=flow-in.spaced.input
-                     tests/c-flow-mapping.n=4.c=flow-in.spaced.output
-                     tests/c-flow-sequence.n=4.c=flow-in.compact.input
-                     tests/c-flow-sequence.n=4.c=flow-in.compact.output
-                     tests/c-flow-sequence.n=4.c=flow-in.invalid.input
-                     tests/c-flow-sequence.n=4.c=flow-in.invalid.output
-                     tests/c-flow-sequence.n=4.c=flow-in.spaced.input
-                     tests/c-flow-sequence.n=4.c=flow-in.spaced.output tests/c-folded.input
-                     tests/c-folded.output tests/c-indentation-indicator.n=0.input
-                     tests/c-indentation-indicator.n=0.invalid.input
-                     tests/c-indentation-indicator.n=0.invalid.output
-                     tests/c-indentation-indicator.n=0.output tests/c-indicator.alias.input
-                     tests/c-indicator.alias.output tests/c-indicator.anchor.input
-                     tests/c-indicator.anchor.output tests/c-indicator.collect-entry.input
-                     tests/c-indicator.collect-entry.output tests/c-indicator.comment.input
-                     tests/c-indicator.comment.output tests/c-indicator.directive.input
-                     tests/c-indicator.directive.output tests/c-indicator.double-quote.input
-                     tests/c-indicator.double-quote.output tests/c-indicator.folded.input
-                     tests/c-indicator.folded.output tests/c-indicator.invalid.input
-                     tests/c-indicator.invalid.output tests/c-indicator.literal.input
-                     tests/c-indicator.literal.output tests/c-indicator.mapping-end.input
-                     tests/c-indicator.mapping-end.output tests/c-indicator.mapping-key.input
-                     tests/c-indicator.mapping-key.output tests/c-indicator.mapping-start.input
-                     tests/c-indicator.mapping-start.output tests/c-indicator.mapping-value.input
-                     tests/c-indicator.mapping-value.output tests/c-indicator.reserved.at.input
-                     tests/c-indicator.reserved.at.output tests/c-indicator.reserved.backtick.input
-                     tests/c-indicator.reserved.backtick.output tests/c-indicator.sequence-end.input
-                     tests/c-indicator.sequence-end.output tests/c-indicator.sequence-entry.input
-                     tests/c-indicator.sequence-entry.output tests/c-indicator.sequence-start.input
-                     tests/c-indicator.sequence-start.output tests/c-indicator.single-quote.input
-                     tests/c-indicator.single-quote.output tests/c-indicator.tag.input
-                     tests/c-indicator.tag.output tests/c-l-block-map-explicit-entry.n=2.input
-                     tests/c-l-block-map-explicit-entry.n=2.invalid.input
-                     tests/c-l-block-map-explicit-entry.n=2.invalid.output
-                     tests/c-l-block-map-explicit-entry.n=2.output
-                     tests/c-l-block-map-explicit-key.n=2.input
-                     tests/c-l-block-map-explicit-key.n=2.invalid.input
-                     tests/c-l-block-map-explicit-key.n=2.invalid.output
-                     tests/c-l-block-map-explicit-key.n=2.output
-                     tests/c-l-block-map-implicit-value.n=2.empty.input
-                     tests/c-l-block-map-implicit-value.n=2.empty.output
-                     tests/c-l-block-map-implicit-value.n=2.invalid.input
-                     tests/c-l-block-map-implicit-value.n=2.invalid.output
-                     tests/c-l-block-map-implicit-value.n=2.plain.input
-                     tests/c-l-block-map-implicit-value.n=2.plain.output
-                     tests/c-l-block-seq-entry.n=2.input tests/c-l-block-seq-entry.n=2.invalid.input
-                     tests/c-l-block-seq-entry.n=2.invalid.output
-                     tests/c-l-block-seq-entry.n=2.output tests/c-l+folded.n=2.indent.input
-                     tests/c-l+folded.n=2.indent.output tests/c-l+folded.n=2.invalid.input
-                     tests/c-l+folded.n=2.invalid.output tests/c-l+folded.n=2.simple.input
-                     tests/c-l+folded.n=2.simple.output tests/c-literal.input tests/c-literal.output
-                     tests/c-l+literal.n=2.invalid.input tests/c-l+literal.n=2.invalid.output
-                     tests/c-l+literal.n=2.simple.input tests/c-l+literal.n=2.simple.output
-                     tests/c-l+literal.n=2.strip-indent.input
-                     tests/c-l+literal.n=2.strip-indent.output tests/c-l+literal.n=2.strip.input
-                     tests/c-l+literal.n=2.strip.output tests/c-mapping-end.input
-                     tests/c-mapping-end.output tests/c-mapping-key.input tests/c-mapping-key.output
-                     tests/c-mapping-start.input tests/c-mapping-start.output
-                     tests/c-mapping-value.input tests/c-mapping-value.output
-                     tests/c-named-tag-handle.input tests/c-named-tag-handle.invalid.input
-                     tests/c-named-tag-handle.invalid.output tests/c-named-tag-handle.output
-                     tests/c-nb-comment-text.comment.input tests/c-nb-comment-text.comment.output
-                     tests/c-nb-comment-text.comment-text.input
-                     tests/c-nb-comment-text.comment-text.output
-                     tests/c-nb-comment-text.invalid.input tests/c-nb-comment-text.invalid.output
-                     tests/c-non-specific-tag.input tests/c-non-specific-tag.invalid.input
-                     tests/c-non-specific-tag.invalid.output tests/c-non-specific-tag.output
-                     tests/c-ns-alias-node.input tests/c-ns-alias-node.output
-                     tests/c-ns-anchor-property.input tests/c-ns-anchor-property.invalid.input
-                     tests/c-ns-anchor-property.invalid.output tests/c-ns-anchor-property.output
-                     tests/c-ns-esc-char.16-bit.input tests/c-ns-esc-char.16-bit.output
-                     tests/c-ns-esc-char.32-bit.input tests/c-ns-esc-char.32-bit.output
-                     tests/c-ns-esc-char.8-bit.input tests/c-ns-esc-char.8-bit.output
-                     tests/c-ns-esc-char.backslash.input tests/c-ns-esc-char.backslash.output
-                     tests/c-ns-esc-char.bell.input tests/c-ns-esc-char.bell.output
-                     tests/c-ns-esc-char.bs.input tests/c-ns-esc-char.bs.output
-                     tests/c-ns-esc-char.cr.input tests/c-ns-esc-char.cr.output
-                     tests/c-ns-esc-char.double-quote.input tests/c-ns-esc-char.double-quote.output
-                     tests/c-ns-esc-char.esc.input tests/c-ns-esc-char.esc.output
-                     tests/c-ns-esc-char.ff.input tests/c-ns-esc-char.ff.output
-                     tests/c-ns-esc-char.lf.input tests/c-ns-esc-char.lf.output
-                     tests/c-ns-esc-char.ls.input tests/c-ns-esc-char.ls.output
-                     tests/c-ns-esc-char.nbsp.input tests/c-ns-esc-char.nbsp.output
-                     tests/c-ns-esc-char.nl.input tests/c-ns-esc-char.nl.output
-                     tests/c-ns-esc-char.null.input tests/c-ns-esc-char.null.output
-                     tests/c-ns-esc-char.ps.input tests/c-ns-esc-char.ps.output
-                     tests/c-ns-esc-char.sp.input tests/c-ns-esc-char.sp.output
-                     tests/c-ns-esc-char.tab.input tests/c-ns-esc-char.tab.output
-                     tests/c-ns-esc-char.vt.input tests/c-ns-esc-char.vt.output
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.compact.input
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.compact.output
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.empty.input
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.empty.output
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.invalid.input
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.invalid.output
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.spaced.input
-                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.spaced.output
-                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.input
-                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.invalid.input
-                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.invalid.output
-                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.output
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.compact.input
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.compact.output
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.empty.input
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.empty.output
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.invalid.input
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.invalid.output
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.spaced.input
-                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.spaced.output
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.empty.input
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.empty.output
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.invalid.input
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.invalid.output
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.value.input
-                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.value.output
-                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.input
-                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.invalid.input
-                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.invalid.output
-                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.output
-                     tests/c-ns-local-tag-prefix.input tests/c-ns-local-tag-prefix.invalid.input
-                     tests/c-ns-local-tag-prefix.invalid.output tests/c-ns-local-tag-prefix.output
-                     tests/c-ns-properties.n=0.c=block-in.input
-                     tests/c-ns-properties.n=0.c=block-in.invalid.input
-                     tests/c-ns-properties.n=0.c=block-in.invalid.output
-                     tests/c-ns-properties.n=0.c=block-in.output
-                     tests/c-ns-properties.n=0.c=block-out.input
-                     tests/c-ns-properties.n=0.c=block-out.output
-                     tests/c-ns-properties.n=0.c=flow-out.input
-                     tests/c-ns-properties.n=0.c=flow-out.invalid.input
-                     tests/c-ns-properties.n=0.c=flow-out.invalid.output
-                     tests/c-ns-properties.n=0.c=flow-out.output
-                     tests/c-ns-shorthand-tag.invalid.input tests/c-ns-shorthand-tag.invalid.output
-                     tests/c-ns-shorthand-tag.named.input tests/c-ns-shorthand-tag.named.output
-                     tests/c-ns-shorthand-tag.primary.input tests/c-ns-shorthand-tag.primary.output
-                     tests/c-ns-shorthand-tag.secondary.input
-                     tests/c-ns-shorthand-tag.secondary.output tests/c-ns-tag-property.invalid.input
-                     tests/c-ns-tag-property.invalid.output
-                     tests/c-ns-tag-property.non-specific.input
-                     tests/c-ns-tag-property.non-specific.output
-                     tests/c-ns-tag-property.shorthand.input
-                     tests/c-ns-tag-property.shorthand.output tests/c-ns-tag-property.verbatim.input
-                     tests/c-ns-tag-property.verbatim.output tests/count-spaces.n=0.0.input
-                     tests/count-spaces.n=0.0.output tests/count-spaces.n=0.1.input
-                     tests/count-spaces.n=0.1.output tests/count-spaces.n=0.2.input
-                     tests/count-spaces.n=0.2.output tests/count-spaces.n=-1.0.input
-                     tests/count-spaces.n=1.0.input tests/count-spaces.n=-1.0.output
-                     tests/count-spaces.n=1.0.output tests/count-spaces.n=-1.1.input
-                     tests/count-spaces.n=1.1.input tests/count-spaces.n=-1.1.output
-                     tests/count-spaces.n=1.1.output tests/count-spaces.n=-1.2.input
-                     tests/count-spaces.n=1.2.input tests/count-spaces.n=-1.2.output
-                     tests/count-spaces.n=1.2.output tests/c-primary-tag-handle.input
-                     tests/c-primary-tag-handle.invalid.input
-                     tests/c-primary-tag-handle.invalid.output tests/c-primary-tag-handle.output
-                     tests/c-printable.10000.input tests/c-printable.10000.output
-                     tests/c-printable.10ffff.input tests/c-printable.10ffff.output
-                     tests/c-printable.cr.input tests/c-printable.cr.output
-                     tests/c-printable.d7ff.input tests/c-printable.d7ff.output
-                     tests/c-printable.e000.input tests/c-printable.e000.output
-                     tests/c-printable.fffd.input tests/c-printable.fffd.output
-                     tests/c-printable.invalid.input tests/c-printable.invalid.output
-                     tests/c-printable.lf.input tests/c-printable.lf.output
-                     tests/c-printable.nbsp.input tests/c-printable.nbsp.output
-                     tests/c-printable.nel.input tests/c-printable.nel.output
-                     tests/c-printable.sp.input tests/c-printable.sp.output
-                     tests/c-printable.tab.input tests/c-printable.tab.output
-                     tests/c-printable.tilde.input tests/c-printable.tilde.output
-                     tests/c-quoted-quote.input tests/c-quoted-quote.invalid.input
-                     tests/c-quoted-quote.invalid.output tests/c-quoted-quote.output
-                     tests/c-reserved.at.input tests/c-reserved.at.output
-                     tests/c-reserved.backtick.input tests/c-reserved.backtick.output
-                     tests/c-secondary-tag-handle.input tests/c-secondary-tag-handle.invalid.input
-                     tests/c-secondary-tag-handle.invalid.output tests/c-secondary-tag-handle.output
-                     tests/c-sequence-end.input tests/c-sequence-end.output
-                     tests/c-sequence-entry.input tests/c-sequence-entry.output
-                     tests/c-sequence-start.input tests/c-sequence-start.output
-                     tests/c-s-implicit-json-key.just.input tests/c-s-implicit-json-key.just.output
-                     tests/c-s-implicit-json-key.long.input tests/c-s-implicit-json-key.long.output
-                     tests/c-s-implicit-json-key.short.input
-                     tests/c-s-implicit-json-key.short.output
-                     tests/c-single-quoted.n=4.c=flow-out.input
-                     tests/c-single-quoted.n=4.c=flow-out.invalid.input
-                     tests/c-single-quoted.n=4.c=flow-out.invalid.output
-                     tests/c-single-quoted.n=4.c=flow-out.output tests/c-single-quote.input
-                     tests/c-single-quote.output tests/c-tag-handle.invalid.input
-                     tests/c-tag-handle.invalid.output tests/c-tag-handle.named.input
-                     tests/c-tag-handle.named.output tests/c-tag-handle.primary.input
-                     tests/c-tag-handle.primary.output tests/c-tag-handle.secondary.input
-                     tests/c-tag-handle.secondary.output tests/c-tag.input tests/c-tag.output
-                     tests/c-verbatim-tag.input tests/c-verbatim-tag.invalid.input
-                     tests/c-verbatim-tag.invalid.output tests/c-verbatim-tag.output
-                     tests/detect-collection-indentation.n=1.input
-                     tests/detect-collection-indentation.n=1.output
-                     tests/detect-inline-indentation.input tests/detect-inline-indentation.output
-                     tests/detect-scalar-indentation.n=2.input
-                     tests/detect-scalar-indentation.n=2.output tests/e-node.input
-                     tests/e-node.output tests/e-scalar.input tests/e-scalar.output
-                     tests/l-block-map-explicit-value.n=2.input
-                     tests/l-block-map-explicit-value.n=2.invalid.input
-                     tests/l-block-map-explicit-value.n=2.invalid.output
-                     tests/l-block-map-explicit-value.n=2.output tests/l+block-mapping.n=-1.input
-                     tests/l+block-mapping.n=1.input tests/l+block-mapping.n=-1.output
-                     tests/l+block-mapping.n=1.output tests/l+block-mapping.n=2.invalid.input
-                     tests/l+block-mapping.n=2.invalid.output tests/l+block-sequence.n=1.input
-                     tests/l+block-sequence.n=1.output tests/l+block-sequence.n=2.invalid.input
-                     tests/l+block-sequence.n=2.invalid.output
-                     tests/l-chomped-empty.n=4.t=clip.input tests/l-chomped-empty.n=4.t=clip.output
-                     tests/l-chomped-empty.n=4.t=keep.input tests/l-chomped-empty.n=4.t=keep.output
-                     tests/l-chomped-empty.n=4.t=strip.input
-                     tests/l-chomped-empty.n=4.t=strip.output tests/l-comment.empty.input
-                     tests/l-comment.empty.output tests/l-comment.invalid.input
-                     tests/l-comment.invalid.output tests/l-comment.spaces-comment.input
-                     tests/l-comment.spaces-comment.output tests/l-directive.invalid.input
-                     tests/l-directive.invalid.output tests/l-directive.reserved.input
-                     tests/l-directive.reserved.output tests/l-directive.tag.input
-                     tests/l-directive.tag.invalid.input tests/l-directive.tag.invalid.output
-                     tests/l-directive.tag.output tests/l-directive.yaml.input
-                     tests/l-directive.yaml.invalid.input tests/l-directive.yaml.invalid.output
-                     tests/l-directive.yaml.output tests/l-document-prefix.bom-comment.input
-                     tests/l-document-prefix.bom-comment.output tests/l-document-prefix.bom.input
-                     tests/l-document-prefix.bom.output tests/l-document-prefix.comment.input
-                     tests/l-document-prefix.comment.output tests/l-document-prefix.empty.input
-                     tests/l-document-prefix.empty.output tests/l-document-prefix.invalid.input
-                     tests/l-document-prefix.invalid.output tests/l-documents.explicit.input
-                     tests/l-documents.explicit.output tests/l-documents.implicit.input
-                     tests/l-documents.implicit.output tests/l-document-suffix.input
-                     tests/l-document-suffix.invalid.input tests/l-document-suffix.invalid.output
-                     tests/l-document-suffix.output tests/l-empty.n=4.c=block-in.indent.input
-                     tests/l-empty.n=4.c=block-in.indent-lt.input
-                     tests/l-empty.n=4.c=block-in.indent-lt.output
-                     tests/l-empty.n=4.c=block-in.indent.output
-                     tests/l-empty.n=4.c=block-in.indent-sp.invalid.input
-                     tests/l-empty.n=4.c=block-in.indent-sp.invalid.output
-                     tests/l-empty.n=4.c=flow-in.indent.input
-                     tests/l-empty.n=4.c=flow-in.indent-lt.input
-                     tests/l-empty.n=4.c=flow-in.indent-lt.output
-                     tests/l-empty.n=4.c=flow-in.indent.output
-                     tests/l-empty.n=4.c=flow-in.indent-sp.input
-                     tests/l-empty.n=4.c=flow-in.indent-sp.output
-                     tests/l-explicit-document.invalid.input
-                     tests/l-explicit-document.invalid.output
-                     tests/l-explicit-document.literal.input
-                     tests/l-explicit-document.literal.output tests/l-explicit-document.plain.input
-                     tests/l-explicit-document.plain.output tests/l-folded-content.n=4.t=strip.input
-                     tests/l-folded-content.n=4.t=strip.invalid.input
-                     tests/l-folded-content.n=4.t=strip.invalid.output
-                     tests/l-folded-content.n=4.t=strip.output
-                     tests/l-following-document.empty.input tests/l-following-document.empty.output
-                     tests/l-following-document.explicit.input
-                     tests/l-following-document.explicit.output
-                     tests/l-following-document.invalid.input
-                     tests/l-following-document.invalid.output tests/l-forbidden.end-space.input
-                     tests/l-forbidden.end-space.output tests/l-forbidden.invalid.input
-                     tests/l-forbidden.invalid.output tests/l-forbidden.start.input
-                     tests/l-forbidden.start-lf.input tests/l-forbidden.start-lf.output
-                     tests/l-forbidden.start.output tests/l-implicit-document.invalid.input
-                     tests/l-implicit-document.invalid.output
-                     tests/l-implicit-document.literal.input
-                     tests/l-implicit-document.literal.output tests/l-implicit-document.plain.input
-                     tests/l-implicit-document.plain.output tests/l-keep-empty.n=4.0.input
-                     tests/l-keep-empty.n=4.0.output tests/l-keep-empty.n=4.1.input
-                     tests/l-keep-empty.n=4.1.output tests/l-leading-document.empty.input
-                     tests/l-leading-document.empty.output tests/l-leading-document.explicit.input
-                     tests/l-leading-document.explicit.output
-                     tests/l-leading-document.implicit.input
-                     tests/l-leading-document.implicit.output
-                     tests/l-literal-content.n=4.t=strip.input
-                     tests/l-literal-content.n=4.t=strip.invalid.input
-                     tests/l-literal-content.n=4.t=strip.invalid.output
-                     tests/l-literal-content.n=4.t=strip.output tests/l-nb-diff-lines.n=3.input
-                     tests/l-nb-diff-lines.n=3.output tests/l-nb-folded-lines.n=4.input
-                     tests/l-nb-folded-lines.n=4.invalid.input
-                     tests/l-nb-folded-lines.n=4.invalid.output tests/l-nb-folded-lines.n=4.output
-                     tests/l-nb-literal-text.n=4.input tests/l-nb-literal-text.n=4.invalid.input
-                     tests/l-nb-literal-text.n=4.invalid.output tests/l-nb-literal-text.n=4.output
-                     tests/l-nb-same-lines.n=3.input tests/l-nb-same-lines.n=3.output
-                     tests/l-nb-same-lines.n=4.input tests/l-nb-same-lines.n=4.output
-                     tests/l-nb-spaced-lines.n=4.input tests/l-nb-spaced-lines.n=4.invalid.input
-                     tests/l-nb-spaced-lines.n=4.invalid.output tests/l-nb-spaced-lines.n=4.output
-                     tests/l-strip-empty.n=4.0.input tests/l-strip-empty.n=4.0.output
-                     tests/l-strip-empty.n=4.1.input tests/l-strip-empty.n=4.1.output
-                     tests/l-trail-comments.n=4.1.input tests/l-trail-comments.n=4.1.output
-                     tests/l-trail-comments.n=4.2.input tests/l-trail-comments.n=4.2.output
-                     tests/l-trail-comments.n=4.3.input tests/l-trail-comments.n=4.3.output
-                     tests/l-trail-comments.n=4.invalid.input
-                     tests/l-trail-comments.n=4.invalid.output tests/l-yaml-stream.empty.input
-                     tests/l-yaml-stream.empty.output tests/l-yaml-stream.explicit.input
-                     tests/l-yaml-stream.explicit.output tests/l-yaml-stream.implicit.input
-                     tests/l-yaml-stream.implicit.output tests/nb-char.input
-                     tests/nb-char.invalid.input tests/nb-char.invalid.output tests/nb-char.output
-                     tests/nb-double-char.a.input tests/nb-double-char.a.output
-                     tests/nb-double-char.backslash.invalid.input
-                     tests/nb-double-char.backslash.invalid.output
-                     tests/nb-double-char.double-quote.invalid.input
-                     tests/nb-double-char.double-quote.invalid.output
-                     tests/nb-double-char.escaped.input tests/nb-double-char.escaped.output
-                     tests/nb-double-multi-line.n=4.input
-                     tests/nb-double-multi-line.n=4.invalid.input
-                     tests/nb-double-multi-line.n=4.invalid.output
-                     tests/nb-double-multi-line.n=4.output tests/nb-double-one-line.input
-                     tests/nb-double-one-line.output tests/nb-double-text.n=4.c=flow-key.input
-                     tests/nb-double-text.n=4.c=flow-key.invalid.input
-                     tests/nb-double-text.n=4.c=flow-key.invalid.output
-                     tests/nb-double-text.n=4.c=flow-key.output
-                     tests/nb-double-text.n=4.c=flow-out.input
-                     tests/nb-double-text.n=4.c=flow-out.output tests/nb-ns-double-in-line.input
-                     tests/nb-ns-double-in-line.invalid.input
-                     tests/nb-ns-double-in-line.invalid.output tests/nb-ns-double-in-line.output
-                     tests/nb-ns-plain-in-line.c=flow-in.input
-                     tests/nb-ns-plain-in-line.c=flow-in.invalid.input
-                     tests/nb-ns-plain-in-line.c=flow-in.invalid.output
-                     tests/nb-ns-plain-in-line.c=flow-in.output tests/nb-ns-single-in-line.input
-                     tests/nb-ns-single-in-line.invalid.input
-                     tests/nb-ns-single-in-line.invalid.output tests/nb-ns-single-in-line.output
-                     tests/nb-plain-char.c=flow-in.invalid.input
-                     tests/nb-plain-char.c=flow-in.invalid.output
-                     tests/nb-plain-char.c=flow-in.space.input
-                     tests/nb-plain-char.c=flow-in.space.output
-                     tests/nb-plain-char.c=flow-out.a.input tests/nb-plain-char.c=flow-out.a.output
-                     tests/nb-plain-char.c=flow-out.comma.input
-                     tests/nb-plain-char.c=flow-out.comma.output tests/nb-single-char.escaped.input
-                     tests/nb-single-char.escaped.output tests/nb-single-char.invalid.input
-                     tests/nb-single-char.invalid.output tests/nb-single-multi-line.n=4.input
-                     tests/nb-single-multi-line.n=4.invalid.input
-                     tests/nb-single-multi-line.n=4.invalid.output
-                     tests/nb-single-multi-line.n=4.output tests/nb-single-one-line.input
-                     tests/nb-single-one-line.output tests/nb-single-text.n=4.c=flow-key.input
-                     tests/nb-single-text.n=4.c=flow-key.output
-                     tests/nb-single-text.n=4.c=flow-out.input
-                     tests/nb-single-text.n=4.c=flow-out.invalid.input
-                     tests/nb-single-text.n=4.c=flow-out.invalid.output
-                     tests/nb-single-text.n=4.c=flow-out.output tests/ns-anchor-char.input
-                     tests/ns-anchor-char.invalid.input tests/ns-anchor-char.invalid.output
-                     tests/ns-anchor-char.output tests/ns-anchor-name.input
-                     tests/ns-anchor-name.invalid.input tests/ns-anchor-name.invalid.output
-                     tests/ns-anchor-name.output tests/ns-ascii-letter.a.input
-                     tests/ns-ascii-letter.a.output tests/ns-ascii-letter.invalid.input
-                     tests/ns-ascii-letter.invalid.output tests/ns-ascii-letter.Z.input
-                     tests/ns-ascii-letter.Z.output tests/ns-char.input tests/ns-char.invalid.input
-                     tests/ns-char.invalid.output tests/ns-char.output tests/ns-dec-digit.0.input
-                     tests/ns-dec-digit.0.output tests/ns-dec-digit.1.input
-                     tests/ns-dec-digit.1.output tests/ns-dec-digit.2.input
-                     tests/ns-dec-digit.2.output tests/ns-dec-digit.3.input
-                     tests/ns-dec-digit.3.output tests/ns-dec-digit.4.input
-                     tests/ns-dec-digit.4.output tests/ns-dec-digit.5.input
-                     tests/ns-dec-digit.5.output tests/ns-dec-digit.6.input
-                     tests/ns-dec-digit.6.output tests/ns-dec-digit.7.input
-                     tests/ns-dec-digit.7.output tests/ns-dec-digit.8.input
-                     tests/ns-dec-digit.8.output tests/ns-dec-digit.9.input
-                     tests/ns-dec-digit.9.output tests/ns-dec-digit.invalid.input
-                     tests/ns-dec-digit.invalid.output tests/ns-directive-name.input
-                     tests/ns-directive-name.invalid.input tests/ns-directive-name.invalid.output
-                     tests/ns-directive-name.output tests/ns-directive-parameter.input
-                     tests/ns-directive-parameter.invalid.input
-                     tests/ns-directive-parameter.invalid.output tests/ns-directive-parameter.output
-                     tests/ns-double-char.input tests/ns-double-char.invalid.input
-                     tests/ns-double-char.invalid.output tests/ns-double-char.output
-                     tests/ns-esc-16-bit.input tests/ns-esc-16-bit.output tests/ns-esc-32-bit.input
-                     tests/ns-esc-32-bit.output tests/ns-esc-8-bit.input tests/ns-esc-8-bit.output
-                     tests/ns-esc-backslash.input tests/ns-esc-backslash.output
-                     tests/ns-esc-backspace.input tests/ns-esc-backspace.output
-                     tests/ns-esc-bell.input tests/ns-esc-bell.output
-                     tests/ns-esc-carriage-return.input tests/ns-esc-carriage-return.output
-                     tests/ns-esc-double-quote.input tests/ns-esc-double-quote.output
-                     tests/ns-esc-escape.input tests/ns-esc-escape.output
-                     tests/ns-esc-form-feed.input tests/ns-esc-form-feed.output
-                     tests/ns-esc-horizontal-tab.tab.input tests/ns-esc-horizontal-tab.tab.output
-                     tests/ns-esc-horizontal-tab.t.input tests/ns-esc-horizontal-tab.t.output
-                     tests/ns-esc-line-feed.input tests/ns-esc-line-feed.output
-                     tests/ns-esc-line-separator.input tests/ns-esc-line-separator.output
-                     tests/ns-esc-next-line.input tests/ns-esc-next-line.output
-                     tests/ns-esc-non-breaking-space.input tests/ns-esc-non-breaking-space.output
-                     tests/ns-esc-null.input tests/ns-esc-null.output
-                     tests/ns-esc-paragraph-separator.input tests/ns-esc-paragraph-separator.output
-                     tests/ns-esc-space.input tests/ns-esc-space.output
-                     tests/ns-esc-vertical-tab.input tests/ns-esc-vertical-tab.output
-                     tests/ns-flow-content.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-content.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-content.n=4.c=flow-in.json.input
-                     tests/ns-flow-content.n=4.c=flow-in.json.output
-                     tests/ns-flow-content.n=4.c=flow-in.yaml.input
-                     tests/ns-flow-content.n=4.c=flow-in.yaml.output
-                     tests/ns-flow-map-empty-key-entry-key-entry.n=4.c=flow-in.output
-                     tests/ns-flow-map-entry.n=4.c=flow-in.explicit.input
-                     tests/ns-flow-map-entry.n=4.c=flow-in.explicit.output
-                     tests/ns-flow-map-entry.n=4.c=flow-in.implicit.input
-                     tests/ns-flow-map-entry.n=4.c=flow-in.implicit.output
-                     tests/ns-flow-map-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-map-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.empty.input
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.empty.output
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.json.input
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.json.output
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.value.input
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.value.output
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.yaml.input
-                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.yaml.output
-                     tests/ns-flow-map-implicit-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-map-implicit-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.compact.input
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.compact.output
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.empty.input
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.empty.output
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.spaced.input
-                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.spaced.output
-                     tests/ns-flow-node.n=4.c=flow-in.alias.input
-                     tests/ns-flow-node.n=4.c=flow-in.alias.output
-                     tests/ns-flow-node.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-node.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-node.n=4.c=flow-in.tagged.input
-                     tests/ns-flow-node.n=4.c=flow-in.tagged.output
-                     tests/ns-flow-node.n=4.c=flow-in.tag.input
-                     tests/ns-flow-node.n=4.c=flow-in.tag.output
-                     tests/ns-flow-node.n=4.c=flow-in.untagged.input
-                     tests/ns-flow-node.n=4.c=flow-in.untagged.output
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.empty.input
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.empty.output
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.json.input
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.json.output
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.yaml.input
-                     tests/ns-flow-pair-entry.n=4.c=flow-in.yaml.output
-                     tests/ns-flow-pair.n=4.c=flow-in.explicit.input
-                     tests/ns-flow-pair.n=4.c=flow-in.explicit.output
-                     tests/ns-flow-pair.n=4.c=flow-in.implicit.input
-                     tests/ns-flow-pair.n=4.c=flow-in.implicit.output
-                     tests/ns-flow-pair.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-pair.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.input
-                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.output
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.node.input
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.node.output
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.pair.input
-                     tests/ns-flow-seq-entry.n=4.c=flow-in.pair.output
-                     tests/ns-flow-yaml-content.n=4.c=flow-in.input
-                     tests/ns-flow-yaml-content.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-yaml-content.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-yaml-content.n=4.c=flow-in.output
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.alias.input
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.alias.output
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.invalid.input
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.invalid.output
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.tagged.input
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.tagged.output
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.tag.input
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.tag.output
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.untagged.input
-                     tests/ns-flow-yaml-node.n=4.c=flow-in.untagged.output
-                     tests/ns-global-tag-prefix.input tests/ns-global-tag-prefix.invalid.input
-                     tests/ns-global-tag-prefix.invalid.output tests/ns-global-tag-prefix.output
-                     tests/ns-hex-digit.6.input tests/ns-hex-digit.6.output
-                     tests/ns-hex-digit.a.input tests/ns-hex-digit.a.output
-                     tests/ns-hex-digit.B.input tests/ns-hex-digit.B.output
-                     tests/ns-hex-digit.c.input tests/ns-hex-digit.c.output
-                     tests/ns-hex-digit.D.input tests/ns-hex-digit.D.output
-                     tests/ns-hex-digit.e.input tests/ns-hex-digit.e.output
-                     tests/ns-hex-digit.F.input tests/ns-hex-digit.F.output
-                     tests/ns-hex-digit.invalid.input tests/ns-hex-digit.invalid.output
-                     tests/ns-l-block-map-entry.n=2.explicit.input
-                     tests/ns-l-block-map-entry.n=2.explicit.output
-                     tests/ns-l-block-map-entry.n=2.implicit.input
-                     tests/ns-l-block-map-entry.n=2.implicit.output
-                     tests/ns-l-block-map-entry.n=2.invalid.input
-                     tests/ns-l-block-map-entry.n=2.invalid.output
-                     tests/ns-l-block-map-implicit-entry.n=2.empty.input
-                     tests/ns-l-block-map-implicit-entry.n=2.empty.output
-                     tests/ns-l-block-map-implicit-entry.n=2.invalid.input
-                     tests/ns-l-block-map-implicit-entry.n=2.invalid.output
-                     tests/ns-l-block-map-implicit-entry.n=2.non-empty.input
-                     tests/ns-l-block-map-implicit-entry.n=2.non-empty.output
-                     tests/ns-l-in-line-mapping.n=2.input
-                     tests/ns-l-in-line-mapping.n=2.invalid.input
-                     tests/ns-l-in-line-mapping.n=2.invalid.output
-                     tests/ns-l-in-line-mapping.n=2.output tests/ns-l-in-line-sequence.n=3.input
-                     tests/ns-l-in-line-sequence.n=3.invalid.input
-                     tests/ns-l-in-line-sequence.n=3.invalid.output
-                     tests/ns-l-in-line-sequence.n=3.output tests/ns-plain-char.c=flow-in.a.input
-                     tests/ns-plain-char.c=flow-in.a.output tests/ns-plain-char.c=flow-in.s.input
-                     tests/ns-plain-char.c=flow-in.s.output tests/ns-plain-first.c=flow-in.a.input
-                     tests/ns-plain-first.c=flow-in.a.output tests/ns-plain-first.c=flow-in.c.input
-                     tests/ns-plain-first.c=flow-in.c.output tests/ns-plain-first.c=flow-in.d.input
-                     tests/ns-plain-first.c=flow-in.d.output tests/ns-plain-first.c=flow-in.ia.input
-                     tests/ns-plain-first.c=flow-in.ia.output tests/ns-plain-first.c=flow-in.i.input
-                     tests/ns-plain-first.c=flow-in.i.output tests/ns-plain-first.c=flow-in.k.input
-                     tests/ns-plain-first.c=flow-in.k.output tests/ns-plain-first.c=flow-in.m.input
-                     tests/ns-plain-first.c=flow-in.m.output tests/ns-plain-first.c=flow-in.s.input
-                     tests/ns-plain-first.c=flow-in.s.output tests/ns-plain-first.c=flow-in.v.input
-                     tests/ns-plain-first.c=flow-in.v.output tests/ns-plain-first.c=flow-out.m.input
-                     tests/ns-plain-first.c=flow-out.m.output
-                     tests/ns-plain-multi-line.n=4.c=flow-in.input
-                     tests/ns-plain-multi-line.n=4.c=flow-in.invalid.input
-                     tests/ns-plain-multi-line.n=4.c=flow-in.invalid.output
-                     tests/ns-plain-multi-line.n=4.c=flow-in.output
-                     tests/ns-plain.n=1.c=flow-key.da.input tests/ns-plain.n=1.c=flow-key.da.output
-                     tests/ns-plain.n=1.c=flow-key.dc.input tests/ns-plain.n=1.c=flow-key.dc.output
-                     tests/ns-plain.n=1.c=flow-key.ds.input tests/ns-plain.n=1.c=flow-key.ds.output
-                     tests/ns-plain.n=1.c=flow-key.ka.input tests/ns-plain.n=1.c=flow-key.ka.output
-                     tests/ns-plain.n=1.c=flow-key.kc.input tests/ns-plain.n=1.c=flow-key.kc.output
-                     tests/ns-plain.n=1.c=flow-key.ks.input tests/ns-plain.n=1.c=flow-key.ks.output
-                     tests/ns-plain.n=1.c=flow-key.va.input tests/ns-plain.n=1.c=flow-key.va.output
-                     tests/ns-plain.n=1.c=flow-key.vc.input tests/ns-plain.n=1.c=flow-key.vc.output
-                     tests/ns-plain.n=1.c=flow-key.vs.input tests/ns-plain.n=1.c=flow-key.vs.output
-                     tests/ns-plain.n=4.c=flow-in.input tests/ns-plain.n=4.c=flow-in.output
-                     tests/ns-plain.n=4.c=flow-key.input tests/ns-plain.n=4.c=flow-key.invalid.input
-                     tests/ns-plain.n=4.c=flow-key.invalid.output
-                     tests/ns-plain.n=4.c=flow-key.output
-                     tests/ns-plain-one-line.c=flow-key.invalid.input
-                     tests/ns-plain-one-line.c=flow-key.invalid.output
-                     tests/ns-plain-one-line.c=flow-out.input
-                     tests/ns-plain-one-line.c=flow-out.output
-                     tests/ns-plain-safe.c=flow-in.mapping-start.input
-                     tests/ns-plain-safe.c=flow-in.mapping-start.output
-                     tests/ns-plain-safe.c=flow-in.v.input tests/ns-plain-safe.c=flow-in.v.output
-                     tests/ns-plain-safe.c=flow-out.a.input tests/ns-plain-safe.c=flow-out.a.output
-                     tests/ns-plain-safe.c=flow-out.c.input tests/ns-plain-safe.c=flow-out.c.output
-                     tests/ns-plain-safe.c=flow-out.mapping-start.input
-                     tests/ns-plain-safe.c=flow-out.mapping-start.output
-                     tests/ns-plain-safe-in.a.input tests/ns-plain-safe-in.a.output
-                     tests/ns-plain-safe-in.c.input tests/ns-plain-safe-in.c.output
-                     tests/ns-plain-safe-in.mapping-start.input
-                     tests/ns-plain-safe-in.mapping-start.output tests/ns-plain-safe-in.v.input
-                     tests/ns-plain-safe-in.v.output tests/ns-plain-safe-out.a.input
-                     tests/ns-plain-safe-out.a.output tests/ns-plain-safe-out.c.input
-                     tests/ns-plain-safe-out.c.output tests/ns-plain-safe-out.mapping-start.input
-                     tests/ns-plain-safe-out.mapping-start.output tests/ns-plain-safe-out.v.input
-                     tests/ns-plain-safe-out.v.output tests/ns-reserved-directive.input
-                     tests/ns-reserved-directive.invalid.input
-                     tests/ns-reserved-directive.invalid.output tests/ns-reserved-directive.output
-                     tests/ns-s-block-map-implicit-key.invalid.input
-                     tests/ns-s-block-map-implicit-key.invalid.output
-                     tests/ns-s-block-map-implicit-key.json.input
-                     tests/ns-s-block-map-implicit-key.json.output
-                     tests/ns-s-block-map-implicit-key.yaml.input
-                     tests/ns-s-block-map-implicit-key.yaml.output
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.invalid.input
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.invalid.output
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.lines.input
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.lines.output
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.multi.input
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.multi.output
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.single.input
-                     tests/ns-s-flow-map-entries.n=4.c=flow-in.single.output
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.invalid.input
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.invalid.output
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.lines.input
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.lines.output
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.multi.input
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.multi.output
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.single.input
-                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.single.output
-                     tests/ns-s-implicit-yaml-key.just.input
-                     tests/ns-s-implicit-yaml-key.just.output
-                     tests/ns-s-implicit-yaml-key.long.input
-                     tests/ns-s-implicit-yaml-key.long.output
-                     tests/ns-s-implicit-yaml-key.short.input
-                     tests/ns-s-implicit-yaml-key.short.output tests/ns-single-char.input
-                     tests/ns-single-char.invalid.input tests/ns-single-char.invalid.output
-                     tests/ns-single-char.output tests/ns-tag-char.input
-                     tests/ns-tag-char.invalid.input tests/ns-tag-char.invalid.output
-                     tests/ns-tag-char.output tests/ns-tag-directive.input
-                     tests/ns-tag-directive.invalid.input tests/ns-tag-directive.invalid.output
-                     tests/ns-tag-directive.output tests/ns-tag-prefix.global.input
-                     tests/ns-tag-prefix.global.output tests/ns-tag-prefix.invalid.input
-                     tests/ns-tag-prefix.invalid.output tests/ns-tag-prefix.local.input
-                     tests/ns-tag-prefix.local.output tests/ns-uri-char.6.input
-                     tests/ns-uri-char.6.output tests/ns-uri-char.ampersand.input
-                     tests/ns-uri-char.ampersand.output tests/ns-uri-char.asterisk.input
-                     tests/ns-uri-char.asterisk.output tests/ns-uri-char.at.input
-                     tests/ns-uri-char.at.output tests/ns-uri-char.colon.input
-                     tests/ns-uri-char.colon.output tests/ns-uri-char.comma.input
-                     tests/ns-uri-char.comma.output tests/ns-uri-char.dollar.input
-                     tests/ns-uri-char.dollar.output tests/ns-uri-char.equal.input
-                     tests/ns-uri-char.equal.output tests/ns-uri-char.escaped.input
-                     tests/ns-uri-char.escaped.output tests/ns-uri-char.exclamation.input
-                     tests/ns-uri-char.exclamation.output tests/ns-uri-char.hyphen.input
-                     tests/ns-uri-char.hyphen.output tests/ns-uri-char.invalid.input
-                     tests/ns-uri-char.invalid.output tests/ns-uri-char.left-round.input
-                     tests/ns-uri-char.left-round.output tests/ns-uri-char.left-square.input
-                     tests/ns-uri-char.left-square.output tests/ns-uri-char.n.input
-                     tests/ns-uri-char.n.output tests/ns-uri-char.period.input
-                     tests/ns-uri-char.period.output tests/ns-uri-char.plus.input
-                     tests/ns-uri-char.plus.output tests/ns-uri-char.question.input
-                     tests/ns-uri-char.question.output tests/ns-uri-char.right-round.input
-                     tests/ns-uri-char.right-round.output tests/ns-uri-char.right-square.input
-                     tests/ns-uri-char.right-square.output tests/ns-uri-char.semicolon.input
-                     tests/ns-uri-char.semicolon.output tests/ns-uri-char.single-quote.input
-                     tests/ns-uri-char.single-quote.output tests/ns-uri-char.slash.input
-                     tests/ns-uri-char.slash.output tests/ns-uri-char.tilde.input
-                     tests/ns-uri-char.tilde.output tests/ns-uri-char.underscore.input
-                     tests/ns-uri-char.underscore.output tests/ns-word-char.0.input
-                     tests/ns-word-char.0.output tests/ns-word-char.hyphen.input
-                     tests/ns-word-char.hyphen.output tests/ns-word-char.invalid.input
-                     tests/ns-word-char.invalid.output tests/ns-word-char.n.input
-                     tests/ns-word-char.n.output tests/ns-yaml-directive.input
-                     tests/ns-yaml-directive.invalid.input tests/ns-yaml-directive.invalid.output
-                     tests/ns-yaml-directive.output tests/ns-yaml-version.input
-                     tests/ns-yaml-version.invalid.input tests/ns-yaml-version.invalid.output
-                     tests/ns-yaml-version.output tests/s-b-comment.empty.input
-                     tests/s-b-comment.empty.output tests/s-b-comment.invalid.input
-                     tests/s-b-comment.invalid.output tests/s-b-comment.sol-text.input
-                     tests/s-b-comment.sol-text.output tests/s-b-comment.spaces.input
-                     tests/s-b-comment.spaces.output tests/s-b-comment.spaces-text.input
-                     tests/s-b-comment.spaces-text.output tests/s-block-line-prefix.n=4.input
-                     tests/s-block-line-prefix.n=4.invalid.input
-                     tests/s-block-line-prefix.n=4.invalid.output
-                     tests/s-block-line-prefix.n=4.output tests/s-flow-line-prefix.n=4.indent.input
-                     tests/s-flow-line-prefix.n=4.indent.output
-                     tests/s-flow-line-prefix.n=4.invalid.input
-                     tests/s-flow-line-prefix.n=4.invalid.output
-                     tests/s-flow-line-prefix.n=4.tab.input tests/s-flow-line-prefix.n=4.tab.output
-                     tests/s-indent-le.n=0.input tests/s-indent-le.n=0.output
-                     tests/s-indent-le.n=-1.invalid.input tests/s-indent-le.n=-1.invalid.output
-                     tests/s-indent-le.n=4.input tests/s-indent-le.n=4.invalid.input
-                     tests/s-indent-le.n=4.invalid.output tests/s-indent-le.n=4.output
-                     tests/s-indent-lt.n=0.invalid.input tests/s-indent-lt.n=0.invalid.output
-                     tests/s-indent-lt.n=-1.invalid.input tests/s-indent-lt.n=-1.invalid.output
-                     tests/s-indent-lt.n=4.input tests/s-indent-lt.n=4.invalid.input
-                     tests/s-indent-lt.n=4.invalid.output tests/s-indent-lt.n=4.output
-                     tests/s-indent.n=0.input tests/s-indent.n=0.output tests/s-indent.n=-1.input
-                     tests/s-indent.n=-1.output tests/s-indent.n=4.input
-                     tests/s-indent.n=4.invalid.input tests/s-indent.n=4.invalid.output
-                     tests/s-indent.n=4.output
-                     tests/s-l+block-collection.n=2.c=block-in.invalid.input
-                     tests/s-l+block-collection.n=2.c=block-in.invalid.output
-                     tests/s-l+block-collection.n=2.c=block-in.mapping.input
-                     tests/s-l+block-collection.n=2.c=block-in.mapping.output
-                     tests/s-l+block-collection.n=2.c=block-out.mapping.input
-                     tests/s-l+block-collection.n=2.c=block-out.mapping.output
-                     tests/s-l+block-collection.n=2.c=block-out.sequence.input
-                     tests/s-l+block-collection.n=2.c=block-out.sequence.output
-                     tests/s-l+block-in-block.n=2.c=block-in.invalid.input
-                     tests/s-l+block-in-block.n=2.c=block-in.invalid.output
-                     tests/s-l+block-in-block.n=2.c=block-in.tagged.input
-                     tests/s-l+block-in-block.n=2.c=block-in.tagged.output
-                     tests/s-l+block-in-block.n=2.c=block-in.untagged.input
-                     tests/s-l+block-in-block.n=2.c=block-in.untagged.output
-                     tests/s-l+block-in-block.n=2.c=block-out.invalid.input
-                     tests/s-l+block-in-block.n=2.c=block-out.invalid.output
-                     tests/s-l+block-indented.n=2.c=block-in.in-line-map.input
-                     tests/s-l+block-indented.n=2.c=block-in.in-line-map.output
-                     tests/s-l+block-indented.n=2.c=block-in.in-line-seq.input
-                     tests/s-l+block-indented.n=2.c=block-in.in-line-seq.output
-                     tests/s-l+block-indented.n=2.c=block-in.invalid.input
-                     tests/s-l+block-indented.n=2.c=block-in.invalid.output
-                     tests/s-l+block-indented.n=2.c=block-in.literal.input
-                     tests/s-l+block-indented.n=2.c=block-in.literal.output
-                     tests/s-l+block-indented.n=2.c=block-in.sequence.input
-                     tests/s-l+block-indented.n=2.c=block-in.sequence.output
-                     tests/s-l+block-indented.n=2.c=block-out.in-line-map.input
-                     tests/s-l+block-indented.n=2.c=block-out.in-line-map.output
-                     tests/s-l+block-indented.n=2.c=block-out.in-line-seq.input
-                     tests/s-l+block-indented.n=2.c=block-out.in-line-seq.output
-                     tests/s-l+block-indented.n=2.c=block-out.invalid.input
-                     tests/s-l+block-indented.n=2.c=block-out.invalid.output
-                     tests/s-l+block-indented.n=2.c=block-out.sequence.input
-                     tests/s-l+block-indented.n=2.c=block-out.sequence.output
-                     tests/s-l+block-node.n=0.c=block-out.invalid.input
-                     tests/s-l+block-node.n=0.c=block-out.invalid.output
-                     tests/s-l+block-node.n=-1.c=block-in.1.input
-                     tests/s-l+block-node.n=-1.c=block-in.1.output
-                     tests/s-l+block-node.n=-1.c=block-in.2.input
-                     tests/s-l+block-node.n=-1.c=block-in.2.output
-                     tests/s-l+block-node.n=-1.c=block-in.3.input
-                     tests/s-l+block-node.n=-1.c=block-in.3.output
-                     tests/s-l+block-node.n=-1.c=block-in.input
-                     tests/s-l+block-node.n=-1.c=block-in.invalid.input
-                     tests/s-l+block-node.n=-1.c=block-in.invalid.output
-                     tests/s-l+block-node.n=-1.c=block-in.output
-                     tests/s-l+block-node.n=-1.c=block-out.1.input
-                     tests/s-l+block-node.n=-1.c=block-out.1.output
-                     tests/s-l+block-node.n=-1.c=block-out.2.input
-                     tests/s-l+block-node.n=-1.c=block-out.2.output
-                     tests/s-l+block-node.n=-1.c=block-out.3.input
-                     tests/s-l+block-node.n=-1.c=block-out.3.output
-                     tests/s-l+block-node.n=-1.c=block-out.input
-                     tests/s-l+block-node.n=-1.c=block-out.invalid.input
-                     tests/s-l+block-node.n=-1.c=block-out.invalid.output
-                     tests/s-l+block-node.n=-1.c=block-out.output
-                     tests/s-l+block-node.n=2.c=block-in.block.input
-                     tests/s-l+block-node.n=2.c=block-in.block.output
-                     tests/s-l+block-node.n=2.c=block-in.flow.input
-                     tests/s-l+block-node.n=2.c=block-in.flow.output
-                     tests/s-l+block-node.n=2.c=block-in.invalid.input
-                     tests/s-l+block-node.n=2.c=block-in.invalid.output
-                     tests/s-l+block-node.n=2.c=block-out.flow.input
-                     tests/s-l+block-node.n=2.c=block-out.flow.output
-                     tests/s-l+block-scalar.n=2.c=block-in.folded.input
-                     tests/s-l+block-scalar.n=2.c=block-in.folded.invalid.input
-                     tests/s-l+block-scalar.n=2.c=block-in.folded.invalid.output
-                     tests/s-l+block-scalar.n=2.c=block-in.folded.output
-                     tests/s-l+block-scalar.n=2.c=block-in.literal.input
-                     tests/s-l+block-scalar.n=2.c=block-in.literal.invalid.input
-                     tests/s-l+block-scalar.n=2.c=block-in.literal.invalid.output
-                     tests/s-l+block-scalar.n=2.c=block-in.literal.output
-                     tests/s-l-comments.invalid.input tests/s-l-comments.invalid.output
-                     tests/s-l-comments.lines.input tests/s-l-comments.lines.output
-                     tests/s-l-comments.multi.input tests/s-l-comments.multi.output
-                     tests/s-l-comments.sol.input tests/s-l-comments.sol.output
-                     tests/s-l-double-any.n=4.escaped.input tests/s-l-double-any.n=4.escaped.output
-                     tests/s-l-double-any.n=4.folded.input tests/s-l-double-any.n=4.folded.output
-                     tests/s-l-double-any.n=4.invalid.input tests/s-l-double-any.n=4.invalid.output
-                     tests/s-l-double-escaped.n=2.input tests/s-l-double-escaped.n=2.invalid.input
-                     tests/s-l-double-escaped.n=2.invalid.output tests/s-l-double-escaped.n=2.output
-                     tests/s-l-flow-folded.n=4.invalid.input
-                     tests/s-l-flow-folded.n=4.invalid.output tests/s-l-flow-folded.n=4.lf.input
-                     tests/s-l-flow-folded.n=4.lf.output tests/s-l-flow-folded.n=4.sp-lf-lf.input
-                     tests/s-l-flow-folded.n=4.sp-lf-lf.output tests/s-l+flow-in-block.n=2.input
-                     tests/s-l+flow-in-block.n=2.invalid.input
-                     tests/s-l+flow-in-block.n=2.invalid.output tests/s-l+flow-in-block.n=2.output
-                     tests/s-line-prefix.n=4.c=block-in.input
-                     tests/s-line-prefix.n=4.c=block-in.output
-                     tests/s-line-prefix.n=4.c=block-out.invalid.input
-                     tests/s-line-prefix.n=4.c=block-out.invalid.output
-                     tests/s-line-prefix.n=4.c=flow-in.input
-                     tests/s-line-prefix.n=4.c=flow-in.output
-                     tests/s-line-prefix.n=4.c=flow-out.input
-                     tests/s-line-prefix.n=4.c=flow-out.output tests/s-nb-folded-text.n=4.input
-                     tests/s-nb-folded-text.n=4.invalid.input
-                     tests/s-nb-folded-text.n=4.invalid.output tests/s-nb-folded-text.n=4.output
-                     tests/s-nb-spaced-text.n=4.input tests/s-nb-spaced-text.n=4.invalid.input
-                     tests/s-nb-spaced-text.n=4.invalid.output tests/s-nb-spaced-text.n=4.output
-                     tests/s-ns-double-next-line.n=4.input
-                     tests/s-ns-double-next-line.n=4.invalid.input
-                     tests/s-ns-double-next-line.n=4.invalid.output
-                     tests/s-ns-double-next-line.n=4.output
-                     tests/s-ns-plain-next-line.n=4.c=flow-in.input
-                     tests/s-ns-plain-next-line.n=4.c=flow-in.invalid.input
-                     tests/s-ns-plain-next-line.n=4.c=flow-in.invalid.output
-                     tests/s-ns-plain-next-line.n=4.c=flow-in.output
-                     tests/s-ns-single-next-line.n=4.input
-                     tests/s-ns-single-next-line.n=4.invalid.input
-                     tests/s-ns-single-next-line.n=4.invalid.output
-                     tests/s-ns-single-next-line.n=4.output tests/s-separate-in-line.invalid.input
-                     tests/s-separate-in-line.invalid.output tests/s-separate-in-line.sol.input
-                     tests/s-separate-in-line.sol.output tests/s-separate-in-line.sp.input
-                     tests/s-separate-in-line.sp.output tests/s-separate-lines.n=4.invalid.input
-                     tests/s-separate-lines.n=4.invalid.output
-                     tests/s-separate-lines.n=4.lines.input tests/s-separate-lines.n=4.lines.output
-                     tests/s-separate-lines.n=4.sol.input tests/s-separate-lines.n=4.sol.output
-                     tests/s-separate-lines.n=4.sp.input tests/s-separate-lines.n=4.sp.output
-                     tests/s-separate.n=4.c=flow-key.empty.input
-                     tests/s-separate.n=4.c=flow-key.empty.output
-                     tests/s-separate.n=4.c=flow-key.invalid.input
-                     tests/s-separate.n=4.c=flow-key.invalid.output
-                     tests/s-separate.n=4.c=flow-key.sp.input
-                     tests/s-separate.n=4.c=flow-key.sp.output
-                     tests/s-separate.n=4.c=flow-out.empty.input
-                     tests/s-separate.n=4.c=flow-out.empty.output
-                     tests/s-separate.n=4.c=flow-out.line.input
-                     tests/s-separate.n=4.c=flow-out.line.output
-                     tests/s-separate.n=4.c=flow-out.sp.input
-                     tests/s-separate.n=4.c=flow-out.sp.output tests/s-space.input
-                     tests/s-space.invalid.input tests/s-space.invalid.output tests/s-space.output
-                     tests/s-tab.input tests/s-tab.invalid.input tests/s-tab.invalid.output
-                     tests/s-tab.output tests/s-white.invalid.input tests/s-white.invalid.output
-                     tests/s-white.sp.input tests/s-white.sp.output tests/s-white.tab.input
-                     tests/s-white.tab.output
+Version:             0.9.1
+Cabal-Version:       >= 1.2
+License:             LGPL
+License-File:        lgpl.txt
+Copyright:           Oren Ben-Kiki 2007, 2008
+Author:              Oren Ben-Kiki
+Maintainer:          yaml-oren@ben-kiki.org
+Stability:           alpha
+Homepage:            http://www.ben-kiki.org/oren/YamlReference
+Package-Url:         http://www.ben-kiki.org/oren/YamlReference/YamlReference-0.9.1.tar.gz
+Category:            Text
+Synopsis:            YAML reference implementation
+Build-Type:          Custom
+Description:         This package contains \"the\" reference YAML syntax parser
+                     ("Text.Yaml.Reference"), generated directly from the YAML
+                     specifications, as well as sample program (@yaml2yeast@)
+                     that allows accessing it from the command line, converting
+                     YAML files to YEAST tokens. This is intended to be more of
+                     an \"executable specification\" for YAML rather than an
+                     actual basis for YAML tool chains. That said, it is
+                     possible to build interesting tools on top of it, such as
+                     the @yeast2html@ YAML syntax visualizer (contained in this
+                     package), pretty printers, etc. This is a streaming parser
+                     that will \"immediately\" begin to generate output. Updated
+                     to be compatible with the April 12, 2008 working draft.
+Extra-Source-Files:  Text/Yaml/Reference.bnf yeast2html yaml2yeast.css
+                     tests/b-as-line-feed.input tests/b-as-line-feed.output
+                     tests/b-carriage-return.input
+                     tests/b-carriage-return.output tests/b-char.cr.input
+                     tests/b-char.cr.output tests/b-char.invalid.input
+                     tests/b-char.invalid.output tests/b-char.lf.input
+                     tests/b-char.lf.output tests/b-char.ls.input
+                     tests/b-char.ls.output tests/b-char.nl.input
+                     tests/b-char.nl.output tests/b-char.ps.input
+                     tests/b-char.ps.output tests/b-chomped-last.t=clip.input
+                     tests/b-chomped-last.t=clip.invalid.input
+                     tests/b-chomped-last.t=clip.invalid.output
+                     tests/b-chomped-last.t=clip.output
+                     tests/b-chomped-last.t=keep.input
+                     tests/b-chomped-last.t=keep.output
+                     tests/b-chomped-last.t=strip.input
+                     tests/b-chomped-last.t=strip.output
+                     tests/b-generic.cr.input tests/b-generic.crlf.input
+                     tests/b-generic.crlf.output tests/b-generic.cr.output
+                     tests/b-generic.invalid.input
+                     tests/b-generic.invalid.output tests/b-generic.lf.input
+                     tests/b-generic.lf.output tests/b-generic.nl.input
+                     tests/b-generic.nl.output
+                     tests/b-l-folded-any.n=4.c=flow-in.as-space.input
+                     tests/b-l-folded-any.n=4.c=flow-in.as-space.output
+                     tests/b-l-folded-any.n=4.c=flow-in.invalid.input
+                     tests/b-l-folded-any.n=4.c=flow-in.invalid.output
+                     tests/b-l-folded-any.n=4.c=flow-in.specific.input
+                     tests/b-l-folded-any.n=4.c=flow-in.specific.output
+                     tests/b-l-folded-any.n=4.c=flow-in.trimmed.input
+                     tests/b-l-folded-any.n=4.c=flow-in.trimmed.output
+                     tests/b-l-folded-as-space.input
+                     tests/b-l-folded-as-space.invalid.input
+                     tests/b-l-folded-as-space.invalid.output
+                     tests/b-l-folded-as-space.output
+                     tests/b-l-folded-specific.n=4.c=flow-in.invalid.input
+                     tests/b-l-folded-specific.n=4.c=flow-in.invalid.output
+                     tests/b-l-folded-specific.n=4.c=flow-in.ls.input
+                     tests/b-l-folded-specific.n=4.c=flow-in.ls-lf-ls.input
+                     tests/b-l-folded-specific.n=4.c=flow-in.ls-lf-ls.output
+                     tests/b-l-folded-specific.n=4.c=flow-in.ls.output
+                     tests/b-l-folded-trimmed.n=4.c=flow-in.invalid.input
+                     tests/b-l-folded-trimmed.n=4.c=flow-in.invalid.output
+                     tests/b-l-folded-trimmed.n=4.c=flow-in.lf-ls-lf.input
+                     tests/b-l-folded-trimmed.n=4.c=flow-in.lf-ls-lf.output
+                     tests/b-line-feed.input tests/b-line-feed.output
+                     tests/b-line-separator.input tests/b-line-separator.output
+                     tests/b-l-spaced.n=4.input
+                     tests/b-l-spaced.n=4.invalid.input
+                     tests/b-l-spaced.n=4.invalid.output
+                     tests/b-l-spaced.n=4.output
+                     tests/b-nb-literal-next.n=4.input
+                     tests/b-nb-literal-next.n=4.invalid.input
+                     tests/b-nb-literal-next.n=4.invalid.output
+                     tests/b-nb-literal-next.n=4.output tests/b-next-line.input
+                     tests/b-next-line.output
+                     tests/b-non-content-any.invalid.input
+                     tests/b-non-content-any.invalid.output
+                     tests/b-non-content-any.lf.input
+                     tests/b-non-content-any.lf.output
+                     tests/b-non-content-any.ls.input
+                     tests/b-non-content-any.ls.output
+                     tests/b-non-content-generic.input
+                     tests/b-non-content-generic.output
+                     tests/b-normalized.invalid.input
+                     tests/b-normalized.invalid.output
+                     tests/b-normalized.lf.input tests/b-normalized.lf.output
+                     tests/b-normalized.ls.input tests/b-normalized.ls.output
+                     tests/b-paragraph-separator.input
+                     tests/b-paragraph-separator.output
+                     tests/b-specific.invalid.input
+                     tests/b-specific.invalid.output tests/b-specific.ls.input
+                     tests/b-specific.ls.output tests/b-specific.ps.input
+                     tests/b-specific.ps.output tests/c-alias.input
+                     tests/c-alias.output tests/c-anchor.input
+                     tests/c-anchor.output tests/c-b-block-header.n=2.e.input
+                     tests/c-b-block-header.n=2.e.output
+                     tests/c-b-block-header.n=2.im.input
+                     tests/c-b-block-header.n=2.im.output
+                     tests/c-b-block-header.n=2.imt.input
+                     tests/c-b-block-header.n=2.imt.output
+                     tests/c-b-block-header.n=2.it.input
+                     tests/c-b-block-header.n=2.itm.input
+                     tests/c-b-block-header.n=2.itm.output
+                     tests/c-b-block-header.n=2.it.output
+                     tests/c-byte-order-mark.invalid.input
+                     tests/c-byte-order-mark.invalid.output
+                     tests/c-byte-order-mark.utf16be.input
+                     tests/c-byte-order-mark.utf16be.output
+                     tests/c-byte-order-mark.utf16le.input
+                     tests/c-byte-order-mark.utf16le.output
+                     tests/c-byte-order-mark.utf8.input
+                     tests/c-byte-order-mark.utf8.output
+                     tests/c-chomping-indicator.empty.input
+                     tests/c-chomping-indicator.empty.output
+                     tests/c-chomping-indicator.hyphen.input
+                     tests/c-chomping-indicator.hyphen.output
+                     tests/c-chomping-indicator.invalid.input
+                     tests/c-chomping-indicator.invalid.output
+                     tests/c-chomping-indicator.plus.input
+                     tests/c-chomping-indicator.plus.output
+                     tests/c-collect-entry.input tests/c-collect-entry.output
+                     tests/c-comment.input tests/c-comment.output
+                     tests/c-directive.input tests/c-directive.output
+                     tests/c-document-end.input
+                     tests/c-document-end.invalid.input
+                     tests/c-document-end.invalid.output
+                     tests/c-document-end.output tests/c-document-start.input
+                     tests/c-document-start.invalid.input
+                     tests/c-document-start.invalid.output
+                     tests/c-document-start.output
+                     tests/c-double-quoted.n=4.c=flow-out.input
+                     tests/c-double-quoted.n=4.c=flow-out.invalid.input
+                     tests/c-double-quoted.n=4.c=flow-out.invalid.output
+                     tests/c-double-quoted.n=4.c=flow-out.output
+                     tests/c-double-quote.input tests/c-double-quote.output
+                     tests/c-escape.input tests/c-escape.invalid.input
+                     tests/c-escape.invalid.output tests/c-escape.output
+                     tests/c-flow-indicator.collect-entry.input
+                     tests/c-flow-indicator.collect-entry.output
+                     tests/c-flow-indicator.invalid.input
+                     tests/c-flow-indicator.invalid.output
+                     tests/c-flow-indicator.mapping-end.input
+                     tests/c-flow-indicator.mapping-end.output
+                     tests/c-flow-indicator.mapping-start.input
+                     tests/c-flow-indicator.mapping-start.output
+                     tests/c-flow-indicator.sequence-end.input
+                     tests/c-flow-indicator.sequence-end.output
+                     tests/c-flow-indicator.sequence-start.input
+                     tests/c-flow-indicator.sequence-start.output
+                     tests/c-flow-json-content.n=4.c=flow-in.double.input
+                     tests/c-flow-json-content.n=4.c=flow-in.double.output
+                     tests/c-flow-json-content.n=4.c=flow-in.invalid.input
+                     tests/c-flow-json-content.n=4.c=flow-in.invalid.output
+                     tests/c-flow-json-content.n=4.c=flow-in.mapping.input
+                     tests/c-flow-json-content.n=4.c=flow-in.mapping.output
+                     tests/c-flow-json-content.n=4.c=flow-in.sequence.input
+                     tests/c-flow-json-content.n=4.c=flow-in.sequence.output
+                     tests/c-flow-json-node.n=4.c=flow-in.invalid.input
+                     tests/c-flow-json-node.n=4.c=flow-in.invalid.output
+                     tests/c-flow-json-node.n=4.c=flow-in.tagged.input
+                     tests/c-flow-json-node.n=4.c=flow-in.tagged.output
+                     tests/c-flow-json-node.n=4.c=flow-in.untagged.input
+                     tests/c-flow-json-node.n=4.c=flow-in.untagged.output
+                     tests/c-flow-mapping.n=4.c=flow-in.compact.input
+                     tests/c-flow-mapping.n=4.c=flow-in.compact.output
+                     tests/c-flow-mapping.n=4.c=flow-in.invalid.input
+                     tests/c-flow-mapping.n=4.c=flow-in.invalid.output
+                     tests/c-flow-mapping.n=4.c=flow-in.long.input
+                     tests/c-flow-mapping.n=4.c=flow-in.long.output
+                     tests/c-flow-mapping.n=4.c=flow-in.spaced.input
+                     tests/c-flow-mapping.n=4.c=flow-in.spaced.output
+                     tests/c-flow-sequence.n=4.c=flow-in.compact.input
+                     tests/c-flow-sequence.n=4.c=flow-in.compact.output
+                     tests/c-flow-sequence.n=4.c=flow-in.invalid.input
+                     tests/c-flow-sequence.n=4.c=flow-in.invalid.output
+                     tests/c-flow-sequence.n=4.c=flow-in.spaced.input
+                     tests/c-flow-sequence.n=4.c=flow-in.spaced.output
+                     tests/c-folded.input tests/c-folded.output
+                     tests/c-forbidden.end-space.input
+                     tests/c-forbidden.end-space.output
+                     tests/c-forbidden.invalid.input
+                     tests/c-forbidden.invalid.output
+                     tests/c-forbidden.start.input
+                     tests/c-forbidden.start-lf.input
+                     tests/c-forbidden.start-lf.output
+                     tests/c-forbidden.start.output
+                     tests/c-indentation-indicator.n=0.input
+                     tests/c-indentation-indicator.n=0.invalid.input
+                     tests/c-indentation-indicator.n=0.invalid.output
+                     tests/c-indentation-indicator.n=0.output
+                     tests/c-indicator.alias.input
+                     tests/c-indicator.alias.output
+                     tests/c-indicator.anchor.input
+                     tests/c-indicator.anchor.output
+                     tests/c-indicator.collect-entry.input
+                     tests/c-indicator.collect-entry.output
+                     tests/c-indicator.comment.input
+                     tests/c-indicator.comment.output
+                     tests/c-indicator.directive.input
+                     tests/c-indicator.directive.output
+                     tests/c-indicator.double-quote.input
+                     tests/c-indicator.double-quote.output
+                     tests/c-indicator.folded.input
+                     tests/c-indicator.folded.output
+                     tests/c-indicator.invalid.input
+                     tests/c-indicator.invalid.output
+                     tests/c-indicator.literal.input
+                     tests/c-indicator.literal.output
+                     tests/c-indicator.mapping-end.input
+                     tests/c-indicator.mapping-end.output
+                     tests/c-indicator.mapping-key.input
+                     tests/c-indicator.mapping-key.output
+                     tests/c-indicator.mapping-start.input
+                     tests/c-indicator.mapping-start.output
+                     tests/c-indicator.mapping-value.input
+                     tests/c-indicator.mapping-value.output
+                     tests/c-indicator.reserved.at.input
+                     tests/c-indicator.reserved.at.output
+                     tests/c-indicator.reserved.backtick.input
+                     tests/c-indicator.reserved.backtick.output
+                     tests/c-indicator.sequence-end.input
+                     tests/c-indicator.sequence-end.output
+                     tests/c-indicator.sequence-entry.input
+                     tests/c-indicator.sequence-entry.output
+                     tests/c-indicator.sequence-start.input
+                     tests/c-indicator.sequence-start.output
+                     tests/c-indicator.single-quote.input
+                     tests/c-indicator.single-quote.output
+                     tests/c-indicator.tag.input tests/c-indicator.tag.output
+                     tests/c-l-block-map-explicit-entry.n=2.input
+                     tests/c-l-block-map-explicit-entry.n=2.invalid.input
+                     tests/c-l-block-map-explicit-entry.n=2.invalid.output
+                     tests/c-l-block-map-explicit-entry.n=2.output
+                     tests/c-l-block-map-explicit-key.n=2.input
+                     tests/c-l-block-map-explicit-key.n=2.invalid.input
+                     tests/c-l-block-map-explicit-key.n=2.invalid.output
+                     tests/c-l-block-map-explicit-key.n=2.output
+                     tests/c-l-block-map-implicit-value.n=2.empty.input
+                     tests/c-l-block-map-implicit-value.n=2.empty.output
+                     tests/c-l-block-map-implicit-value.n=2.invalid.input
+                     tests/c-l-block-map-implicit-value.n=2.invalid.output
+                     tests/c-l-block-map-implicit-value.n=2.plain.input
+                     tests/c-l-block-map-implicit-value.n=2.plain.output
+                     tests/c-l-block-seq-entry.n=2.input
+                     tests/c-l-block-seq-entry.n=2.invalid.input
+                     tests/c-l-block-seq-entry.n=2.invalid.output
+                     tests/c-l-block-seq-entry.n=2.output
+                     tests/c-l+folded.n=2.indent.input
+                     tests/c-l+folded.n=2.indent.output
+                     tests/c-l+folded.n=2.invalid.input
+                     tests/c-l+folded.n=2.invalid.output
+                     tests/c-l+folded.n=2.simple.input
+                     tests/c-l+folded.n=2.simple.output tests/c-literal.input
+                     tests/c-literal.output tests/c-l+literal.n=2.invalid.input
+                     tests/c-l+literal.n=2.invalid.output
+                     tests/c-l+literal.n=2.simple.input
+                     tests/c-l+literal.n=2.simple.output
+                     tests/c-l+literal.n=2.strip-indent.input
+                     tests/c-l+literal.n=2.strip-indent.output
+                     tests/c-l+literal.n=2.strip.input
+                     tests/c-l+literal.n=2.strip.output
+                     tests/c-mapping-end.input tests/c-mapping-end.output
+                     tests/c-mapping-key.input tests/c-mapping-key.output
+                     tests/c-mapping-start.input tests/c-mapping-start.output
+                     tests/c-mapping-value.input tests/c-mapping-value.output
+                     tests/c-named-tag-handle.input
+                     tests/c-named-tag-handle.invalid.input
+                     tests/c-named-tag-handle.invalid.output
+                     tests/c-named-tag-handle.output
+                     tests/c-nb-comment-text.comment.input
+                     tests/c-nb-comment-text.comment.output
+                     tests/c-nb-comment-text.comment-text.input
+                     tests/c-nb-comment-text.comment-text.output
+                     tests/c-nb-comment-text.invalid.input
+                     tests/c-nb-comment-text.invalid.output
+                     tests/c-non-specific-tag.input
+                     tests/c-non-specific-tag.invalid.input
+                     tests/c-non-specific-tag.invalid.output
+                     tests/c-non-specific-tag.output
+                     tests/c-ns-alias-node.input tests/c-ns-alias-node.output
+                     tests/c-ns-anchor-property.input
+                     tests/c-ns-anchor-property.invalid.input
+                     tests/c-ns-anchor-property.invalid.output
+                     tests/c-ns-anchor-property.output
+                     tests/c-ns-esc-char.16-bit.input
+                     tests/c-ns-esc-char.16-bit.output
+                     tests/c-ns-esc-char.32-bit.input
+                     tests/c-ns-esc-char.32-bit.output
+                     tests/c-ns-esc-char.8-bit.input
+                     tests/c-ns-esc-char.8-bit.output
+                     tests/c-ns-esc-char.backslash.input
+                     tests/c-ns-esc-char.backslash.output
+                     tests/c-ns-esc-char.bell.input
+                     tests/c-ns-esc-char.bell.output
+                     tests/c-ns-esc-char.bs.input tests/c-ns-esc-char.bs.output
+                     tests/c-ns-esc-char.cr.input tests/c-ns-esc-char.cr.output
+                     tests/c-ns-esc-char.double-quote.input
+                     tests/c-ns-esc-char.double-quote.output
+                     tests/c-ns-esc-char.esc.input
+                     tests/c-ns-esc-char.esc.output
+                     tests/c-ns-esc-char.ff.input tests/c-ns-esc-char.ff.output
+                     tests/c-ns-esc-char.lf.input tests/c-ns-esc-char.lf.output
+                     tests/c-ns-esc-char.ls.input tests/c-ns-esc-char.ls.output
+                     tests/c-ns-esc-char.nbsp.input
+                     tests/c-ns-esc-char.nbsp.output
+                     tests/c-ns-esc-char.nl.input tests/c-ns-esc-char.nl.output
+                     tests/c-ns-esc-char.null.input
+                     tests/c-ns-esc-char.null.output
+                     tests/c-ns-esc-char.ps.input tests/c-ns-esc-char.ps.output
+                     tests/c-ns-esc-char.sp.input tests/c-ns-esc-char.sp.output
+                     tests/c-ns-esc-char.tab.input
+                     tests/c-ns-esc-char.tab.output
+                     tests/c-ns-esc-char.vt.input tests/c-ns-esc-char.vt.output
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.compact.input
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.compact.output
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.empty.input
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.empty.output
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.invalid.input
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.invalid.output
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.spaced.input
+                     tests/c-ns-flow-map-adjacent-value.n=4.c=flow-in.spaced.output
+                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.input
+                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.invalid.input
+                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.invalid.output
+                     tests/c-ns-flow-map-empty-key-entry.n=4.c=flow-in.output
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.compact.input
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.compact.output
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.empty.input
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.empty.output
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.invalid.input
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.invalid.output
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.spaced.input
+                     tests/c-ns-flow-map-json-key-entry.n=4.c=flow-in.spaced.output
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.empty.input
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.empty.output
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.invalid.input
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.invalid.output
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.value.input
+                     tests/c-ns-flow-map-separate-value.n=4.c=flow-in.value.output
+                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.input
+                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.invalid.input
+                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.invalid.output
+                     tests/c-ns-flow-pair-json-key-entry.n=4.c=flow-in.output
+                     tests/c-ns-local-tag-prefix.input
+                     tests/c-ns-local-tag-prefix.invalid.input
+                     tests/c-ns-local-tag-prefix.invalid.output
+                     tests/c-ns-local-tag-prefix.output
+                     tests/c-ns-properties.n=0.c=block-in.input
+                     tests/c-ns-properties.n=0.c=block-in.invalid.input
+                     tests/c-ns-properties.n=0.c=block-in.invalid.output
+                     tests/c-ns-properties.n=0.c=block-in.output
+                     tests/c-ns-properties.n=0.c=block-out.input
+                     tests/c-ns-properties.n=0.c=block-out.output
+                     tests/c-ns-properties.n=0.c=flow-out.input
+                     tests/c-ns-properties.n=0.c=flow-out.invalid.input
+                     tests/c-ns-properties.n=0.c=flow-out.invalid.output
+                     tests/c-ns-properties.n=0.c=flow-out.output
+                     tests/c-ns-shorthand-tag.invalid.input
+                     tests/c-ns-shorthand-tag.invalid.output
+                     tests/c-ns-shorthand-tag.named.input
+                     tests/c-ns-shorthand-tag.named.output
+                     tests/c-ns-shorthand-tag.primary.input
+                     tests/c-ns-shorthand-tag.primary.output
+                     tests/c-ns-shorthand-tag.secondary.input
+                     tests/c-ns-shorthand-tag.secondary.output
+                     tests/c-ns-tag-property.invalid.input
+                     tests/c-ns-tag-property.invalid.output
+                     tests/c-ns-tag-property.non-specific.input
+                     tests/c-ns-tag-property.non-specific.output
+                     tests/c-ns-tag-property.shorthand.input
+                     tests/c-ns-tag-property.shorthand.output
+                     tests/c-ns-tag-property.verbatim.input
+                     tests/c-ns-tag-property.verbatim.output
+                     tests/count-spaces.n=0.0.input
+                     tests/count-spaces.n=0.0.output
+                     tests/count-spaces.n=0.1.input
+                     tests/count-spaces.n=0.1.output
+                     tests/count-spaces.n=0.2.input
+                     tests/count-spaces.n=0.2.output
+                     tests/count-spaces.n=-1.0.input
+                     tests/count-spaces.n=1.0.input
+                     tests/count-spaces.n=-1.0.output
+                     tests/count-spaces.n=1.0.output
+                     tests/count-spaces.n=-1.1.input
+                     tests/count-spaces.n=1.1.input
+                     tests/count-spaces.n=-1.1.output
+                     tests/count-spaces.n=1.1.output
+                     tests/count-spaces.n=-1.2.input
+                     tests/count-spaces.n=1.2.input
+                     tests/count-spaces.n=-1.2.output
+                     tests/count-spaces.n=1.2.output
+                     tests/c-primary-tag-handle.input
+                     tests/c-primary-tag-handle.invalid.input
+                     tests/c-primary-tag-handle.invalid.output
+                     tests/c-primary-tag-handle.output
+                     tests/c-printable.10000.input
+                     tests/c-printable.10000.output
+                     tests/c-printable.10ffff.input
+                     tests/c-printable.10ffff.output tests/c-printable.cr.input
+                     tests/c-printable.cr.output tests/c-printable.d7ff.input
+                     tests/c-printable.d7ff.output tests/c-printable.e000.input
+                     tests/c-printable.e000.output tests/c-printable.fffd.input
+                     tests/c-printable.fffd.output
+                     tests/c-printable.invalid.input
+                     tests/c-printable.invalid.output
+                     tests/c-printable.lf.input tests/c-printable.lf.output
+                     tests/c-printable.nbsp.input tests/c-printable.nbsp.output
+                     tests/c-printable.nel.input tests/c-printable.nel.output
+                     tests/c-printable.sp.input tests/c-printable.sp.output
+                     tests/c-printable.tab.input tests/c-printable.tab.output
+                     tests/c-printable.tilde.input
+                     tests/c-printable.tilde.output tests/c-quoted-quote.input
+                     tests/c-quoted-quote.invalid.input
+                     tests/c-quoted-quote.invalid.output
+                     tests/c-quoted-quote.output tests/c-reserved.at.input
+                     tests/c-reserved.at.output tests/c-reserved.backtick.input
+                     tests/c-reserved.backtick.output
+                     tests/c-secondary-tag-handle.input
+                     tests/c-secondary-tag-handle.invalid.input
+                     tests/c-secondary-tag-handle.invalid.output
+                     tests/c-secondary-tag-handle.output
+                     tests/c-sequence-end.input tests/c-sequence-end.output
+                     tests/c-sequence-entry.input tests/c-sequence-entry.output
+                     tests/c-sequence-start.input tests/c-sequence-start.output
+                     tests/c-s-implicit-json-key.just.input
+                     tests/c-s-implicit-json-key.just.output
+                     tests/c-s-implicit-json-key.long.input
+                     tests/c-s-implicit-json-key.long.output
+                     tests/c-s-implicit-json-key.short.input
+                     tests/c-s-implicit-json-key.short.output
+                     tests/c-single-quoted.n=4.c=flow-out.input
+                     tests/c-single-quoted.n=4.c=flow-out.invalid.input
+                     tests/c-single-quoted.n=4.c=flow-out.invalid.output
+                     tests/c-single-quoted.n=4.c=flow-out.output
+                     tests/c-single-quote.input tests/c-single-quote.output
+                     tests/c-tag-handle.invalid.input
+                     tests/c-tag-handle.invalid.output
+                     tests/c-tag-handle.named.input
+                     tests/c-tag-handle.named.output
+                     tests/c-tag-handle.primary.input
+                     tests/c-tag-handle.primary.output
+                     tests/c-tag-handle.secondary.input
+                     tests/c-tag-handle.secondary.output tests/c-tag.input
+                     tests/c-tag.output tests/c-verbatim-tag.input
+                     tests/c-verbatim-tag.invalid.input
+                     tests/c-verbatim-tag.invalid.output
+                     tests/c-verbatim-tag.output
+                     tests/detect-collection-indentation.n=1.input
+                     tests/detect-collection-indentation.n=1.output
+                     tests/detect-inline-indentation.input
+                     tests/detect-inline-indentation.output
+                     tests/detect-scalar-indentation.n=2.input
+                     tests/detect-scalar-indentation.n=2.output
+                     tests/e-node.input tests/e-node.output
+                     tests/e-scalar.input tests/e-scalar.output
+                     tests/l-block-map-explicit-value.n=2.input
+                     tests/l-block-map-explicit-value.n=2.invalid.input
+                     tests/l-block-map-explicit-value.n=2.invalid.output
+                     tests/l-block-map-explicit-value.n=2.output
+                     tests/l+block-mapping.n=-1.input
+                     tests/l+block-mapping.n=1.input
+                     tests/l+block-mapping.n=-1.output
+                     tests/l+block-mapping.n=1.output
+                     tests/l+block-mapping.n=2.invalid.input
+                     tests/l+block-mapping.n=2.invalid.output
+                     tests/l+block-sequence.n=1.input
+                     tests/l+block-sequence.n=1.output
+                     tests/l+block-sequence.n=2.invalid.input
+                     tests/l+block-sequence.n=2.invalid.output
+                     tests/l-chomped-empty.n=4.t=clip.input
+                     tests/l-chomped-empty.n=4.t=clip.output
+                     tests/l-chomped-empty.n=4.t=keep.input
+                     tests/l-chomped-empty.n=4.t=keep.output
+                     tests/l-chomped-empty.n=4.t=strip.input
+                     tests/l-chomped-empty.n=4.t=strip.output
+                     tests/l-comment.empty.input tests/l-comment.empty.output
+                     tests/l-comment.invalid.input
+                     tests/l-comment.invalid.output
+                     tests/l-comment.spaces-comment.input
+                     tests/l-comment.spaces-comment.output
+                     tests/l-directive.invalid.input
+                     tests/l-directive.invalid.output
+                     tests/l-directive.reserved.input
+                     tests/l-directive.reserved.output
+                     tests/l-directive.tag.input
+                     tests/l-directive.tag.invalid.input
+                     tests/l-directive.tag.invalid.output
+                     tests/l-directive.tag.output tests/l-directive.yaml.input
+                     tests/l-directive.yaml.invalid.input
+                     tests/l-directive.yaml.invalid.output
+                     tests/l-directive.yaml.output
+                     tests/l-document-prefix.bom-comment.input
+                     tests/l-document-prefix.bom-comment.output
+                     tests/l-document-prefix.bom.input
+                     tests/l-document-prefix.bom.output
+                     tests/l-document-prefix.comment.input
+                     tests/l-document-prefix.comment.output
+                     tests/l-document-prefix.empty.input
+                     tests/l-document-prefix.empty.output
+                     tests/l-document-prefix.invalid.input
+                     tests/l-document-prefix.invalid.output
+                     tests/l-documents.explicit.input
+                     tests/l-documents.explicit.output
+                     tests/l-documents.implicit.input
+                     tests/l-documents.implicit.output
+                     tests/l-document-suffix.input
+                     tests/l-document-suffix.invalid.input
+                     tests/l-document-suffix.invalid.output
+                     tests/l-document-suffix.output
+                     tests/l-empty.n=4.c=block-in.indent.input
+                     tests/l-empty.n=4.c=block-in.indent-lt.input
+                     tests/l-empty.n=4.c=block-in.indent-lt.output
+                     tests/l-empty.n=4.c=block-in.indent.output
+                     tests/l-empty.n=4.c=block-in.indent-sp.invalid.input
+                     tests/l-empty.n=4.c=block-in.indent-sp.invalid.output
+                     tests/l-empty.n=4.c=flow-in.indent.input
+                     tests/l-empty.n=4.c=flow-in.indent-lt.input
+                     tests/l-empty.n=4.c=flow-in.indent-lt.output
+                     tests/l-empty.n=4.c=flow-in.indent.output
+                     tests/l-empty.n=4.c=flow-in.indent-sp.input
+                     tests/l-empty.n=4.c=flow-in.indent-sp.output
+                     tests/l-explicit-document.invalid.input
+                     tests/l-explicit-document.invalid.output
+                     tests/l-explicit-document.literal.input
+                     tests/l-explicit-document.literal.output
+                     tests/l-explicit-document.plain.input
+                     tests/l-explicit-document.plain.output
+                     tests/l-folded-content.n=4.t=strip.input
+                     tests/l-folded-content.n=4.t=strip.invalid.input
+                     tests/l-folded-content.n=4.t=strip.invalid.output
+                     tests/l-folded-content.n=4.t=strip.output
+                     tests/l-following-document.empty.input
+                     tests/l-following-document.empty.output
+                     tests/l-following-document.explicit.input
+                     tests/l-following-document.explicit.output
+                     tests/l-following-document.invalid.input
+                     tests/l-following-document.invalid.output
+                     tests/l-implicit-document.invalid.input
+                     tests/l-implicit-document.invalid.output
+                     tests/l-implicit-document.literal.input
+                     tests/l-implicit-document.literal.output
+                     tests/l-implicit-document.plain.input
+                     tests/l-implicit-document.plain.output
+                     tests/l-keep-empty.n=4.0.input
+                     tests/l-keep-empty.n=4.0.output
+                     tests/l-keep-empty.n=4.1.input
+                     tests/l-keep-empty.n=4.1.output
+                     tests/l-leading-document.empty.input
+                     tests/l-leading-document.empty.output
+                     tests/l-leading-document.explicit.input
+                     tests/l-leading-document.explicit.output
+                     tests/l-leading-document.implicit.input
+                     tests/l-leading-document.implicit.output
+                     tests/l-literal-content.n=4.t=strip.input
+                     tests/l-literal-content.n=4.t=strip.invalid.input
+                     tests/l-literal-content.n=4.t=strip.invalid.output
+                     tests/l-literal-content.n=4.t=strip.output
+                     tests/l-nb-diff-lines.n=3.input
+                     tests/l-nb-diff-lines.n=3.output
+                     tests/l-nb-folded-lines.n=4.input
+                     tests/l-nb-folded-lines.n=4.invalid.input
+                     tests/l-nb-folded-lines.n=4.invalid.output
+                     tests/l-nb-folded-lines.n=4.output
+                     tests/l-nb-literal-text.n=4.input
+                     tests/l-nb-literal-text.n=4.invalid.input
+                     tests/l-nb-literal-text.n=4.invalid.output
+                     tests/l-nb-literal-text.n=4.output
+                     tests/l-nb-same-lines.n=3.input
+                     tests/l-nb-same-lines.n=3.output
+                     tests/l-nb-same-lines.n=4.input
+                     tests/l-nb-same-lines.n=4.output
+                     tests/l-nb-spaced-lines.n=4.input
+                     tests/l-nb-spaced-lines.n=4.invalid.input
+                     tests/l-nb-spaced-lines.n=4.invalid.output
+                     tests/l-nb-spaced-lines.n=4.output
+                     tests/l-strip-empty.n=4.0.input
+                     tests/l-strip-empty.n=4.0.output
+                     tests/l-strip-empty.n=4.1.input
+                     tests/l-strip-empty.n=4.1.output
+                     tests/l-trail-comments.n=4.1.input
+                     tests/l-trail-comments.n=4.1.output
+                     tests/l-trail-comments.n=4.2.input
+                     tests/l-trail-comments.n=4.2.output
+                     tests/l-trail-comments.n=4.3.input
+                     tests/l-trail-comments.n=4.3.output
+                     tests/l-trail-comments.n=4.invalid.input
+                     tests/l-trail-comments.n=4.invalid.output
+                     tests/l-yaml-stream.empty.input
+                     tests/l-yaml-stream.empty.output
+                     tests/l-yaml-stream.explicit.input
+                     tests/l-yaml-stream.explicit.output
+                     tests/l-yaml-stream.implicit.input
+                     tests/l-yaml-stream.implicit.output tests/nb-char.input
+                     tests/nb-char.invalid.input tests/nb-char.invalid.output
+                     tests/nb-char.output tests/nb-double-char.a.input
+                     tests/nb-double-char.a.output
+                     tests/nb-double-char.backslash.invalid.input
+                     tests/nb-double-char.backslash.invalid.output
+                     tests/nb-double-char.double-quote.invalid.input
+                     tests/nb-double-char.double-quote.invalid.output
+                     tests/nb-double-char.escaped.input
+                     tests/nb-double-char.escaped.output
+                     tests/nb-double-multi-line.n=4.input
+                     tests/nb-double-multi-line.n=4.invalid.input
+                     tests/nb-double-multi-line.n=4.invalid.output
+                     tests/nb-double-multi-line.n=4.output
+                     tests/nb-double-one-line.input
+                     tests/nb-double-one-line.output
+                     tests/nb-double-text.n=4.c=flow-key.input
+                     tests/nb-double-text.n=4.c=flow-key.invalid.input
+                     tests/nb-double-text.n=4.c=flow-key.invalid.output
+                     tests/nb-double-text.n=4.c=flow-key.output
+                     tests/nb-double-text.n=4.c=flow-out.input
+                     tests/nb-double-text.n=4.c=flow-out.output
+                     tests/nb-ns-double-in-line.input
+                     tests/nb-ns-double-in-line.invalid.input
+                     tests/nb-ns-double-in-line.invalid.output
+                     tests/nb-ns-double-in-line.output
+                     tests/nb-ns-plain-in-line.c=flow-in.input
+                     tests/nb-ns-plain-in-line.c=flow-in.invalid.input
+                     tests/nb-ns-plain-in-line.c=flow-in.invalid.output
+                     tests/nb-ns-plain-in-line.c=flow-in.output
+                     tests/nb-ns-plain-in-line.c=flow-out.invalid.input
+                     tests/nb-ns-plain-in-line.c=flow-out.invalid.output
+                     tests/nb-ns-single-in-line.input
+                     tests/nb-ns-single-in-line.invalid.input
+                     tests/nb-ns-single-in-line.invalid.output
+                     tests/nb-ns-single-in-line.output
+                     tests/nb-plain-char.c=flow-in.invalid.input
+                     tests/nb-plain-char.c=flow-in.invalid.output
+                     tests/nb-plain-char.c=flow-in.space.input
+                     tests/nb-plain-char.c=flow-in.space.output
+                     tests/nb-plain-char.c=flow-out.a.input
+                     tests/nb-plain-char.c=flow-out.a.output
+                     tests/nb-plain-char.c=flow-out.comma.input
+                     tests/nb-plain-char.c=flow-out.comma.output
+                     tests/nb-single-char.escaped.input
+                     tests/nb-single-char.escaped.output
+                     tests/nb-single-char.invalid.input
+                     tests/nb-single-char.invalid.output
+                     tests/nb-single-multi-line.n=4.input
+                     tests/nb-single-multi-line.n=4.invalid.input
+                     tests/nb-single-multi-line.n=4.invalid.output
+                     tests/nb-single-multi-line.n=4.output
+                     tests/nb-single-one-line.input
+                     tests/nb-single-one-line.output
+                     tests/nb-single-text.n=4.c=flow-key.input
+                     tests/nb-single-text.n=4.c=flow-key.output
+                     tests/nb-single-text.n=4.c=flow-out.input
+                     tests/nb-single-text.n=4.c=flow-out.invalid.input
+                     tests/nb-single-text.n=4.c=flow-out.invalid.output
+                     tests/nb-single-text.n=4.c=flow-out.output
+                     tests/ns-anchor-char.input
+                     tests/ns-anchor-char.invalid.input
+                     tests/ns-anchor-char.invalid.output
+                     tests/ns-anchor-char.output tests/ns-anchor-name.input
+                     tests/ns-anchor-name.invalid.input
+                     tests/ns-anchor-name.invalid.output
+                     tests/ns-anchor-name.output tests/ns-ascii-letter.a.input
+                     tests/ns-ascii-letter.a.output
+                     tests/ns-ascii-letter.invalid.input
+                     tests/ns-ascii-letter.invalid.output
+                     tests/ns-ascii-letter.Z.input
+                     tests/ns-ascii-letter.Z.output tests/ns-char.input
+                     tests/ns-char.invalid.input tests/ns-char.invalid.output
+                     tests/ns-char.output tests/ns-dec-digit.0.input
+                     tests/ns-dec-digit.0.output tests/ns-dec-digit.1.input
+                     tests/ns-dec-digit.1.output tests/ns-dec-digit.2.input
+                     tests/ns-dec-digit.2.output tests/ns-dec-digit.3.input
+                     tests/ns-dec-digit.3.output tests/ns-dec-digit.4.input
+                     tests/ns-dec-digit.4.output tests/ns-dec-digit.5.input
+                     tests/ns-dec-digit.5.output tests/ns-dec-digit.6.input
+                     tests/ns-dec-digit.6.output tests/ns-dec-digit.7.input
+                     tests/ns-dec-digit.7.output tests/ns-dec-digit.8.input
+                     tests/ns-dec-digit.8.output tests/ns-dec-digit.9.input
+                     tests/ns-dec-digit.9.output
+                     tests/ns-dec-digit.invalid.input
+                     tests/ns-dec-digit.invalid.output
+                     tests/ns-directive-name.input
+                     tests/ns-directive-name.invalid.input
+                     tests/ns-directive-name.invalid.output
+                     tests/ns-directive-name.output
+                     tests/ns-directive-parameter.input
+                     tests/ns-directive-parameter.invalid.input
+                     tests/ns-directive-parameter.invalid.output
+                     tests/ns-directive-parameter.output
+                     tests/ns-double-char.input
+                     tests/ns-double-char.invalid.input
+                     tests/ns-double-char.invalid.output
+                     tests/ns-double-char.output tests/ns-esc-16-bit.input
+                     tests/ns-esc-16-bit.output tests/ns-esc-32-bit.input
+                     tests/ns-esc-32-bit.output tests/ns-esc-8-bit.input
+                     tests/ns-esc-8-bit.output tests/ns-esc-backslash.input
+                     tests/ns-esc-backslash.output tests/ns-esc-backspace.input
+                     tests/ns-esc-backspace.output tests/ns-esc-bell.input
+                     tests/ns-esc-bell.output
+                     tests/ns-esc-carriage-return.input
+                     tests/ns-esc-carriage-return.output
+                     tests/ns-esc-double-quote.input
+                     tests/ns-esc-double-quote.output tests/ns-esc-escape.input
+                     tests/ns-esc-escape.output tests/ns-esc-form-feed.input
+                     tests/ns-esc-form-feed.output
+                     tests/ns-esc-horizontal-tab.tab.input
+                     tests/ns-esc-horizontal-tab.tab.output
+                     tests/ns-esc-horizontal-tab.t.input
+                     tests/ns-esc-horizontal-tab.t.output
+                     tests/ns-esc-line-feed.input tests/ns-esc-line-feed.output
+                     tests/ns-esc-line-separator.input
+                     tests/ns-esc-line-separator.output
+                     tests/ns-esc-next-line.input tests/ns-esc-next-line.output
+                     tests/ns-esc-non-breaking-space.input
+                     tests/ns-esc-non-breaking-space.output
+                     tests/ns-esc-null.input tests/ns-esc-null.output
+                     tests/ns-esc-paragraph-separator.input
+                     tests/ns-esc-paragraph-separator.output
+                     tests/ns-esc-space.input tests/ns-esc-space.output
+                     tests/ns-esc-vertical-tab.input
+                     tests/ns-esc-vertical-tab.output
+                     tests/ns-flow-content.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-content.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-content.n=4.c=flow-in.json.input
+                     tests/ns-flow-content.n=4.c=flow-in.json.output
+                     tests/ns-flow-content.n=4.c=flow-in.yaml.input
+                     tests/ns-flow-content.n=4.c=flow-in.yaml.output
+                     tests/ns-flow-map-empty-key-entry-key-entry.n=4.c=flow-in.output
+                     tests/ns-flow-map-entry.n=4.c=flow-in.explicit.input
+                     tests/ns-flow-map-entry.n=4.c=flow-in.explicit.output
+                     tests/ns-flow-map-entry.n=4.c=flow-in.implicit.input
+                     tests/ns-flow-map-entry.n=4.c=flow-in.implicit.output
+                     tests/ns-flow-map-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-map-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.empty.input
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.empty.output
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.json.input
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.json.output
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.value.input
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.value.output
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.yaml.input
+                     tests/ns-flow-map-explicit-entry.n=4.c=flow-in.yaml.output
+                     tests/ns-flow-map-implicit-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-map-implicit-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.compact.input
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.compact.output
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.empty.input
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.empty.output
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.spaced.input
+                     tests/ns-flow-map-yaml-key-entry.n=4.c=flow-in.spaced.output
+                     tests/ns-flow-node.n=4.c=flow-in.alias.input
+                     tests/ns-flow-node.n=4.c=flow-in.alias.output
+                     tests/ns-flow-node.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-node.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-node.n=4.c=flow-in.tagged.input
+                     tests/ns-flow-node.n=4.c=flow-in.tagged.output
+                     tests/ns-flow-node.n=4.c=flow-in.tag.input
+                     tests/ns-flow-node.n=4.c=flow-in.tag.output
+                     tests/ns-flow-node.n=4.c=flow-in.untagged.input
+                     tests/ns-flow-node.n=4.c=flow-in.untagged.output
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.empty.input
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.empty.output
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.json.input
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.json.output
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.yaml.input
+                     tests/ns-flow-pair-entry.n=4.c=flow-in.yaml.output
+                     tests/ns-flow-pair.n=4.c=flow-in.explicit.input
+                     tests/ns-flow-pair.n=4.c=flow-in.explicit.output
+                     tests/ns-flow-pair.n=4.c=flow-in.implicit.input
+                     tests/ns-flow-pair.n=4.c=flow-in.implicit.output
+                     tests/ns-flow-pair.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-pair.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.input
+                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-pair-yaml-key-entry.n=4.c=flow-in.output
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.node.input
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.node.output
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.pair.input
+                     tests/ns-flow-seq-entry.n=4.c=flow-in.pair.output
+                     tests/ns-flow-yaml-content.n=4.c=flow-in.input
+                     tests/ns-flow-yaml-content.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-yaml-content.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-yaml-content.n=4.c=flow-in.output
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.alias.input
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.alias.output
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.invalid.input
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.invalid.output
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.tagged.input
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.tagged.output
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.tag.input
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.tag.output
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.untagged.input
+                     tests/ns-flow-yaml-node.n=4.c=flow-in.untagged.output
+                     tests/ns-global-tag-prefix.input
+                     tests/ns-global-tag-prefix.invalid.input
+                     tests/ns-global-tag-prefix.invalid.output
+                     tests/ns-global-tag-prefix.output
+                     tests/ns-hex-digit.6.input tests/ns-hex-digit.6.output
+                     tests/ns-hex-digit.a.input tests/ns-hex-digit.a.output
+                     tests/ns-hex-digit.B.input tests/ns-hex-digit.B.output
+                     tests/ns-hex-digit.c.input tests/ns-hex-digit.c.output
+                     tests/ns-hex-digit.D.input tests/ns-hex-digit.D.output
+                     tests/ns-hex-digit.e.input tests/ns-hex-digit.e.output
+                     tests/ns-hex-digit.F.input tests/ns-hex-digit.F.output
+                     tests/ns-hex-digit.invalid.input
+                     tests/ns-hex-digit.invalid.output
+                     tests/ns-l-block-map-entry.n=2.explicit.input
+                     tests/ns-l-block-map-entry.n=2.explicit.output
+                     tests/ns-l-block-map-entry.n=2.implicit.input
+                     tests/ns-l-block-map-entry.n=2.implicit.output
+                     tests/ns-l-block-map-entry.n=2.invalid.input
+                     tests/ns-l-block-map-entry.n=2.invalid.output
+                     tests/ns-l-block-map-implicit-entry.n=2.empty.input
+                     tests/ns-l-block-map-implicit-entry.n=2.empty.output
+                     tests/ns-l-block-map-implicit-entry.n=2.invalid.input
+                     tests/ns-l-block-map-implicit-entry.n=2.invalid.output
+                     tests/ns-l-block-map-implicit-entry.n=2.non-empty.input
+                     tests/ns-l-block-map-implicit-entry.n=2.non-empty.output
+                     tests/ns-l-in-line-mapping.n=2.input
+                     tests/ns-l-in-line-mapping.n=2.invalid.input
+                     tests/ns-l-in-line-mapping.n=2.invalid.output
+                     tests/ns-l-in-line-mapping.n=2.output
+                     tests/ns-l-in-line-sequence.n=3.input
+                     tests/ns-l-in-line-sequence.n=3.invalid.input
+                     tests/ns-l-in-line-sequence.n=3.invalid.output
+                     tests/ns-l-in-line-sequence.n=3.output
+                     tests/ns-plain-char.c=flow-in.a.input
+                     tests/ns-plain-char.c=flow-in.a.output
+                     tests/ns-plain-char.c=flow-in.s.input
+                     tests/ns-plain-char.c=flow-in.s.output
+                     tests/ns-plain-first.c=flow-in.a.input
+                     tests/ns-plain-first.c=flow-in.a.output
+                     tests/ns-plain-first.c=flow-in.c.input
+                     tests/ns-plain-first.c=flow-in.c.output
+                     tests/ns-plain-first.c=flow-in.d.input
+                     tests/ns-plain-first.c=flow-in.d.output
+                     tests/ns-plain-first.c=flow-in.ia.input
+                     tests/ns-plain-first.c=flow-in.ia.output
+                     tests/ns-plain-first.c=flow-in.i.input
+                     tests/ns-plain-first.c=flow-in.i.output
+                     tests/ns-plain-first.c=flow-in.k.input
+                     tests/ns-plain-first.c=flow-in.k.output
+                     tests/ns-plain-first.c=flow-in.m.input
+                     tests/ns-plain-first.c=flow-in.m.output
+                     tests/ns-plain-first.c=flow-in.s.input
+                     tests/ns-plain-first.c=flow-in.s.output
+                     tests/ns-plain-first.c=flow-in.v.input
+                     tests/ns-plain-first.c=flow-in.v.output
+                     tests/ns-plain-first.c=flow-out.m.input
+                     tests/ns-plain-first.c=flow-out.m.output
+                     tests/ns-plain-multi-line.n=4.c=flow-in.input
+                     tests/ns-plain-multi-line.n=4.c=flow-in.invalid.input
+                     tests/ns-plain-multi-line.n=4.c=flow-in.invalid.output
+                     tests/ns-plain-multi-line.n=4.c=flow-in.output
+                     tests/ns-plain.n=1.c=flow-key.da.input
+                     tests/ns-plain.n=1.c=flow-key.da.output
+                     tests/ns-plain.n=1.c=flow-key.dc.input
+                     tests/ns-plain.n=1.c=flow-key.dc.output
+                     tests/ns-plain.n=1.c=flow-key.ds.input
+                     tests/ns-plain.n=1.c=flow-key.ds.output
+                     tests/ns-plain.n=1.c=flow-key.ka.input
+                     tests/ns-plain.n=1.c=flow-key.ka.output
+                     tests/ns-plain.n=1.c=flow-key.kc.input
+                     tests/ns-plain.n=1.c=flow-key.kc.output
+                     tests/ns-plain.n=1.c=flow-key.ks.input
+                     tests/ns-plain.n=1.c=flow-key.ks.output
+                     tests/ns-plain.n=1.c=flow-key.va.input
+                     tests/ns-plain.n=1.c=flow-key.va.output
+                     tests/ns-plain.n=1.c=flow-key.vc.input
+                     tests/ns-plain.n=1.c=flow-key.vc.output
+                     tests/ns-plain.n=1.c=flow-key.vs.input
+                     tests/ns-plain.n=1.c=flow-key.vs.output
+                     tests/ns-plain.n=4.c=flow-in.input
+                     tests/ns-plain.n=4.c=flow-in.output
+                     tests/ns-plain.n=4.c=flow-key.input
+                     tests/ns-plain.n=4.c=flow-key.invalid.input
+                     tests/ns-plain.n=4.c=flow-key.invalid.output
+                     tests/ns-plain.n=4.c=flow-key.output
+                     tests/ns-plain-one-line.c=flow-key.invalid.input
+                     tests/ns-plain-one-line.c=flow-key.invalid.output
+                     tests/ns-plain-one-line.c=flow-out.input
+                     tests/ns-plain-one-line.c=flow-out.output
+                     tests/ns-plain-safe.c=flow-in.mapping-start.input
+                     tests/ns-plain-safe.c=flow-in.mapping-start.output
+                     tests/ns-plain-safe.c=flow-in.v.input
+                     tests/ns-plain-safe.c=flow-in.v.output
+                     tests/ns-plain-safe.c=flow-out.a.input
+                     tests/ns-plain-safe.c=flow-out.a.output
+                     tests/ns-plain-safe.c=flow-out.c.input
+                     tests/ns-plain-safe.c=flow-out.c.output
+                     tests/ns-plain-safe.c=flow-out.mapping-start.input
+                     tests/ns-plain-safe.c=flow-out.mapping-start.output
+                     tests/ns-plain-safe-in.a.input
+                     tests/ns-plain-safe-in.a.output
+                     tests/ns-plain-safe-in.c.input
+                     tests/ns-plain-safe-in.c.output
+                     tests/ns-plain-safe-in.mapping-start.input
+                     tests/ns-plain-safe-in.mapping-start.output
+                     tests/ns-plain-safe-in.v.input
+                     tests/ns-plain-safe-in.v.output
+                     tests/ns-plain-safe-out.a.input
+                     tests/ns-plain-safe-out.a.output
+                     tests/ns-plain-safe-out.c.input
+                     tests/ns-plain-safe-out.c.output
+                     tests/ns-plain-safe-out.mapping-start.input
+                     tests/ns-plain-safe-out.mapping-start.output
+                     tests/ns-plain-safe-out.v.input
+                     tests/ns-plain-safe-out.v.output
+                     tests/ns-reserved-directive.input
+                     tests/ns-reserved-directive.invalid.input
+                     tests/ns-reserved-directive.invalid.output
+                     tests/ns-reserved-directive.output
+                     tests/ns-s-block-map-implicit-key.invalid.input
+                     tests/ns-s-block-map-implicit-key.invalid.output
+                     tests/ns-s-block-map-implicit-key.json.input
+                     tests/ns-s-block-map-implicit-key.json.output
+                     tests/ns-s-block-map-implicit-key.yaml.input
+                     tests/ns-s-block-map-implicit-key.yaml.output
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.invalid.input
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.invalid.output
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.lines.input
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.lines.output
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.multi.input
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.multi.output
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.single.input
+                     tests/ns-s-flow-map-entries.n=4.c=flow-in.single.output
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.invalid.input
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.invalid.output
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.lines.input
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.lines.output
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.multi.input
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.multi.output
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.single.input
+                     tests/ns-s-flow-seq-entries.n=4.c=flow-in.single.output
+                     tests/ns-s-implicit-yaml-key.just.input
+                     tests/ns-s-implicit-yaml-key.just.output
+                     tests/ns-s-implicit-yaml-key.long.input
+                     tests/ns-s-implicit-yaml-key.long.output
+                     tests/ns-s-implicit-yaml-key.short.input
+                     tests/ns-s-implicit-yaml-key.short.output
+                     tests/ns-single-char.input
+                     tests/ns-single-char.invalid.input
+                     tests/ns-single-char.invalid.output
+                     tests/ns-single-char.output tests/ns-tag-char.input
+                     tests/ns-tag-char.invalid.input
+                     tests/ns-tag-char.invalid.output tests/ns-tag-char.output
+                     tests/ns-tag-directive.input
+                     tests/ns-tag-directive.invalid.input
+                     tests/ns-tag-directive.invalid.output
+                     tests/ns-tag-directive.output
+                     tests/ns-tag-prefix.global.input
+                     tests/ns-tag-prefix.global.output
+                     tests/ns-tag-prefix.invalid.input
+                     tests/ns-tag-prefix.invalid.output
+                     tests/ns-tag-prefix.local.input
+                     tests/ns-tag-prefix.local.output tests/ns-uri-char.6.input
+                     tests/ns-uri-char.6.output
+                     tests/ns-uri-char.ampersand.input
+                     tests/ns-uri-char.ampersand.output
+                     tests/ns-uri-char.asterisk.input
+                     tests/ns-uri-char.asterisk.output
+                     tests/ns-uri-char.at.input tests/ns-uri-char.at.output
+                     tests/ns-uri-char.colon.input
+                     tests/ns-uri-char.colon.output
+                     tests/ns-uri-char.comma.input
+                     tests/ns-uri-char.comma.output
+                     tests/ns-uri-char.dollar.input
+                     tests/ns-uri-char.dollar.output
+                     tests/ns-uri-char.equal.input
+                     tests/ns-uri-char.equal.output
+                     tests/ns-uri-char.escaped.input
+                     tests/ns-uri-char.escaped.output
+                     tests/ns-uri-char.exclamation.input
+                     tests/ns-uri-char.exclamation.output
+                     tests/ns-uri-char.hyphen.input
+                     tests/ns-uri-char.hyphen.output
+                     tests/ns-uri-char.invalid.input
+                     tests/ns-uri-char.invalid.output
+                     tests/ns-uri-char.left-round.input
+                     tests/ns-uri-char.left-round.output
+                     tests/ns-uri-char.left-square.input
+                     tests/ns-uri-char.left-square.output
+                     tests/ns-uri-char.n.input tests/ns-uri-char.n.output
+                     tests/ns-uri-char.period.input
+                     tests/ns-uri-char.period.output
+                     tests/ns-uri-char.plus.input tests/ns-uri-char.plus.output
+                     tests/ns-uri-char.question.input
+                     tests/ns-uri-char.question.output
+                     tests/ns-uri-char.right-round.input
+                     tests/ns-uri-char.right-round.output
+                     tests/ns-uri-char.right-square.input
+                     tests/ns-uri-char.right-square.output
+                     tests/ns-uri-char.semicolon.input
+                     tests/ns-uri-char.semicolon.output
+                     tests/ns-uri-char.single-quote.input
+                     tests/ns-uri-char.single-quote.output
+                     tests/ns-uri-char.slash.input
+                     tests/ns-uri-char.slash.output
+                     tests/ns-uri-char.tilde.input
+                     tests/ns-uri-char.tilde.output
+                     tests/ns-uri-char.underscore.input
+                     tests/ns-uri-char.underscore.output
+                     tests/ns-word-char.0.input tests/ns-word-char.0.output
+                     tests/ns-word-char.hyphen.input
+                     tests/ns-word-char.hyphen.output
+                     tests/ns-word-char.invalid.input
+                     tests/ns-word-char.invalid.output
+                     tests/ns-word-char.n.input tests/ns-word-char.n.output
+                     tests/ns-yaml-directive.input
+                     tests/ns-yaml-directive.invalid.input
+                     tests/ns-yaml-directive.invalid.output
+                     tests/ns-yaml-directive.output tests/ns-yaml-version.input
+                     tests/ns-yaml-version.invalid.input
+                     tests/ns-yaml-version.invalid.output
+                     tests/ns-yaml-version.output tests/s-b-comment.empty.input
+                     tests/s-b-comment.empty.output
+                     tests/s-b-comment.invalid.input
+                     tests/s-b-comment.invalid.output
+                     tests/s-b-comment.sol-text.input
+                     tests/s-b-comment.sol-text.output
+                     tests/s-b-comment.spaces.input
+                     tests/s-b-comment.spaces.output
+                     tests/s-b-comment.spaces-text.input
+                     tests/s-b-comment.spaces-text.output
+                     tests/s-block-line-prefix.n=4.input
+                     tests/s-block-line-prefix.n=4.invalid.input
+                     tests/s-block-line-prefix.n=4.invalid.output
+                     tests/s-block-line-prefix.n=4.output
+                     tests/s-flow-line-prefix.n=4.indent.input
+                     tests/s-flow-line-prefix.n=4.indent.output
+                     tests/s-flow-line-prefix.n=4.invalid.input
+                     tests/s-flow-line-prefix.n=4.invalid.output
+                     tests/s-flow-line-prefix.n=4.tab.input
+                     tests/s-flow-line-prefix.n=4.tab.output
+                     tests/s-indent-le.n=0.input tests/s-indent-le.n=0.output
+                     tests/s-indent-le.n=-1.invalid.input
+                     tests/s-indent-le.n=-1.invalid.output
+                     tests/s-indent-le.n=4.input
+                     tests/s-indent-le.n=4.invalid.input
+                     tests/s-indent-le.n=4.invalid.output
+                     tests/s-indent-le.n=4.output
+                     tests/s-indent-lt.n=0.invalid.input
+                     tests/s-indent-lt.n=0.invalid.output
+                     tests/s-indent-lt.n=-1.invalid.input
+                     tests/s-indent-lt.n=-1.invalid.output
+                     tests/s-indent-lt.n=4.input
+                     tests/s-indent-lt.n=4.invalid.input
+                     tests/s-indent-lt.n=4.invalid.output
+                     tests/s-indent-lt.n=4.output tests/s-indent.n=0.input
+                     tests/s-indent.n=0.output tests/s-indent.n=-1.input
+                     tests/s-indent.n=-1.output tests/s-indent.n=4.input
+                     tests/s-indent.n=4.invalid.input
+                     tests/s-indent.n=4.invalid.output
+                     tests/s-indent.n=4.output
+                     tests/s-l+block-collection.n=2.c=block-in.invalid.input
+                     tests/s-l+block-collection.n=2.c=block-in.invalid.output
+                     tests/s-l+block-collection.n=2.c=block-in.mapping.input
+                     tests/s-l+block-collection.n=2.c=block-in.mapping.output
+                     tests/s-l+block-collection.n=2.c=block-out.mapping.input
+                     tests/s-l+block-collection.n=2.c=block-out.mapping.output
+                     tests/s-l+block-collection.n=2.c=block-out.sequence.input
+                     tests/s-l+block-collection.n=2.c=block-out.sequence.output
+                     tests/s-l+block-in-block.n=2.c=block-in.invalid.input
+                     tests/s-l+block-in-block.n=2.c=block-in.invalid.output
+                     tests/s-l+block-in-block.n=2.c=block-in.tagged.input
+                     tests/s-l+block-in-block.n=2.c=block-in.tagged.output
+                     tests/s-l+block-in-block.n=2.c=block-in.untagged.input
+                     tests/s-l+block-in-block.n=2.c=block-in.untagged.output
+                     tests/s-l+block-in-block.n=2.c=block-out.invalid.input
+                     tests/s-l+block-in-block.n=2.c=block-out.invalid.output
+                     tests/s-l+block-indented.n=2.c=block-in.in-line-map.input
+                     tests/s-l+block-indented.n=2.c=block-in.in-line-map.output
+                     tests/s-l+block-indented.n=2.c=block-in.in-line-seq.input
+                     tests/s-l+block-indented.n=2.c=block-in.in-line-seq.output
+                     tests/s-l+block-indented.n=2.c=block-in.invalid.input
+                     tests/s-l+block-indented.n=2.c=block-in.invalid.output
+                     tests/s-l+block-indented.n=2.c=block-in.literal.input
+                     tests/s-l+block-indented.n=2.c=block-in.literal.output
+                     tests/s-l+block-indented.n=2.c=block-in.sequence.input
+                     tests/s-l+block-indented.n=2.c=block-in.sequence.output
+                     tests/s-l+block-indented.n=2.c=block-out.in-line-map.input
+                     tests/s-l+block-indented.n=2.c=block-out.in-line-map.output
+                     tests/s-l+block-indented.n=2.c=block-out.in-line-seq.input
+                     tests/s-l+block-indented.n=2.c=block-out.in-line-seq.output
+                     tests/s-l+block-indented.n=2.c=block-out.invalid.input
+                     tests/s-l+block-indented.n=2.c=block-out.invalid.output
+                     tests/s-l+block-indented.n=2.c=block-out.sequence.input
+                     tests/s-l+block-indented.n=2.c=block-out.sequence.output
+                     tests/s-l+block-node.n=0.c=block-out.invalid.input
+                     tests/s-l+block-node.n=0.c=block-out.invalid.output
+                     tests/s-l+block-node.n=-1.c=block-in.1.input
+                     tests/s-l+block-node.n=-1.c=block-in.1.output
+                     tests/s-l+block-node.n=-1.c=block-in.2.input
+                     tests/s-l+block-node.n=-1.c=block-in.2.output
+                     tests/s-l+block-node.n=-1.c=block-in.3.input
+                     tests/s-l+block-node.n=-1.c=block-in.3.output
+                     tests/s-l+block-node.n=-1.c=block-in.input
+                     tests/s-l+block-node.n=-1.c=block-in.invalid.input
+                     tests/s-l+block-node.n=-1.c=block-in.invalid.output
+                     tests/s-l+block-node.n=-1.c=block-in.output
+                     tests/s-l+block-node.n=-1.c=block-out.1.input
+                     tests/s-l+block-node.n=-1.c=block-out.1.output
+                     tests/s-l+block-node.n=-1.c=block-out.2.input
+                     tests/s-l+block-node.n=-1.c=block-out.2.output
+                     tests/s-l+block-node.n=-1.c=block-out.3.input
+                     tests/s-l+block-node.n=-1.c=block-out.3.output
+                     tests/s-l+block-node.n=-1.c=block-out.input
+                     tests/s-l+block-node.n=-1.c=block-out.invalid.input
+                     tests/s-l+block-node.n=-1.c=block-out.invalid.output
+                     tests/s-l+block-node.n=-1.c=block-out.output
+                     tests/s-l+block-node.n=2.c=block-in.block.input
+                     tests/s-l+block-node.n=2.c=block-in.block.output
+                     tests/s-l+block-node.n=2.c=block-in.flow.input
+                     tests/s-l+block-node.n=2.c=block-in.flow.output
+                     tests/s-l+block-node.n=2.c=block-in.invalid.input
+                     tests/s-l+block-node.n=2.c=block-in.invalid.output
+                     tests/s-l+block-node.n=2.c=block-out.flow.input
+                     tests/s-l+block-node.n=2.c=block-out.flow.output
+                     tests/s-l+block-scalar.n=2.c=block-in.folded.input
+                     tests/s-l+block-scalar.n=2.c=block-in.folded.invalid.input
+                     tests/s-l+block-scalar.n=2.c=block-in.folded.invalid.output
+                     tests/s-l+block-scalar.n=2.c=block-in.folded.output
+                     tests/s-l+block-scalar.n=2.c=block-in.literal.input
+                     tests/s-l+block-scalar.n=2.c=block-in.literal.invalid.input
+                     tests/s-l+block-scalar.n=2.c=block-in.literal.invalid.output
+                     tests/s-l+block-scalar.n=2.c=block-in.literal.output
+                     tests/s-l-comments.invalid.input
+                     tests/s-l-comments.invalid.output
+                     tests/s-l-comments.lines.input
+                     tests/s-l-comments.lines.output
+                     tests/s-l-comments.multi.input
+                     tests/s-l-comments.multi.output
+                     tests/s-l-comments.sol.input tests/s-l-comments.sol.output
+                     tests/s-l-double-any.n=4.escaped.input
+                     tests/s-l-double-any.n=4.escaped.output
+                     tests/s-l-double-any.n=4.folded.input
+                     tests/s-l-double-any.n=4.folded.output
+                     tests/s-l-double-any.n=4.invalid.input
+                     tests/s-l-double-any.n=4.invalid.output
+                     tests/s-l-double-escaped.n=2.input
+                     tests/s-l-double-escaped.n=2.invalid.input
+                     tests/s-l-double-escaped.n=2.invalid.output
+                     tests/s-l-double-escaped.n=2.output
+                     tests/s-l-flow-folded.n=4.invalid.input
+                     tests/s-l-flow-folded.n=4.invalid.output
+                     tests/s-l-flow-folded.n=4.lf.input
+                     tests/s-l-flow-folded.n=4.lf.output
+                     tests/s-l-flow-folded.n=4.sp-lf-lf.input
+                     tests/s-l-flow-folded.n=4.sp-lf-lf.output
+                     tests/s-l+flow-in-block.n=2.input
+                     tests/s-l+flow-in-block.n=2.invalid.input
+                     tests/s-l+flow-in-block.n=2.invalid.output
+                     tests/s-l+flow-in-block.n=2.output
+                     tests/s-line-prefix.n=4.c=block-in.input
+                     tests/s-line-prefix.n=4.c=block-in.output
+                     tests/s-line-prefix.n=4.c=block-out.invalid.input
+                     tests/s-line-prefix.n=4.c=block-out.invalid.output
+                     tests/s-line-prefix.n=4.c=flow-in.input
+                     tests/s-line-prefix.n=4.c=flow-in.output
+                     tests/s-line-prefix.n=4.c=flow-out.input
+                     tests/s-line-prefix.n=4.c=flow-out.output
+                     tests/s-nb-folded-text.n=4.input
+                     tests/s-nb-folded-text.n=4.invalid.input
+                     tests/s-nb-folded-text.n=4.invalid.output
+                     tests/s-nb-folded-text.n=4.output
+                     tests/s-nb-spaced-text.n=4.input
+                     tests/s-nb-spaced-text.n=4.invalid.input
+                     tests/s-nb-spaced-text.n=4.invalid.output
+                     tests/s-nb-spaced-text.n=4.output
+                     tests/s-ns-double-next-line.n=4.input
+                     tests/s-ns-double-next-line.n=4.invalid.input
+                     tests/s-ns-double-next-line.n=4.invalid.output
+                     tests/s-ns-double-next-line.n=4.output
+                     tests/s-ns-plain-next-line.n=4.c=flow-in.input
+                     tests/s-ns-plain-next-line.n=4.c=flow-in.invalid.input
+                     tests/s-ns-plain-next-line.n=4.c=flow-in.invalid.output
+                     tests/s-ns-plain-next-line.n=4.c=flow-in.output
+                     tests/s-ns-single-next-line.n=4.input
+                     tests/s-ns-single-next-line.n=4.invalid.input
+                     tests/s-ns-single-next-line.n=4.invalid.output
+                     tests/s-ns-single-next-line.n=4.output
+                     tests/s-separate-in-line.invalid.input
+                     tests/s-separate-in-line.invalid.output
+                     tests/s-separate-in-line.sol.input
+                     tests/s-separate-in-line.sol.output
+                     tests/s-separate-in-line.sp.input
+                     tests/s-separate-in-line.sp.output
+                     tests/s-separate-lines.n=4.invalid.input
+                     tests/s-separate-lines.n=4.invalid.output
+                     tests/s-separate-lines.n=4.lines.input
+                     tests/s-separate-lines.n=4.lines.output
+                     tests/s-separate-lines.n=4.sol.input
+                     tests/s-separate-lines.n=4.sol.output
+                     tests/s-separate-lines.n=4.sp.input
+                     tests/s-separate-lines.n=4.sp.output
+                     tests/s-separate.n=4.c=flow-key.empty.input
+                     tests/s-separate.n=4.c=flow-key.empty.output
+                     tests/s-separate.n=4.c=flow-key.invalid.input
+                     tests/s-separate.n=4.c=flow-key.invalid.output
+                     tests/s-separate.n=4.c=flow-key.sp.input
+                     tests/s-separate.n=4.c=flow-key.sp.output
+                     tests/s-separate.n=4.c=flow-out.empty.input
+                     tests/s-separate.n=4.c=flow-out.empty.output
+                     tests/s-separate.n=4.c=flow-out.line.input
+                     tests/s-separate.n=4.c=flow-out.line.output
+                     tests/s-separate.n=4.c=flow-out.sp.input
+                     tests/s-separate.n=4.c=flow-out.sp.output
+                     tests/s-space.input tests/s-space.invalid.input
+                     tests/s-space.invalid.output tests/s-space.output
+                     tests/s-tab.input tests/s-tab.invalid.input
+                     tests/s-tab.invalid.output tests/s-tab.output
+                     tests/s-white.invalid.input tests/s-white.invalid.output
+                     tests/s-white.sp.input tests/s-white.sp.output
+                     tests/s-white.tab.input tests/s-white.tab.output
 
 Flag small_base
     Description:         Choose the new smaller, split-up base package.
diff --git a/tests/c-flow-indicator.collect-entry.input b/tests/c-flow-indicator.collect-entry.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.collect-entry.input
@@ -0,0 +1,1 @@
+,
diff --git a/tests/c-flow-indicator.collect-entry.output b/tests/c-flow-indicator.collect-entry.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.collect-entry.output
@@ -0,0 +1,1 @@
+I,
diff --git a/tests/c-flow-indicator.invalid.input b/tests/c-flow-indicator.invalid.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.invalid.input
@@ -0,0 +1,1 @@
+-
diff --git a/tests/c-flow-indicator.invalid.output b/tests/c-flow-indicator.invalid.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.invalid.output
@@ -0,0 +1,1 @@
+!$InputFile$: line 1: column 0: Unexpected '-'
diff --git a/tests/c-flow-indicator.mapping-end.input b/tests/c-flow-indicator.mapping-end.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.mapping-end.input
@@ -0,0 +1,1 @@
+}
diff --git a/tests/c-flow-indicator.mapping-end.output b/tests/c-flow-indicator.mapping-end.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.mapping-end.output
@@ -0,0 +1,1 @@
+I}
diff --git a/tests/c-flow-indicator.mapping-start.input b/tests/c-flow-indicator.mapping-start.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.mapping-start.input
@@ -0,0 +1,1 @@
+{
diff --git a/tests/c-flow-indicator.mapping-start.output b/tests/c-flow-indicator.mapping-start.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.mapping-start.output
@@ -0,0 +1,1 @@
+I{
diff --git a/tests/c-flow-indicator.sequence-end.input b/tests/c-flow-indicator.sequence-end.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.sequence-end.input
@@ -0,0 +1,1 @@
+]
diff --git a/tests/c-flow-indicator.sequence-end.output b/tests/c-flow-indicator.sequence-end.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.sequence-end.output
@@ -0,0 +1,1 @@
+I]
diff --git a/tests/c-flow-indicator.sequence-start.input b/tests/c-flow-indicator.sequence-start.input
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.sequence-start.input
@@ -0,0 +1,1 @@
+[
diff --git a/tests/c-flow-indicator.sequence-start.output b/tests/c-flow-indicator.sequence-start.output
new file mode 100644
--- /dev/null
+++ b/tests/c-flow-indicator.sequence-start.output
@@ -0,0 +1,1 @@
+I[
diff --git a/tests/c-forbidden.end-space.input b/tests/c-forbidden.end-space.input
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.end-space.input
@@ -0,0 +1,1 @@
+... 
diff --git a/tests/c-forbidden.end-space.output b/tests/c-forbidden.end-space.output
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.end-space.output
@@ -0,0 +1,2 @@
+k...
+? 
diff --git a/tests/c-forbidden.invalid.input b/tests/c-forbidden.invalid.input
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.invalid.input
@@ -0,0 +1,1 @@
+----
diff --git a/tests/c-forbidden.invalid.output b/tests/c-forbidden.invalid.output
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.invalid.output
@@ -0,0 +1,2 @@
+K---
+!$InputFile$: line 1: column 3: Expected end of input
diff --git a/tests/c-forbidden.start-lf.input b/tests/c-forbidden.start-lf.input
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.start-lf.input
@@ -0,0 +1,1 @@
+---
diff --git a/tests/c-forbidden.start-lf.output b/tests/c-forbidden.start-lf.output
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.start-lf.output
@@ -0,0 +1,2 @@
+K---
+?\x0a
diff --git a/tests/c-forbidden.start.input b/tests/c-forbidden.start.input
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.start.input
@@ -0,0 +1,1 @@
+---
diff --git a/tests/c-forbidden.start.output b/tests/c-forbidden.start.output
new file mode 100644
--- /dev/null
+++ b/tests/c-forbidden.start.output
@@ -0,0 +1,1 @@
+K---
diff --git a/tests/c-l-block-seq-entry.n=2.invalid.input b/tests/c-l-block-seq-entry.n=2.invalid.input
--- a/tests/c-l-block-seq-entry.n=2.invalid.input
+++ b/tests/c-l-block-seq-entry.n=2.invalid.input
@@ -1,1 +1,1 @@
- - a
+-1
diff --git a/tests/c-l-block-seq-entry.n=2.invalid.output b/tests/c-l-block-seq-entry.n=2.invalid.output
--- a/tests/c-l-block-seq-entry.n=2.invalid.output
+++ b/tests/c-l-block-seq-entry.n=2.invalid.output
@@ -1,1 +1,2 @@
-!$InputFile$: line 1: column 0: Unexpected ' '
+I-
+!$InputFile$: line 1: column 1: Unexpected '1'
diff --git a/tests/l-forbidden.end-space.input b/tests/l-forbidden.end-space.input
deleted file mode 100644
--- a/tests/l-forbidden.end-space.input
+++ /dev/null
@@ -1,1 +0,0 @@
-... 
diff --git a/tests/l-forbidden.end-space.output b/tests/l-forbidden.end-space.output
deleted file mode 100644
--- a/tests/l-forbidden.end-space.output
+++ /dev/null
@@ -1,2 +0,0 @@
-k...
-? 
diff --git a/tests/l-forbidden.invalid.input b/tests/l-forbidden.invalid.input
deleted file mode 100644
--- a/tests/l-forbidden.invalid.input
+++ /dev/null
@@ -1,1 +0,0 @@
-----
diff --git a/tests/l-forbidden.invalid.output b/tests/l-forbidden.invalid.output
deleted file mode 100644
--- a/tests/l-forbidden.invalid.output
+++ /dev/null
@@ -1,2 +0,0 @@
-K---
-!$InputFile$: line 1: column 3: Expected end of input
diff --git a/tests/l-forbidden.start-lf.input b/tests/l-forbidden.start-lf.input
deleted file mode 100644
--- a/tests/l-forbidden.start-lf.input
+++ /dev/null
@@ -1,1 +0,0 @@
----
diff --git a/tests/l-forbidden.start-lf.output b/tests/l-forbidden.start-lf.output
deleted file mode 100644
--- a/tests/l-forbidden.start-lf.output
+++ /dev/null
@@ -1,2 +0,0 @@
-K---
-?\x0a
diff --git a/tests/l-forbidden.start.input b/tests/l-forbidden.start.input
deleted file mode 100644
--- a/tests/l-forbidden.start.input
+++ /dev/null
@@ -1,1 +0,0 @@
----
diff --git a/tests/l-forbidden.start.output b/tests/l-forbidden.start.output
deleted file mode 100644
--- a/tests/l-forbidden.start.output
+++ /dev/null
@@ -1,1 +0,0 @@
-K---
diff --git a/tests/nb-ns-plain-in-line.c=flow-out.invalid.input b/tests/nb-ns-plain-in-line.c=flow-out.invalid.input
new file mode 100644
--- /dev/null
+++ b/tests/nb-ns-plain-in-line.c=flow-out.invalid.input
@@ -0,0 +1,1 @@
+ #
diff --git a/tests/nb-ns-plain-in-line.c=flow-out.invalid.output b/tests/nb-ns-plain-in-line.c=flow-out.invalid.output
new file mode 100644
--- /dev/null
+++ b/tests/nb-ns-plain-in-line.c=flow-out.invalid.output
@@ -0,0 +1,1 @@
+!$InputFile$: line 1: column 0: Expected end of input
diff --git a/yeast2html b/yeast2html
--- a/yeast2html
+++ b/yeast2html
@@ -143,7 +143,7 @@
                 if $title ne $begin_title;
         }
         push(@$data, [ $class, $text ]);
-        if ($text && $text ne '') {
+        if ($text ne '') {
             for (my $i = 0; $i < @$has_content; $i++) {
                 $has_content->[$i] = 1;
             }
@@ -400,7 +400,6 @@
         if ($class->{type} eq 'bom') {
             print $output "&hArr;</span>";
         } else {
-            $text = "&deg;" unless $text;
             print $output "$text</span>";
         }
         $pending_break = $class->{type} eq 'line';
