(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {<'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/ucb'> <Id.Lit_Colon ':'> <'/usr/old/bin'> } spids: [100] ) ] ) (C {<export>} {<PATH>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:D) op: assign_op.Equal rhs: {<.depend>} spids: [114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:append) op: assign_op.Equal rhs: {<0>} spids: [120] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<Id.Lit_Colon ':'>})]) body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<-a>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:append) op: assign_op.Equal rhs: {<1>} spids: [148] ) ] ) (C {<shift>}) ] spids: [144 145 154 -1] ) (case_arm pat_list: [{<-f>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:D) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [166] ) ] ) (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [162 163 175 -1] ) (case_arm pat_list: [{<-p>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SED) op: assign_op.Equal rhs: {(SQ <'s;\\.o ; ;'>)} spids: [191] ) ] ) (C {<shift>}) ] spids: [187 188 199 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] spids: [202 203 208 -1] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(SQ <'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [216 230] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP) op: assign_op.Equal rhs: {<'/tmp/mkdep'> ($ Id.VSub_Dollar '$$')} spids: [247] ) ] ) (C {<trap>} {(SQ <'rm -f $TMP ; trap 2 ; kill -2 $$'>)} {<1>} {<2>} {<3>} {<13>} {<15>}) (command.Pipeline children: [ (C {<cc>} {<-M>} {($ Id.VSub_Star '$*')}) (C {<sed>} { (DQ <'\n'> <'\ts; '> <Id.Lit_BadBackslash '\\'> <'./; ;g\n'> <'\t/'> <Id.Lit_BadBackslash '\\'> <'.c:'> <Id.Lit_Dollar '$'> <'/d\n'> <'\t'> ($ Id.VSub_DollarName '$SED') ) } ) (command.Simple words: [ {<awk>} { (SQ <'{\n'> <'\tif ($1 != prev) {\n'> <'\t\tif (rec != "")\n'> <'\t\t\tprint rec;\n'> <'\t\trec = $0;\n'> <'\t\tprev = $1;\n'> <'\t}\n'> <'\telse {\n'> <'\t\tif (length(rec $2) > 78) {\n'> <'\t\t\tprint rec;\n'> <'\t\t\trec = $0;\n'> <'\t\t}\n'> <'\t\telse\n'> <'\t\t\trec = rec " " $2\n'> <'\t}\n'> <'}\n'> <'END {\n'> <'\tprint rec\n'> <'}'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TMP')} ) ] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(SQ <'mkdep: compile failed.'>)}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$TMP')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [324 338] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$append')} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$TMP')}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$D')} ) ] do_fork: T ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$TMP')}) ] spids: [362 375] ) ] else_action: [(C {<mv>} {($ Id.VSub_DollarName '$TMP')} {($ Id.VSub_DollarName '$D')})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )