(command.CommandList children: [ (command.ShFunction name: escape_eregexp body: (BraceGroup children: [ (C {<sed>} {<-r>} {(SQ <'s/(\\*|\\.|\\[|\\^|\\$|\\[|\\]|\\||\\{|\\}|\\?|\\+|\\(|\\)|\\\\)/\\\\\\1/g'>)} ) ] ) ) (command.ShFunction name: escapefn_eregexp body: (BraceGroup children: [ (command.Pipeline children: [(C {<echo>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<escape_eregexp>})] negated: F ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:line_regexp) op: assign_op.Equal rhs: {(SQ <'^[0-9a-f]* <([^>]*)>'>)} spids: [68] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alloc_site_regexp) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name line_regexp) <'.*'>) (SQ <'call.*alloc'>)} spids: [73] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allocation_sites) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<objdump>} {<--prefix-addresses>} {<-d>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<egrep>} {(DQ ($ Id.VSub_DollarName '$alloc_site_regexp'))}) (C {<sed>} {<-r>} { (DQ <'s/'> (${ Id.VSub_Name alloc_site_regexp) <'.*/'> <Id.Lit_BadBackslash '\\'> <'1/'> ) } ) ] negated: F ) ) ) } spids: [84] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objdump_output) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<objdump>} {<--prefix-addresses>} {<-dS>} {(DQ ($ Id.VSub_Number '$1'))}) ) ) } spids: [134] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<read>} {<sym>} {<offset>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regexp) op: assign_op.Equal rhs: { (DQ <'<'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<escapefn_eregexp>} {(DQ ($ Id.VSub_DollarName '$sym'))}) ) <Id.Lit_BadBackslash '\\'> <'+'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<escapefn_eregexp>} {(DQ ($ Id.VSub_DollarName '$offset'))}) ) <'>'> ) } spids: [172] ) ] ) (command.Simple 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 pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:context) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$objdump_output'))}) (C {<egrep>} {<-B200>} {(DQ ($ Id.VSub_DollarName '$regexp'))}) ] negated: F ) ) ) } spids: [217] ) ] ) (command.Simple 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 pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$context'))}) (C {<egrep>} {<-v>} {(DQ ($ Id.VSub_DollarName '$line_regexp'))}) (C {<tr>} {(SQ <'\\n'>)} {(SQ <' '>)}) ] negated: F ) ) ) } spids: [259] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:token) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$source'))}) (C {<egrep>} {(SQ <'(new|sizeof)([^0-9a-z_]|$)'>)}) (C {<sed>} {<-r>} {(SQ <'s/.*(new|sizeof)([^0-9a-zA-Z_]|$)/\\2/'>)}) (C {<sed>} {<-r>} {(SQ <'s/[^0-9a-zA-Z_]*([a-zA-Z0-9_ \\*]+).*/\\1/'>)}) ] negated: F ) ) ) } spids: [306] ) ] ) (command.Simple 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 ) (C {<echo>} { (DQ <'Guessed that site <'> (${ Id.VSub_Name sym) <'+'> (${ Id.VSub_Name offset) <'> allocated: '> (${ Id.VSub_Name token) ) } ) ] ) redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$allocation_sites'))}) (C {<sed>} {<-r>} {(SQ <'s/\\+(0x[0-9a-f]*)$/ \\1/'>)}) ] negated: F ) ) ) } ) ] ) ] )