(command.CommandList
  children: [
    (C {(Lit_Other ':')} 
      {
        (word_part.BracedVarSub
          token: <VSub_Name test>
          suffix_op: (suffix_op.StringUnary op_id:VTest_Equals arg_word:{(test)})
          spids: [95 99]
        )
      }
    )
    (command.FuncDef
      name: t
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:count spids:[119])
                  op: Equal
                  rhs: 
                    {
                      (word_part.ArithSubPart
                        anode: 
                          (arith_expr.ArithBinary
                            op_id: Arith_Plus
                            left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike count>)
                            right: (arith_expr.ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [120 125]
                      )
                    }
                  spids: [119]
                )
              ]
              spids: [119]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:syntax spids:[132])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.SimpleCommand
                                  words: [{(eval)} {($ VSub_DollarName '$test')} {($ VSub_Number '$2')}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [134 143]
                        )
                      )
                    }
                  spids: [132]
                )
              ]
              spids: [132]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:ret spids:[147])
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [147]
                )
              ]
              spids: [147]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$syntax'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(printf)} {(DQ ('not ok %s - (syntax error)') (Lit_Other '\\') (n))} 
                      {(DQ ($ VSub_DollarName '$count') (' ') ($ VSub_Number '$2'))}
                    )
                  ]
                  spids: [16777215 162]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$ret'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(printf)} 
                      {
                        (DQ ('not ok %s - (got ') ($ VSub_DollarName '$ret') (', expected ') 
                          ($ VSub_Number '$1') (')') (Lit_Other '\\') (n)
                        )
                      } {(DQ ($ VSub_DollarName '$count') (' ') ($ VSub_Number '$2'))}
                    )
                  ]
                  spids: [180 198]
                )
              ]
              else_action: [
                (C {(printf)} {(DQ ('ok %s') (Lit_Other '\\') (n))} 
                  {(DQ ($ VSub_DollarName '$count') (' ') ($ VSub_Number '$2'))}
                )
              ]
              spids: [220 238]
            )
          ]
          spids: [107]
        )
      spids: [102 106]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:count spids:[243])
          op: Equal
          rhs: {(0)}
          spids: [243]
        )
      ]
      spids: [243]
    )
    (C {(echo)} {(DQ (1..130))})
    (C {(t)} {(0)} {(SQ <'b = b'>)})
    (C {(t)} {(0)} {(SQ <'b == b'>)})
    (C {(t)} {(1)} {(SQ <'b != b'>)})
    (C {(t)} {(0)} {(SQ <'\\( b = b \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( b == b \\)'>)})
    (C {(t)} {(1)} {(SQ <'! \\( b = b \\)'>)})
    (C {(t)} {(1)} {(SQ <'! \\( b == b \\)'>)})
    (C {(t)} {(1)} {(SQ <'! -f /etc/passwd'>)})
    (C {(t)} {(0)} {(SQ <'-h = -h'>)})
    (C {(t)} {(0)} {(SQ <'-o = -o'>)})
    (C {(t)} {(1)} {(SQ <'-f = h'>)})
    (C {(t)} {(1)} {(SQ <'-h = f'>)})
    (C {(t)} {(1)} {(SQ <'-o = f'>)})
    (C {(t)} {(1)} {(SQ <'f = -o'>)})
    (C {(t)} {(0)} {(SQ <'\\( -h = -h \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( a = -h \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( -f = h \\)'>)})
    (C {(t)} {(0)} {(SQ <'-h = -h -o a'>)})
    (C {(t)} {(0)} {(SQ <'\\( -h = -h \\) -o 1'>)})
    (C {(t)} {(0)} {(SQ <'-h = -h -o -h = -h'>)})
    (C {(t)} {(0)} {(SQ <'\\( -h = -h \\) -o \\( -h = -h \\)'>)})
    (C {(t)} {(0)} {(SQ <'roedelheim = roedelheim'>)})
    (C {(t)} {(1)} {(SQ <'potsdam = berlin-dahlem'>)})
    (C {(t)} {(0)} {(SQ <'-d /'>)})
    (C {(t)} {(0)} {(SQ <'-d / -a a != b'>)})
    (C {(t)} {(1)} {(SQ <'-z "-z"'>)})
    (C {(t)} {(0)} {(SQ <'-n -n'>)})
    (C {(t)} {(0)} {(SQ <0>)})
    (C {(t)} {(0)} {(SQ <'\\( 0 \\)'>)})
    (C {(t)} {(0)} {(SQ <-E>)})
    (C {(t)} {(0)} {(SQ <'-X -a -X'>)})
    (C {(t)} {(0)} {(SQ <-XXX>)})
    (C {(t)} {(0)} {(SQ <'\\( -E \\)'>)})
    (C {(t)} {(0)} {(SQ <'true -o X'>)})
    (C {(t)} {(0)} {(SQ <'true -o -X'>)})
    (C {(t)} {(0)} {(SQ <'\\( \\( \\( a = a \\) -o 1 \\) -a 1 \\) -a true'>)})
    (C {(t)} {(1)} {(SQ <'-h /'>)})
    (C {(t)} {(0)} {(SQ <'-r /'>)})
    (C {(t)} {(1)} {(SQ <'-w /'>)})
    (C {(t)} {(0)} {(SQ <'-x /bin/sh'>)})
    (C {(t)} {(0)} {(SQ <'-c /dev/null'>)})
    (C {(t)} {(0)} {(SQ <'-f /etc/passwd'>)})
    (C {(t)} {(0)} {(SQ <'-s /etc/passwd'>)})
    (C {(t)} {(1)} {(SQ <'! \\( 700 -le 1000 -a -n "1" -a "20" = "20" \\)'>)})
    (C {(t)} {(0)} {(SQ <'100 -eq 100'>)})
    (C {(t)} {(0)} {(SQ <'100 -lt 200'>)})
    (C {(t)} {(1)} {(SQ <'1000 -lt 200'>)})
    (C {(t)} {(0)} {(SQ <'1000 -gt 200'>)})
    (C {(t)} {(0)} {(SQ <'1000 -ge 200'>)})
    (C {(t)} {(0)} {(SQ <'1000 -ge 1000'>)})
    (C {(t)} {(1)} {(SQ <'2 -ne 2'>)})
    (C {(t)} {(0)} {(SQ <'0 -eq 0'>)})
    (C {(t)} {(1)} {(SQ <'-5 -eq 5'>)})
    (C {(t)} {(0)} {(SQ <'\\( 0 -eq 0 \\)'>)})
    (C {(t)} {(1)} {(SQ <'1 -eq 0 -o a = a -a 1 -eq 0 -o a = aa'>)})
    (C {(t)} {(1)} {(SQ <'"" -o ""'>)})
    (C {(t)} {(1)} {(SQ <'"" -a ""'>)})
    (C {(t)} {(1)} {(SQ <'"a" -a ""'>)})
    (C {(t)} {(0)} {(SQ <'"a" -a ! ""'>)})
    (C {(t)} {(1)} {(SQ <'""'>)})
    (C {(t)} {(0)} {(SQ <'! ""'>)})
    (C {(t)} {(0)} {(SQ <'!'>)})
    (C {(t)} {(0)} {(SQ <'\\('>)})
    (C {(t)} {(0)} {(SQ <'\\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( = \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( != \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( ! \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( \\( \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( \\) \\)'>)})
    (C {(t)} {(0)} {(SQ <'! = !'>)})
    (C {(t)} {(1)} {(SQ <'! != !'>)})
    (C {(t)} {(1)} {(SQ <'-n = \\)'>)})
    (C {(t)} {(0)} {(SQ <'! != \\)'>)})
    (C {(t)} {(1)} {(SQ <'! = a'>)})
    (C {(t)} {(0)} {(SQ <'! != -n'>)})
    (C {(t)} {(0)} {(SQ <'! -c /etc/passwd'>)})
    (C {(t)} {(1)} {(SQ <'! = = ='>)})
    (C {(t)} {(0)} {(SQ <'! = = \\)'>)})
    (C {(t)} {(0)} {(SQ <'! "" -o ""'>)})
    (C {(t)} {(1)} {(SQ <'! "x" -o ""'>)})
    (C {(t)} {(1)} {(SQ <'! "" -o "x"'>)})
    (C {(t)} {(1)} {(SQ <'! "x" -o "x"'>)})
    (C {(t)} {(0)} {(SQ <'\\( -f /etc/passwd \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( ! "" \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( ! -e \\)'>)})
    (C {(t)} {(0)} {(SQ <'0 -eq 0 -a -d /'>)})
    (C {(t)} {(0)} {(SQ <'-s = "" -o "" = ""'>)})
    (C {(t)} {(0)} {(SQ <'"" = "" -o -s = ""'>)})
    (C {(t)} {(1)} {(SQ <'-s = "" -o -s = ""'>)})
    (C {(t)} {(0)} {(SQ <'-z x -o x = "#" -o x = x'>)})
    (C {(t)} {(1)} {(SQ <'-z y -o y = "#" -o y = x'>)})
    (C {(t)} {(0)} {(SQ <'0 -ne 0 -o ! -f /'>)})
    (C {(t)} {(0)} {(SQ <'1 -ne 0 -o ! -f /etc/passwd'>)})
    (C {(t)} {(1)} {(SQ <'0 -ne 0 -o ! -f /etc/passwd'>)})
    (C {(t)} {(0)} {(SQ <'-n ='>)})
    (C {(t)} {(1)} {(SQ <'-z ='>)})
    (C {(t)} {(1)} {(SQ <'! ='>)})
    (C {(t)} {(0)} {(SQ <'-n -eq'>)})
    (C {(t)} {(1)} {(SQ <'-z -eq'>)})
    (C {(t)} {(1)} {(SQ <'! -eq'>)})
    (C {(t)} {(0)} {(SQ <'-n -a'>)})
    (C {(t)} {(1)} {(SQ <'-z -a'>)})
    (C {(t)} {(1)} {(SQ <'! -a'>)})
    (C {(t)} {(0)} {(SQ <'-n -o'>)})
    (C {(t)} {(1)} {(SQ <'-z -o'>)})
    (C {(t)} {(1)} {(SQ <'! -o'>)})
    (C {(t)} {(1)} {(SQ <'! -n ='>)})
    (C {(t)} {(0)} {(SQ <'! -z ='>)})
    (C {(t)} {(0)} {(SQ <'! ! ='>)})
    (C {(t)} {(1)} {(SQ <'! -n -eq'>)})
    (C {(t)} {(0)} {(SQ <'! -z -eq'>)})
    (C {(t)} {(0)} {(SQ <'! ! -eq'>)})
    (C {(t)} {(1)} {(SQ <'! -n -a'>)})
    (C {(t)} {(0)} {(SQ <'! -z -a'>)})
    (C {(t)} {(0)} {(SQ <'! ! -a'>)})
    (C {(t)} {(1)} {(SQ <'! -n -o'>)})
    (C {(t)} {(0)} {(SQ <'! -z -o'>)})
    (C {(t)} {(0)} {(SQ <'! ! -o'>)})
    (C {(t)} {(0)} {(SQ <'\\( -n = \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( -z = \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( ! = \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( -n -eq \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( -z -eq \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( ! -eq \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( -n -a \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( -z -a \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( ! -a \\)'>)})
    (C {(t)} {(0)} {(SQ <'\\( -n -o \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( -z -o \\)'>)})
    (C {(t)} {(1)} {(SQ <'\\( ! -o \\)'>)})
  ]
)