(command.CommandList children: [ (command.ShFunction name: fields_as_lines body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:'\\n' span_id:18))} {(SQ (Token id:Id.Lit_Chars val:'\\f' span_id:22))} ) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/\\f/\\f\\n/g' span_id:32))}) (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:'\\t' span_id:42))} {(SQ (Token id:Id.Lit_Chars val:'\\n' span_id:46))} ) ] negated: F ) ] ) ) (command.ShFunction name: recover_lines body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:'\\n' span_id:67))} {(SQ (Token id:Id.Lit_Chars val:'\\t' span_id:71))} ) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/\\f\\t/\\n/g' span_id:81))}) ] negated: F ) ] ) ) (command.ShFunction name: pad_numbers body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(fields_as_lines)}) (C {(sed)} {(-r)} { (DQ ('s/^([[:space:]]*[0-9]+[[:space:]]*)(') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:111) ) ('f|') (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:113)) (")/printf '%06d' '") (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\\\' span_id:115)) ("1'; printf '") (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:117) ) ("2'/e") ) } ) (C {(recover_lines)}) ] negated: F ) ] ) ) (command.ShFunction name: use_src_realpaths body: (command.BraceGroup children: [ (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:146) cond: [ (command.Sentence child: (command.Simple words: [ {(read)} {(-r)} {(alloc_sourcefile)} {(alloc_sourceline)} {(alloc_fun)} {(alloc_rest)} ] more_env: [ (env_pair name: IFS val: { (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:149) tokens: [(Token id:Id.Char_OneChar val:'\\t' span_id:150)] ) } spids: [148] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:164) ) ] body: (command.DoGroup children: [ (command.Simple words: [{(echo)} {(DQ ('Saw alloc_rest: ') ($ Id.VSub_DollarName '$alloc_rest'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:176) fd: 1 arg_word: {(2)} ) ] ) (C {(echo)} { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:183) command_list: (command.CommandList children: [ (C {(readlink)} {(-f)} {($ Id.VSub_DollarName '$alloc_sourcefile')}) ] ) ) ) (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:192) tokens: [(Token id:Id.Char_OneChar val:'\\t' span_id:193)] ) (DQ ($ Id.VSub_DollarName '$alloc_sourceline')) (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:198) tokens: [(Token id:Id.Char_OneChar val:'\\t' span_id:199)] ) (DQ ($ Id.VSub_DollarName '$alloc_fun')) (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:204) tokens: [(Token id:Id.Char_OneChar val:'\\t' span_id:205)] ) (DQ ($ Id.VSub_DollarName '$alloc_rest')) } ) ] ) ) ] ) ) (C {(.)} { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:222) command_list: (command.CommandList children:[(C {(dirname)} {($ Id.VSub_Number '$0')})]) ) (/debug-funcs.sh) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:our_name) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:232) command_list: (command.CommandList children: [(C {(basename)} {(DQ ($ Id.VSub_Number '$0'))})] ) ) ) } spids: [230] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:our_name_rewritten) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:243) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$our_name'))}) (C {(sed)} { (SQ (Token id: Id.Lit_Chars val: 's/gather-\\(.*\\)\\.sh/gather-\\1/' span_id: 256 ) ) } ) ] negated: F ) ] ) ) ) } spids: [241] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:all_obj_allocs_file) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [263] ) ] ) (command.Pipeline children: [ (C {(cat)} {(DQ ($ Id.VSub_DollarName '$all_obj_allocs_file'))}) (C {(cut)} {(-f1)}) (C {(sort)}) (C {(uniq)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:299) cond: [ (command.Sentence child: (C {(read)} {(obj)} {(rest)}) terminator: (Token id:Id.Op_Semi val:';' span_id:306) ) ] body: (command.DoGroup children: [ (command.Simple words: [ {(echo)} { (DQ ('Saw line ') ($ Id.VSub_DollarName '$obj') (' ') ($ Id.VSub_DollarName '$rest') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:320) fd: 1 arg_word: {(2)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:all_cus_info) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:326) command_list: (command.CommandList children: [(C {(get_cu_info)} {(DQ ($ Id.VSub_DollarName '$obj'))})] ) ) ) } spids: [324] ) ] ) (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$all_cus_info'))}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:348) cond: [ (command.Sentence child: (C {(read_cu_info)}) terminator: (Token id:Id.Op_Semi val:';' span_id:351) ) ] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cu_language_num'))} arms: [ (case_arm pat_list: [{(1)} {(2)} {(12)}] action: [ (C { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 377 ) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_Number '$0'))})] ) ) (/lang/c/bin/c-) (DQ ($ Id.VSub_DollarName '$our_name_rewritten')) } {(DQ ($ Id.VSub_DollarName '$cu_sourcepath'))} {(DQ ($ Id.VSub_DollarName '$obj'))} {(DQ ($ Id.VSub_DollarName '$cu_fname'))} {(DQ ($ Id.VSub_DollarName '$cu_compdir'))} ) ] spids: [365 371 406 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ( 'Warning: could not gather source-level allocs for unknown language: ' ) ($ Id.VSub_DollarName '$cu_language_fullstr') (' (') ($ Id.VSub_DollarName '$cu_language_num') (', ') (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 425 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(-n)} { (DQ ($ Id.VSub_DollarName '$cu_language_fullstr' ) ) } ) (C {(hd)}) ] negated: F ) ] ) ) (')') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:443) fd: 1 arg_word: {(2)} ) ] ) ] spids: [409 411 447 -1] ) ] ) ] ) ) ] negated: F ) ] ) ) (C {(pad_numbers)}) (C {(sort)} {(-t) (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:466) tokens: [(Token id:Id.Char_OneChar val:'\\t' span_id:467)] ) } {(-k1)} {(-k2)} ) (C {(uniq)}) ] negated: F ) ] )