(command.ShFunction name_tok: <translate_symnames> name: translate_symnames body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'objfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'objfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'objfile='> name:objfile) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cu_fname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cu_fname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cu_fname='> name:cu_fname) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cu_compdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cu_compdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cu_compdir='> name:cu_compdir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 3))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'BASE_TYPES_TRANSLATION='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BASE_TYPES_TRANSLATION='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'BASE_TYPES_TRANSLATION='> name: BASE_TYPES_TRANSLATION ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name BASE_TYPES_TRANSLATION> var_name: BASE_TYPES_TRANSLATION suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {($ Id.VSub_Number 0)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <Id.Lit_Slash '/'> <..> <Id.Lit_Slash '/'> <src> <Id.Lit_Slash '/'> <base-types-translation> } ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'signpost_frag_regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'signpost_frag_regexp='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'signpost_frag_regexp='> name: signpost_frag_regexp ) op: assign_op.Equal rhs: {(DQ <'__ARG[0-9]+_|__PTR_|__REF_|__RR_|__ARR[0-9]+_|__FUN_FROM_|__FUN_TO_|__VA_'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'type_pred_regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'type_pred_regexp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'type_pred_regexp='> name:type_pred_regexp) op: assign_op.Equal rhs: {(DQ <'__uniqtype__|'> (${ Id.VSub_Name signpost_frag_regexp))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'type_succ_regexp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'type_succ_regexp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'type_succ_regexp='> name:type_succ_regexp) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name signpost_frag_regexp) <'|'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sed_program='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_program='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_program='> name:sed_program) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(${ Id.VSub_Name BASE_TYPES_TRANSLATION)} {(DQ ($ Id.VSub_DollarName objfile))} ] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] 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>} {<c_base>} {<canon_base>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'sed_program='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sed_program='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_program='> name:sed_program) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name sed_program) <'; s/('> (${ Id.VSub_Name type_pred_regexp) <')'> (${ Id.VSub_Name c_base) <'('> (${ Id.VSub_Name type_succ_regexp) <')/'> <Id.Lit_BadBackslash '\\'> <1> (${ Id.VSub_Name canon_base) <Id.Lit_BadBackslash '\\'> <'2/g'> ) } ) ] redirects: [] ) ] 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.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name BASE_TYPES_TRANSLATION)} {(DQ ($ Id.VSub_DollarName objfile))} {(DQ ($ Id.VSub_DollarName cu_fname))} {(DQ ($ Id.VSub_DollarName cu_compdir))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'sed program is '> ($ Id.VSub_DollarName sed_program))}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {<-d>} {(SQ <'[:blank:]'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Pipeline children: [ (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-r>} {(DQ ($ Id.VSub_DollarName sed_program))}] redirects: [] do_fork: T ) ] ops: [ <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> ] ) ] spids: [195 226] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) )