(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:voptions) op:Equal rhs:{(DQ )} spids:[100])]
      spids: [100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ )} spids:[104])]
      spids: [104]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(DQ )} spids:[108])]
      spids: [108]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(DQ )} spids:[112])]
      spids: [112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:head) op:Equal rhs:{(DQ )} spids:[116])]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:vf)
          op: Equal
          rhs: {(DQ (/usr/libexec/vfontedpr))}
          spids: [120]
        )
      ]
      spids: [120]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tm) op:Equal rhs:{(DQ (/usr/share/tmac))} spids:[125])]
      spids: [125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:postproc) op:Equal rhs:{(DQ (psroff))} spids:[130])]
      spids: [130]
    )
    (While
      cond: [
        (Sentence
          child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(-f)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:f)
                          op: Equal
                          rhs: {(DQ (filter))}
                          spids: [164]
                        )
                      ]
                      spids: [164]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:options)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$options') (' -f'))}
                          spids: [170]
                        )
                      ]
                      spids: [170]
                    )
                  ]
                  spids: [160 161 177 16777215]
                )
                (case_arm
                  pat_list: [{(-t)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:voptions)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$voptions') (' -t'))}
                          spids: [184]
                        )
                      ]
                      spids: [184]
                    )
                  ]
                  spids: [180 181 191 16777215]
                )
                (case_arm
                  pat_list: [{(-o) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:voptions)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$voptions') (' ') ($ VSub_Number '$1'))}
                          spids: [199]
                        )
                      ]
                      spids: [199]
                    )
                  ]
                  spids: [194 196 207 16777215]
                )
                (case_arm
                  pat_list: [{(-W)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:voptions)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$voptions') (' -W'))}
                          spids: [214]
                        )
                      ]
                      spids: [214]
                    )
                  ]
                  spids: [210 211 221 16777215]
                )
                (case_arm
                  pat_list: [{(-d)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-lt)} {(2)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Number '$0') (': option ') ($ VSub_Number '$1') 
                                    (' must have argument')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [251]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 239]
                        )
                      ]
                      spids: [16777215 260]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:options)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$options') (' ') ($ VSub_Number '$1') (' ') 
                                ($ VSub_Number '$2')
                              )
                            }
                          spids: [263]
                        )
                      ]
                      spids: [263]
                    )
                    (C {(shift)})
                  ]
                  spids: [224 225 276 16777215]
                )
                (case_arm
                  pat_list: [{(-h)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-lt)} {(2)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Number '$0') (': option ') ($ VSub_Number '$1') 
                                    (' must have argument')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [306]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 294]
                        )
                      ]
                      spids: [16777215 315]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:head)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$2'))}
                          spids: [318]
                        )
                      ]
                      spids: [318]
                    )
                    (C {(shift)})
                  ]
                  spids: [279 280 327 16777215]
                )
                (case_arm
                  pat_list: [{(-p)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-lt)} {(2)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Number '$0') (': option ') ($ VSub_Number '$1') 
                                    (' must have argument')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [357]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 345]
                        )
                      ]
                      spids: [16777215 366]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:postproc)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$2'))}
                          spids: [369]
                        )
                      ]
                      spids: [369]
                    )
                    (C {(shift)})
                  ]
                  spids: [330 331 378 16777215]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:options)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$options') (' ') ($ VSub_Number '$1'))}
                          spids: [386]
                        )
                      ]
                      spids: [386]
                    )
                  ]
                  spids: [381 383 394 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:files)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$files') (' ') ($ VSub_Number '$1'))}
                          spids: [401]
                        )
                      ]
                      spids: [401]
                    )
                  ]
                  spids: [397 398 409 16777215]
                )
              ]
              spids: [153 157 412]
            )
            (C {(shift)})
          ]
          spids: [150 417]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(index)}) terminator:<Op_Semi ';'>)]
          action: [
            (SimpleCommand
              words: [{(echo)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(nindex)} spids:[434])]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ ('? ') ($ VSub_Name '$i') (' ?d'))})
                        (SimpleCommand
                          words: [
                            {(sed)}
                            {(-e)}
                            {
                              (DQ ('s:/:') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('/:g'))
                            }
                            {(-e)}
                            {(DQ ('s:?:/:g'))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: 16777215
                              arg_word: {(nindex)}
                              spids: [485]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                  ]
                  spids: [448 490]
                )
              spids: [444 446]
            )
            (SimpleCommand
              words: [{(sed)} {(-f)} {(nindex)} {(index)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(xindex)} spids:[501])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ (x) ($ VSub_Name '$f'))} {(Lit_Other '=')} {(xfilter)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(DQ (x) ($ VSub_Name '$head'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(x)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {(-h)} 
                                  {(DQ ($ VSub_Name '$head'))} {($ VSub_Name '$files')}
                                )
                              ]
                              spids: [16777215 538]
                            )
                          ]
                          else_action: [
                            (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {($ VSub_Name '$files')})
                          ]
                          spids: [554 564]
                        )
                        (C {(cat)} {($ VSub_Name '$tm') (/tmac.vgrind)} {(-)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [16777215 520]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (x) ($ VSub_Name '$head'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(x)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {(-h)} 
                              {(DQ ($ VSub_Name '$head'))} {($ VSub_Name '$files')}
                            )
                          ]
                          spids: [16777215 594]
                        )
                      ]
                      else_action: [
                        (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {($ VSub_Name '$files')})
                      ]
                      spids: [610 620]
                    )
                    (C {(sh)} {(-c)} 
                      {
                        (DQ ($ VSub_Name '$postproc') (' -rx1 ') ($ VSub_Name '$voptions') 
                          (' -i -mvgrind 2>> xindex')
                        )
                      }
                    )
                  ]
                  negated: F
                )
              ]
              spids: [576 636]
            )
            (SimpleCommand
              words: [{(sort)} {(-df)} {(-k)} {(1) (Lit_Comma ',') (2)} {(xindex)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(index)} spids:[651])]
            )
            (C {(rm)} {(nindex)} {(xindex)})
          ]
          spids: [16777215 429]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ (x) ($ VSub_Name '$f'))} {(Lit_Other '=')} {(xfilter)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Pipeline
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (x) ($ VSub_Name '$head'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(x)}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {(-h)} 
                              {(DQ ($ VSub_Name '$head'))} {($ VSub_Name '$files')}
                            )
                          ]
                          spids: [16777215 697]
                        )
                      ]
                      else_action: [
                        (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {($ VSub_Name '$files')})
                      ]
                      spids: [713 723]
                    )
                    (C {(cat)} {($ VSub_Name '$tm') (/tmac.vgrind)} {(-)})
                  ]
                  negated: F
                )
              ]
              spids: [16777215 679]
            )
          ]
          else_action: [
            (Pipeline
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(test)} {(DQ (x) ($ VSub_Name '$head'))} {(KW_Bang '!') (Lit_Other '=')} 
                              {(x)}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {(-h)} 
                          {(DQ ($ VSub_Name '$head'))} {($ VSub_Name '$files')}
                        )
                      ]
                      spids: [16777215 753]
                    )
                  ]
                  else_action: [
                    (C {($ VSub_Name '$vf')} {($ VSub_Name '$options')} {($ VSub_Name '$files')})
                  ]
                  spids: [769 779]
                )
                (C {($ VSub_Name '$postproc')} {(-i)} {($ VSub_Name '$voptions')} {(-mvgrind)})
              ]
              negated: F
            )
          ]
          spids: [735 792]
        )
      ]
      spids: [662 794]
    )
  ]
)