(command.CommandList children: [ (command.ShFunction name_tok: <escape_eregexp> name: escape_eregexp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-r>} {(SQ <'s/(\\*|\\.|\\[|\\^|\\$|\\[|\\]|\\||\\{|\\}|\\?|\\+|\\(|\\)|\\\\)/\\\\\\1/g'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <escapefn_eregexp> name: escapefn_eregexp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <escape_eregexp> more_env: [] words: [{<escape_eregexp>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'line_regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'line_regexp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'line_regexp='> name:line_regexp) op: assign_op.Equal rhs: {(SQ <'^[0-9a-f]* <([^>]*)>'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'alloc_site_regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alloc_site_regexp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'alloc_site_regexp='> name:alloc_site_regexp) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name line_regexp) <'.*'>) (SQ <'call.*alloc'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'allocation_sites='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'allocation_sites='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'allocation_sites='> name:allocation_sites) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <objdump> more_env: [] words: [{<objdump>} {<--prefix-addresses>} {<-d>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {(DQ ($ Id.VSub_DollarName alloc_site_regexp))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-r>} { (DQ <'s/'> (${ Id.VSub_Name alloc_site_regexp) <'.*/'> <Id.Lit_BadBackslash '\\'> <'1/'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'objdump_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objdump_output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objdump_output='> name:objdump_output) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <objdump> more_env: [] words: [{<objdump>} {<--prefix-addresses>} {<-dS>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<sym>} {<offset>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'regexp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'regexp='> name:regexp) op: assign_op.Equal rhs: { (DQ <'<'> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <escapefn_eregexp> more_env: [] words: [{<escapefn_eregexp>} {(DQ ($ Id.VSub_DollarName sym))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <Id.Lit_BadBackslash '\\'> <'+'> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <escapefn_eregexp> more_env: [] words: [{<escapefn_eregexp>} {(DQ ($ Id.VSub_DollarName offset))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'>'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'regexp: '> ($ Id.VSub_DollarName regexp))}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'context='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'context='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'context='> name:context) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName objdump_output))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {<-B200>} {(DQ ($ Id.VSub_DollarName regexp))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'context: '> ($ Id.VSub_DollarName context))}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'source='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source='> name:source) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName context))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {<-v>} {(DQ ($ Id.VSub_DollarName line_regexp))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {(SQ <'\\n'>)} {(SQ <' '>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'token='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'token='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'token='> name:token) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName source))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {(SQ <'(new|sizeof)([^0-9a-z_]|$)'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-r>} {(SQ <'s/.*(new|sizeof)([^0-9a-zA-Z_]|$)/\\2/'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-r>} {(SQ <'s/[^0-9a-zA-Z_]*([a-zA-Z0-9_ \\*]+).*/\\1/'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'token: '> ($ Id.VSub_DollarName token))}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Guessed that site <'> (${ Id.VSub_Name sym) <'+'> (${ Id.VSub_Name offset) <'> allocated: '> (${ Id.VSub_Name token) ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [ (Redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName allocation_sites))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(SQ <'s/\\+(0x[0-9a-f]*)$/ \\1/'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] ) ] )