(CommandList children: [ (FuncDef name: initializeDeck body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:card) op:Equal rhs:{(1)} spids:[28])] spids: [28] ) (While cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$card')} {(KW_Bang '!') (Lit_Other '=')} {(53)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (C {(deck) (Lit_Other '[') ($ VSub_Name '$card') (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$card') } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$card')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [61 70] ) } spids: [60] ) ] spids: [60] ) ] spids: [49 73] ) ) ] spids: [20] ) spids: [16 19] ) (FuncDef name: shuffleDeck body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(1)} spids:[94])] spids: [94] ) (While cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$count')} {(KW_Bang '!') (Lit_Other '=')} {(53)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (C {(pickCard)}) (C {(newdeck) (Lit_Other '[') ($ VSub_Name '$count') (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$picked') } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$count')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [128 137] ) } spids: [127] ) ] spids: [127] ) ] spids: [113 140] ) ) ] spids: [82] ) spids: [78 81] ) (FuncDef name: pickCard body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:errcount) op:Equal spids:[163]) (assign_pair lhs:(LhsName name:randomcard) op:Equal spids:[165]) ] spids: [161] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:threshold) op:Equal rhs:{(10)} spids:[169])] spids: [169] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:errcount) op:Equal rhs:{(0)} spids:[176])] spids: [176] ) (While cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$errcount')} {(-lt)} {($ VSub_Name '$threshold')} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:randomcard) 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:{(Lit_Digits 52)}) ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [211 228] ) } spids: [210] ) ] spids: [210] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:errcount) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$errcount')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [232 241] ) } spids: [231] ) ] spids: [231] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name deck> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$randomcard')}) ) spids: [250 255] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (0))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:picked) op: Equal rhs: { (BracedVarSub token: <VSub_Name deck> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$randomcard')}) ) spids: [273 278] ) } spids: [272] ) ] spids: [272] ) (C {(deck) (Lit_Other '[') ($ VSub_Name '$picked') (Lit_Other ']') (Lit_Other '=') (0) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$picked')} ) ] spids: [16777215 269] ) ] spids: [16777215 298] ) ] spids: [207 301] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:randomcard) op:Equal rhs:{(1)} spids:[314])] spids: [314] ) (While cond: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$randomcard')})) spids: [323 328] ) } {(-eq)} {(0)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:randomcard) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$randomcard')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [341 350] ) } spids: [340] ) ] spids: [340] ) ] spids: [337 353] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:picked) op: Equal rhs: {($ VSub_Name '$randomcard')} spids: [357] ) ] spids: [357] ) (C {(deck) (Lit_Other '[') ($ VSub_Name '$picked') (Lit_Other ']') (Lit_Other '=') (0)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$picked')} ) ] spids: [149] ) spids: [145 148] ) (FuncDef name: showCard body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card) op: Equal rhs: {($ VSub_Number '$1')} spids: [400] ) ] spids: [400] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$card')} {(-lt)} {(1)} {(-o)} {($ VSub_Name '$card')} {(-gt)} {(52)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Bad card value: ') ($ VSub_Name '$card'))}) (C {(exit)} {(1)}) ] spids: [16777215 427] ) ] spids: [16777215 443] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suit) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_Slash left: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$card')}) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithWord w:{(Lit_Digits 13)}) ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [454 477] ) ) } spids: [452] ) ] spids: [452] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Percent left: (ArithWord w:{($ VSub_Name '$card')}) right: (ArithWord w:{(Lit_Digits 13)}) ) spids: [483 491] ) ) } spids: [481] ) ] spids: [481] ) (Case to_match: {($ VSub_Name '$suit')} arms: [ (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suit) op: Equal rhs: {(DQ (Hearts))} spids: [507] ) ] spids: [507] ) ] spids: [503 505 512 16777215] ) (case_arm pat_list: [{(2)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suit) op: Equal rhs: {(DQ (Clubs))} spids: [519] ) ] spids: [519] ) ] spids: [515 517 524 16777215] ) (case_arm pat_list: [{(3)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suit) op: Equal rhs: {(DQ (Spades))} spids: [531] ) ] spids: [531] ) ] spids: [527 529 536 16777215] ) (case_arm pat_list: [{(4)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suit) op: Equal rhs: {(DQ (Diamonds))} spids: [543] ) ] spids: [543] ) ] spids: [539 541 548 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Sentence child: (C {(echo)} {(DQ ('Bad suit value: ') ($ VSub_Name '$suit'))}) terminator: <Op_Semi ';'> ) (C {(exit)} {(1)}) ] spids: [551 553 16777215 568] ) ] spids: [496 500 568] ) (Case to_match: {($ VSub_Name '$rank')} arms: [ (case_arm pat_list: [{(0)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank) op: Equal rhs: {(DQ (King))} spids: [586] ) ] spids: [586] ) ] spids: [582 584 591 16777215] ) (case_arm pat_list: [{(1)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank) op: Equal rhs: {(DQ (Ace))} spids: [598] ) ] spids: [598] ) ] spids: [594 596 603 16777215] ) (case_arm pat_list: [{(11)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank) op: Equal rhs: {(DQ (Jack))} spids: [609] ) ] spids: [609] ) ] spids: [606 607 614 16777215] ) (case_arm pat_list: [{(12)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank) op: Equal rhs: {(DQ (Queen))} spids: [620] ) ] spids: [620] ) ] spids: [617 618 625 16777215] ) ] spids: [574 578 628] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cardname) op: Equal rhs: {(DQ ($ VSub_Name '$rank') (' of ') ($ VSub_Name '$suit'))} spids: [632] ) ] spids: [632] ) ] spids: [384] ) spids: [380 383] ) (FuncDef name: dealCards body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card1) op: Equal rhs: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [656 661] ) } spids: [655] ) ] spids: [655] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card2) op: Equal rhs: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [668 673] ) } spids: [667] ) ] spids: [667] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card3) op: Equal rhs: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)})) spids: [680 685] ) } spids: [679] ) ] spids: [679] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank1) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Percent left: (ArithWord w: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [695 700] ) } ) right: (ArithWord w:{(Lit_Digits 13)}) ) spids: [693 707] ) } spids: [692] ) ] spids: [692] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank2) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Percent left: (ArithWord w: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [716 721] ) } ) right: (ArithWord w:{(Lit_Digits 13)}) ) spids: [714 728] ) } spids: [713] ) ] spids: [713] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank3) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Percent left: (ArithWord w: { (BracedVarSub token: <VSub_Name newdeck> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)})) spids: [737 742] ) } ) right: (ArithWord w:{(Lit_Digits 13)}) ) spids: [735 749] ) } spids: [734] ) ] spids: [734] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$rank1')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank1) op: Equal rhs: {(13)} spids: [779] ) ] spids: [779] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 776] ) ] spids: [16777215 784] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$rank2')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank2) op: Equal rhs: {(13)} spids: [804] ) ] spids: [804] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 801] ) ] spids: [16777215 809] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$rank3')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank3) op: Equal rhs: {(13)} spids: [829] ) ] spids: [829] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 826] ) ] spids: [16777215 834] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$rank1')} {(-gt)} {($ VSub_Name '$rank2')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: {($ VSub_Name '$card1')} spids: [860] ) ] spids: [860] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card1) op: Equal rhs: {($ VSub_Name '$card2')} spids: [864] ) ] spids: [864] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:card2) op: Equal rhs: {($ VSub_Name '$temp')} spids: [868] ) ] spids: [868] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: {($ VSub_Name '$rank1')} spids: [872] ) ] spids: [872] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank1) op: Equal rhs: {($ VSub_Name '$rank2')} spids: [876] ) ] spids: [876] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rank2) op: Equal rhs: {($ VSub_Name '$temp')} spids: [880] ) ] spids: [880] ) ] spids: [16777215 857] ) ] spids: [16777215 884] ) (Sentence child: (C {(showCard)} {($ VSub_Name '$card1')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cardname1) op: Equal rhs: {($ VSub_Name '$cardname')} spids: [894] ) ] spids: [894] ) (Sentence child: (C {(showCard)} {($ VSub_Name '$card2')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cardname2) op: Equal rhs: {($ VSub_Name '$cardname')} spids: [904] ) ] spids: [904] ) (Sentence child: (C {(showCard)} {($ VSub_Name '$card3')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cardname3) op: Equal rhs: {($ VSub_Name '$cardname')} spids: [915] ) ] spids: [915] ) (Sentence child:(C {(echo)} {(DQ ("I've dealt:"))}) terminator:<Op_Semi ';'>) (Sentence child: (C {(echo)} {(DQ (' ') ($ VSub_Name '$cardname1'))}) terminator: <Op_Semi ';'> ) (C {(echo)} {(DQ (' ') ($ VSub_Name '$cardname2'))}) ] spids: [647] ) spids: [642 645] ) (FuncDef name: introblurb body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('\n') ( 'Welcome to Acey Deucey. The goal of this game is for you to correctly guess\n' ) ("whether the third card is going to be between the two cards I'll pull from\n") ( "the deck. For example, if I flip up a 5 of hearts and a jack of diamonds, you'd bet on whether the next card will have a higher rank than a 5 AND a lower rank than a jack (e.g., a 6, 7, 8, 9, or 10 of any suit).\n" ) ('\n') ("Ready? Let's go!\n") ('\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [959] ) ] ) ] spids: [955] ) spids: [951 954] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:games) op:Equal rhs:{(0)} spids:[981])] spids: [981] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:won) op:Equal rhs:{(0)} spids:[984])] spids: [984] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(introblurb)})] spids: [16777215 1002] ) ] spids: [16777215 1010] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {(/bin/true)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(initializeDeck)}) (C {(shuffleDeck)}) (C {(dealCards)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:splitValue) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$rank2')}) right: (ArithWord w:{($ VSub_Name '$rank1')}) ) spids: [1043 1052] ) } spids: [1042] ) ] spids: [1042] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$splitValue')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ("No point in betting when they're the same rank!"))}) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [16777215 1070] ) ] spids: [16777215 1083] ) (C {(/bin/echo)} {(-n)} { (DQ ('The spread is ') ($ VSub_Name '$splitValue') ('. Do you think the next card will ') ) } ) (C {(/bin/echo)} {(-n)} {(DQ ('be between them? (y/n/q) '))}) (C {(read)} {(answer)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$answer'))} {(Lit_Other '=')} {(DQ (q))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ )}) (C {(echo)} { (DQ ('You played ') ($ VSub_Name '$games') (' games and won ') ($ VSub_Name '$won') (' times.') ) } ) (C {(exit)} {(0)}) ] spids: [16777215 1131] ) ] spids: [16777215 1156] ) (C {(echo)} {(DQ ('I picked: ') ($ VSub_Name '$cardname3'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$rank3')} {(-gt)} {($ VSub_Name '$rank1')} {(-a)} {($ VSub_Name '$rank3')} {(-lt)} {($ VSub_Name '$rank2')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:winner) op:Equal rhs:{(1)} spids:[1203])] spids: [1203] ) ] spids: [16777215 1197] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:winner) op:Equal rhs:{(0)} spids:[1210])] spids: [1210] ) ] spids: [1207 1214] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$winner')} {(-eq)} {(1)} {(-a)} {(DQ ($ VSub_Name '$answer'))} {(Lit_Other '=')} {(DQ (y))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('You bet that it would be between the two, and it is. WIN!'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:won) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$won')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1256 1265] ) } spids: [1255] ) ] spids: [1255] ) ] spids: [16777215 1245] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$winner')} {(-eq)} {(0)} {(-a)} {(DQ ($ VSub_Name '$answer'))} {(Lit_Other '=')} {(DQ (n))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ("You bet that it would not be between the two, and it isn't. WIN!"))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:won) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$won')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1305 1314] ) } spids: [1304] ) ] spids: [1304] ) ] spids: [1268 1294] ) ] else_action: [(C {(echo)} {(DQ ('Bad betting strategy. You lose.'))})] spids: [1317 1327] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:games) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$games')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1332 1341] ) } spids: [1331] ) ] spids: [1331] ) ] spids: [1023 1346] ) ) (C {(exit)} {(0)}) ] )