(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:counter) op:Equal rhs:{(2)} spids:[14])] spids: [14] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:remainder) op:Equal rhs:{(1)} spids:[17])] spids: [17] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('Usage: isprime NUMBER'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 35] ) ] spids: [16777215 52] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:number) op:Equal rhs:{($ VSub_Number '$1')} spids:[55])] spids: [55] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$number')} {(-lt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(echo)} {(DQ ('No, ') ($ VSub_Name '$number') (' is not a prime'))}) terminator: <Op_Semi ';'> ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 77] ) ] spids: [16777215 94] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$counter')} {(-le)} { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$number')} {(/)} {(2)})] ) left_token: <Left_CommandSub '$('> spids: [109 117] ) } {(-a)} {($ VSub_Name '$remainder')} {(-ne)} {(0)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:remainder) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$number')} {(Lit_Other '%')} {($ VSub_Name '$counter')} ) ] ) left_token: <Left_CommandSub '$('> spids: [133 141] ) } spids: [132] ) ] spids: [132] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:counter) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$counter')} {(Lit_Other '+')} {(1)})] ) left_token: <Left_CommandSub '$('> spids: [152 160] ) } spids: [151] ) ] spids: [151] ) ] spids: [129 162] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$remainder')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('No, ') ($ VSub_Name '$number') (' is not a prime'))})] spids: [16777215 179] ) ] else_action: [(C {(echo)} {(DQ ('Yes, ') ($ VSub_Name '$number') (' is a prime'))})] spids: [190 201] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )