(command.CommandList children: [ (C {<Id.KW_Set set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:common_objpfx) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [57] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_program_prefix_before_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [60] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_program_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [63] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_program_prefix_after_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$4')} spids: [66] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_program_prefix) op: assign_op.Equal rhs: {($ Id.VSub_Number '$5')} spids: [69] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datafile) op: assign_op.Equal rhs: {($ Id.VSub_Number '$6')} spids: [72] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:here) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children:[(C {<pwd>})]) ) } spids: [76] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lang) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<sed>} {<-e>} {(SQ <'/^#/d'>)} {<-e>} {(SQ <'/^$/d'>)} {<-e>} {(SQ <'/^C\t/d'>)} {<-e>} {(SQ <'/^tstfmon/d'>)} {<-e>} {(SQ <'s/^\\([^\t]*\\).*/\\1/'>)} {($ Id.VSub_DollarName '$datafile')} ) (C {<sort>}) (C {<uniq>}) ] negated: F ) ] ) ) } spids: [84] ) ] ) (command.ForEach iter_name: cns iter_words: [ { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {<./tst-fmon-locales>}) (C {<ls>} {<tstfmon_> <Id.Lit_Star '*'>}) ] ) ] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cn) op: assign_op.Equal rhs: {<tst-fmon-locales/> ($ Id.VSub_DollarName '$cns')} spids: [166] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fn) op: assign_op.Equal rhs: {<charmaps/ISO-8859-1>} spids: [171] ) ] ) (C {(${ Id.VSub_Name run_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'I18NPATH='> <.>} {(${ Id.VSub_Name run_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <locale/localedef>} {<--quiet>} {<-i>} {($ Id.VSub_DollarName '$cn')} {<-f>} {($ Id.VSub_DollarName '$fn')} {(${ Id.VSub_Name common_objpfx) <localedata/> ($ Id.VSub_DollarName '$cns')} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errcode) op: assign_op.Equal rhs: {<0>} spids: [225] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.Simple words: [{<read>} {<locale>} {<format>} {<value>} {<expect>}] more_env: [(env_pair name:IFS val:{(DQ <'\t'>)} spids:[233])] ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$locale'))} arms: [ (case_arm pat_list: [{(SQ <'#'>) <Id.Lit_Star '*'>}] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [260 264 268 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$format'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:expect) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$expect'))}) (C {<sed>} {(SQ <'s/^"\\(.*\\)"$/\\1/'>)}) ] negated: F ) ] ) ) } spids: [289] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix)} {(${ Id.VSub_Name common_objpfx) <localedata/tst-fmon>} {(DQ ($ Id.VSub_DollarName '$locale'))} {(DQ ($ Id.VSub_DollarName '$format'))} {(DQ ($ Id.VSub_DollarName '$value'))} {(DQ ($ Id.VSub_DollarName '$expect'))} ] redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{</dev/null>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errcode) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [352] ) ] ) ] ) ] spids: [273 286] ) ] ) ] ) redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$datafile')} ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$errcode')} ) ] )