(command.CommandList
  children: [
    (C {<_Dbg_help_add>} {<display>} 
      {
        (DQ <'**display** [*stmt*]\n'> <'\n'> 
          <'Evalute *stmt* each time the debugger is stopped. If *stmt* is omitted, evaluate\n'> <'all of the display statements that are active. In contrast, **info display**\n'> 
          <'shows the display statements without evaluating them.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> <'  display echo '> 
          (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'x  # show the current value of x each time debugger stops\n'> 
          <'  display          # evaluate all display statements\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**undisplay** and **info display**.'>
        )
      }
    )
    (command.ShFunction
      name: _Dbg_do_display
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {<Id.Lit_Digits 0>}
                                  right: {($ Id.VSub_Pound '$#')}
                                )
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<_Dbg_eval_all_display>})]
                  spids: [98 112]
                )
              ]
              else_action: [
                (C {<typeset>} {<-i>} 
                  {<Id.Lit_VarLike 'n='> <_Dbg_disp_max> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.IndexedName
                          name: _Dbg_disp_exp
                          index: {($ Id.VSub_DollarName '$n')}
                        )
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_At '$@'))}
                      spids: [131]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.IndexedName
                          name: _Dbg_disp_enable
                          index: {($ Id.VSub_DollarName '$n')}
                        )
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [141]
                    )
                  ]
                )
                (C {<_Dbg_printf>} {(SQ <'%2d: %s'>)} {($ Id.VSub_DollarName '$n')} 
                  {
                    (DQ 
                      (braced_var_sub
                        token: <Id.VSub_Name _Dbg_disp_exp>
                        bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName '$n')})
                      )
                    )
                  }
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
  ]
)