(command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (command.FuncDef name: _gcc body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(lhs_expr.LhsName name:cur) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:prev) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:words) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:cword) op:Equal) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_expand)}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(lhs_expr.LhsName name:cc) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal) ] ) (command.Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(gcj)}] action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal rhs:{(jc1)})] ) ] ) (case_arm pat_list: [{(gpc)}] action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal rhs:{(gpc1)})] ) ] ) (case_arm pat_list: [{(Lit_Other '*') (77)}] action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal rhs:{(f771)})] ) ] ) (case_arm pat_list: [{(Lit_Other '*') (95)}] action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal rhs:{(f951)})] ) ] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:backend) op:Equal rhs:{(cc1)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cc) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {($ VSub_Number '$1')} {(-print-prog-name) (Lit_Other '=') ($ VSub_DollarName '$backend') } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.WordTest w:{($ VSub_DollarName '$cc')}) ) (command.ControlFlow token: <ControlFlow_Return return> ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {($ VSub_DollarName '$cc')} {(--help)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tr)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(sed)} {(-e)} {(SQ <'/^ *-/!d'>)} {(-e)} {(SQ <'s/ *-\\([^][ <>]*\\).*/-\\1/'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$COMPREPLY')} right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) ] ) ] else_action: [(C {(_filedir)})] ) ] ) ) (C {(complete)} {(-F)} {(_gcc)} {(gcc)} {(g) (Lit_Other '+') (Lit_Other '+')} {(gfortran)} {(g77)} {(g95)} {(gcj)} {(gpc)} ) (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe Op_DAmp Op_DPipe] children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(cc)} {(--version)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(command)} {(grep)} {(-q)} {(GCC)}) ] negated: F ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(_realcommand)} {(cc)})]) left_token: <Left_CommandSub '$('> ) } right: {(Lit_Other '*') (gcc) (Lit_Other '*')} ) ) (C {(complete)} {(-F)} {(_gcc)} {(cc)}) (C {(complete)} {(-F)} {(_minimal)} {(cc)}) ] ) (command.AndOr ops: [Op_DPipe Op_DAmp Op_DPipe] children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(c) (Lit_Other '+') (Lit_Other '+')} {(--version)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(command)} {(grep)} {(-q)} {(GCC)}) ] negated: F ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(_realcommand)} {(c) (Lit_Other '+') (Lit_Other '+')})] ) left_token: <Left_CommandSub '$('> ) } right: {(Lit_Other '*') (g) (Lit_Other '+') (Lit_Other '+') (Lit_Other '*')} ) ) (C {(complete)} {(-F)} {(_gcc)} {(c) (Lit_Other '+') (Lit_Other '+')}) (C {(complete)} {(-F)} {(_minimal)} {(c) (Lit_Other '+') (Lit_Other '+')}) ] ) (command.AndOr ops: [Op_DPipe Op_DAmp Op_DPipe] children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(f77)} {(--version)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(command)} {(grep)} {(-q)} {(GCC)}) ] negated: F ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(_realcommand)} {(f77)})]) left_token: <Left_CommandSub '$('> ) } right: {(Lit_Other '*') (gfortran) (Lit_Other '*')} ) ) (C {(complete)} {(-F)} {(_gcc)} {(f77)}) (C {(complete)} {(-F)} {(_minimal)} {(f77)}) ] ) (command.AndOr ops: [Op_DPipe Op_DAmp Op_DPipe] children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(f95)} {(--version)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(command)} {(grep)} {(-q)} {(GCC)}) ] negated: F ) (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(_realcommand)} {(f95)})]) left_token: <Left_CommandSub '$('> ) } right: {(Lit_Other '*') (gfortran) (Lit_Other '*')} ) ) (C {(complete)} {(-F)} {(_gcc)} {(f95)}) (C {(complete)} {(-F)} {(_minimal)} {(f95)}) ] ) ] ) ] )