(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:biggest) op:Equal rhs:{(100)} spids:[7])] spids: [7] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:guess) op:Equal rhs:{(0)} spids:[13])] spids: [13] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:guesses) op:Equal rhs:{(0)} spids:[19])] spids: [19] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:number) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_Percent left: (ArithWord w:{($ VSub_Name '$RANDOM')}) right: (ArithWord w:{($ VSub_Name '$biggest')}) ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [26 39] ) } spids: [25] ) ] spids: [25] ) (C {(echo)} {(DQ ('Guess a number between 1 and ') ($ VSub_Name '$biggest'))}) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$guess'))} {(-ne)} {($ VSub_Name '$number')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Sentence child: (C {(/bin/echo)} {(-n)} {(DQ ('Guess? '))}) terminator: <Op_Semi ';'> ) (C {(read)} {(guess)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$guess'))} {(-lt)} {($ VSub_Name '$number')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('... bigger!'))})] spids: [16777215 102] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$guess'))} {(-gt)} {($ VSub_Name '$number')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('... smaller!'))})] spids: [112 128] ) ] spids: [16777215 138] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:guesses) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$guesses')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [142 151] ) } spids: [141] ) ] spids: [141] ) ] spids: [68 153] ) ) (C {(echo)} { (DQ ('Right!! Guessed ') ($ VSub_Name '$number') (' in ') ($ VSub_Name '$guesses') (' guesses.')) } ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )