(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<awk>} 
              {
                (DQ <'\n'> <'BEGIN { saw1 = 0; saw2 = 0; err = 0; }\n'> <'/.*'> ($ Id.VSub_Number '$2') 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/ { saw1 = 1; }\n'> <'/.*'> ($ Id.VSub_Number '$3') 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/ {\n'> <'     saw2 = 1;\n'> <'     if (!saw1)\n'> <'       {\n'> <'\t  printf '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'layout of '> ($ Id.VSub_Number '$2') <' and '> ($ Id.VSub_Number '$3') <' is not right'> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  err = 1;\n'> 
                  <'\t  exit 1;\n'> <'       }\n'> <'    }\n'> <'END {\n'> <'      if (!saw1 && !err)\n'> <'\t{\n'> <'\t  printf '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'did not see '> ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) 
                  <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  exit 1;\n'> <'\t}\n'> 
                  <'      if (!saw2 && !err)\n'> <'\t{\n'> <'\t  printf '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'did not see '> 
                  ($ Id.VSub_Number '$3') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <';\n'> <'\t  exit 1;\n'> <'\t}\n'> <'    }'>
                )
              } {($ Id.VSub_Number '$1')}
            )
          ]
        )
    )
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <hot_foo_0001>)} {(DQ <hot_foo_0002>)})
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <hot_foo_0002>)} {(DQ <hot_foo_0003>)})
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <vdata_0001>)} {(DQ <vdata_0002>)})
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <vdata_0002>)} {(DQ <vdata_0003>)})
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <vbss_0001>)} {(DQ <vbss_0002>)})
    (C {<check>} {<section_sorting_name.stdout>} {(DQ <vbss_0002>)} {(DQ <vbss_0003>)})
  ]
)