(command.CommandList
  children: [
    (C {(.)} {(/lib/lsb/init-functions)})
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm pat_list:[{(start)}] spids:[48 49 51 -1])
        (case_arm
          pat_list: [{(stop)} {(restart)} {(force-reload)}]
          action: [
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:61)
              arg_word: {(0)}
            )
          ]
          spids: [54 59 65 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [
                    {(echo)}
                    {(DQ ('Usage: ') ($ Id.VSub_Number '$0') (' {start|stop|restart|force-reload}'))}
                  ]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:79)
                      fd: -1
                      arg_word: {(2)}
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:81)
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:83)
              arg_word: {(1)}
            )
          ]
          spids: [68 69 87 -1]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(Id.Lit_LBracket '[')} {(-x)} {(/etc/ppp/ip-down.d/0000usepeerdns)} {(Id.Lit_RBracket ']')})
        (C {(exec)} {(/etc/ppp/ip-down.d/0000usepeerdns)})
      ]
    )
  ]
)