(CommandList children: [ (C {(.)} {(library.sh)}) (C {(initializeANSI)}) (C {(echon)} {(DQ ('First off, do you have echo in your path? (1=yes, 2=no) '))}) (C {(read)} {(answer)}) (While cond: [ (Sentence child: (Pipeline children: [(C {(validint)} {($ VSub_Name '$answer')} {(1)} {(2)})] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(echon)} { (DQ (${ VSub_Name boldon) ('Try again') (${ VSub_Name boldoff) ('. Do you have echo ')) } ) (C {(echon)} {(DQ ('in your path? (1=yes, 2=no) '))}) (C {(read)} {(answer)}) ] spids: [48 76] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(checkForCmdInPath)} {(DQ (echo))})] negated:T) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ("Nope, can't find the echo command."))})] spids: [16777215 94] ) ] else_action: [(C {(echo)} {(DQ ('The echo command is in the PATH.'))})] spids: [103 112] ) (C {(echo)} {(DQ )}) (C {(echon)} {(DQ ('Enter a year you think might be a leap year: '))}) (C {(read)} {(year)}) (While cond: [ (Sentence child: (Pipeline children: [(C {(validint)} {($ VSub_Name '$year')} {(1)} {(9999)})] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(echon)} { (DQ ('Please enter a year in the ') (${ VSub_Name boldon) (correct) (${ VSub_Name boldoff) (' format: ') ) } ) (C {(read)} {(year)}) ] spids: [151 173] ) ) (If arms: [ (if_arm cond: [(Sentence child:(C {(isLeapYear)} {($ VSub_Name '$year')}) terminator:<Op_Semi ';'>)] action: [ (C {(echo)} { (DQ (${ VSub_Name greenf) ("You're right! ") ($ VSub_Name '$year') (' was a leap year.') (${ VSub_Name reset) ) } ) ] spids: [16777215 187] ) ] else_action: [ (C {(echo)} {(DQ (${ VSub_Name redf) ("Nope, that's not a leap year.") (${ VSub_Name reset))}) ] spids: [204 219] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )