(command.CommandList
  children: [
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<1st>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<2nd>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<3rd>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<4th>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<5th>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ForExpr
      init: 
        (arith_expr.BinaryAssign
          op_id: Id.Arith_Equal
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 0>}
        )
      cond: 
        (arith_expr.Binary
          op_id: Id.Arith_Less
          left: <Id.Lit_ArithVarLike i>
          right: {<Id.Lit_Digits 3>}
        )
      update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>)
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: (C {<echo>} {<6th>} {<loop>} {($ Id.VSub_DollarName '$i')})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
  ]
)