(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [(C {<test>} {($ Id.VSub_Pound '$#')} {<Id.Lit_Equals '='>} {<1>})] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROG_DIR) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [27] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_DIR) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [35] ) ] ) ] spids: [14 24] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROG_DIR) op: assign_op.Equal rhs: {<..>} spids: [41] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_DIR) op: assign_op.Equal rhs: {<.>} spids: [45] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ifBTYACC) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<fgrep>} {<-l>} {(SQ <'define YYBTYACC'>)} {<config.h>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<test>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} ) terminator: <Id.Op_Semi _> ) (C {<echo>} {($ Id.VSub_QMark '$?')}) ] ) ) } spids: [51] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$ifBTYACC')} {<Id.Lit_Equals '='>} {<0>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REF_DIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name TEST_DIR) <'/yacc'>} spids: [100] ) ] ) ] spids: [86 97] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REF_DIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name TEST_DIR) <'/btyacc'>} spids: [109] ) ] ) ] ) (C {<echo>} {(SQ <'** '>) (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<date>}))}) (command.ForEach iter_names: [i] iterable: (for_iter.Words words:[{(${ Id.VSub_Name REF_DIR) <'/'> <Id.Lit_Star '*'> <.c>}]) body: (command.DoGroup children: [ (C {<make>} {<-f>} {($ Id.VSub_DollarName '$PROG_DIR') <'/makefile'>} {<lint>} {<Id.Lit_VarLike 'C_FILES='> ($ Id.VSub_DollarName '$i')} {<Id.Lit_VarLike 'srcdir='> ($ Id.VSub_DollarName '$PROG_DIR')} ) ] ) ) ] )