(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'in='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'in='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'in='> name:in) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'out='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'out='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'out='> name:out) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'my_abis='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'my_abis='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_abis='> name:my_abis) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'('> ($ Id.VSub_Number 3) <')'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {(SQ <','>)} {(SQ <'|'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prefix='> name:prefix) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 4))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'offset='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'offset='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'offset='> name:offset) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 5))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'fileguard='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fileguard='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fileguard='> name:fileguard) op: assign_op.Equal rhs: {<_ASM_X86_> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {(DQ ($ Id.VSub_DollarName out))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} {(SQ <'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'>)} {<-e>} {(SQ <'s/[^A-Z0-9_]/_/g'>)} {<-e>} {(SQ <'s/__/_/g'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Pipeline children: [ (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {<-E>} {(DQ <'^[0-9A-Fa-fXx]+[[:space:]]+'> (${ Id.VSub_Name my_abis))} {(DQ ($ Id.VSub_DollarName in))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-n>}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#ifndef '> (${ Id.VSub_Name fileguard))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#define '> (${ Id.VSub_Name fileguard) <' 1'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<nr>} {<abi>} {<name>} {<entry>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName offset))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'#define __NR_'> (${ Id.VSub_Name prefix) (${ Id.VSub_Name name) <' '> ($ Id.VSub_DollarName nr) ) } ] redirects: [] do_fork: T ) ] spids: [165 178] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'#define __NR_'> (${ Id.VSub_Name prefix) (${ Id.VSub_Name name) <' ('> ($ Id.VSub_DollarName offset) <' + '> ($ Id.VSub_DollarName nr) <')'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#endif /* '> (${ Id.VSub_Name fileguard) <' */'>)}] redirects: [] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName out))} ) ] ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] )