(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MY_OCAML_BUILD) op: Equal rhs: {(DQ ('-o myocamlbuild'))} spids: [8] ) ] spids: [8] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$REASON_BUILD_DIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REASON_BUILD_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(ocamlfind)} {(query)} {(reason)})]) left_token: <Left_CommandSub '$('> spids: [31 37] ) } spids: [30] ) ] spids: [30] ) ] spids: [16777215 27] ) ] spids: [16777215 39] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$REASON_BUILD_DIR'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ("Couldn't find Reason"))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 55] ) ] spids: [16777215 69] ) (C {(eval)} {(Lit_VarLike 'REASON_BUILD_DIR=') ($ VSub_Name '$REASON_BUILD_DIR')}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithUnary op_id: Node_UnaryMinus child: (ArithWord w:{(Lit_Digits 2)}) ) ) spids: [86 92] ) ) } right: {(DQ (${ VSub_Name MY_OCAML_BUILD))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:UNIXIDX) op:Equal rhs:{(-1)} spids:[133])] spids: [133] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(1)} spids:[137])] spids: [137] ) (ForEach iter_name: var iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$var')} right: {(DQ (unix.cmxa))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$UNIXIDX')} right: {(-1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(set)} {(--)} { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 1)}) length: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [208 216] ) ) } { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [220 227] ) ) } ) ] spids: [16777215 200] ) ] spids: [16777215 231] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UNIXIDX) op: Equal rhs: {($ VSub_Name '$i')} spids: [234] ) ] spids: [234] ) ] spids: [16777215 171] ) ] spids: [16777215 238] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Name '$i') (Lit_Other '+') (1)} spids: [241] ) ] spids: [241] ) ] spids: [152 247] ) spids: [146 16777215] ) (C {(set)} {(--)} { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 1)}) length: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 3)}) ) ) spids: [259 267] ) ) } {(DQ ($ VSub_Name '$REASON_BUILD_DIR') (/reasonbuild.cmx))} { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (Slice begin: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 3)})) ) spids: [276 282] ) ) } ) ] spids: [16777215 106] ) ] spids: [16777215 285] ) ] )