(CommandList children: [ (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_dir) op:Equal spids:[66])] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_dir) op: Equal rhs: {(ArrayLiteralPart words:[{(SQ <'\\$cdir'>)} {(SQ <'\\$cwd'>)}])} spids: [68] ) ] spids: [68] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name _Dbg_cdir)})) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_cdir) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_source_file> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [99 104] ) } spids: [98] ) ] spids: [96] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name _Dbg_cdir)})) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_cdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [121 123] ) } spids: [120] ) ] spids: [118] ) ] ) (FuncDef name: _Dbg_adjust_filename body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [143] ) ] spids: [139] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithVarRef name:_Dbg_set_annotate) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_resolve_expand_filename)} {($ VSub_Name '$filename')}) ] ) left_token: <Left_CommandSub '$('> spids: [169 173] ) } ) ] spids: [16777215 164] ) (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:_Dbg_set_basename)) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [190 195] ) } ) ] spids: [176 185] ) ] else_action: [(C {(echo)} {($ VSub_Name '$filename')})] spids: [198 206] ) ] spids: [136] ) spids: [132 135] ) (FuncDef name: _Dbg_file_canonic body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'??'>)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 239] ) ] spids: [16777215 254] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [259] ) ] spids: [257] ) (AndOr ops: [Op_DAmp] children: [ (DParen child:(ArithVarRef name:_Dbg_set_basename)) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [275 280] ) } spids: [274] ) ] spids: [274] ) ] ) (C {(echo)} {($ VSub_Name '$filename')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [221] ) spids: [217 220] ) (FuncDef name: _Dbg_tilde_expand_filename body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (DQ ('filename=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('(builtin echo ') ($ VSub_Number '$1') (')') ) } spids: [316] ) ] spids: [314] ) (C {(eval)} {($ VSub_Name '$cmd')}) (DBracket expr:(BoolUnary op_id:BoolUnary_r child:{($ VSub_Name '$filename')})) ] spids: [311] ) spids: [307 310] ) (FuncDef name: _Dbg_resolve_expand_filename body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} { (DQ ( 'Internal debug error _Dbg_resolve_expand_filename(): null file to find' ) ) } ) (C {(echo)} {(SQ )}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 380] ) ] spids: [16777215 403] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:find_file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [408] ) ] spids: [406] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:found_file) op:Equal spids:[425])] spids: [423] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:found_file) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name _Dbg_file2canonic> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$find_file')})) spids: [430 435] ) ) } spids: [428] ) ] spids: [428] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$found_file')}) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$found_file'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 451] ) ] spids: [16777215 466] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name find_file> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [474 480] ) } right: {(SQ </>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:full_find_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} {(DQ ($ VSub_Name '$find_file'))}) ] ) left_token: <Left_CommandSub '$('> spids: [500 506] ) } spids: [499] ) ] spids: [499] ) (C {(echo)} {(DQ ($ VSub_Name '$full_find_file'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 492] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name find_file> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [525 531] ) } right: {(SQ <.>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:full_find_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} { (DQ (${ VSub_Name _Dbg_init_cwd) (/) ($ VSub_Name '$find_file') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [551 561] ) } spids: [550] ) ] spids: [550] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_Name '$full_find_file'))} ) ) (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_r child: {($ VSub_Name '$full_find_file')} ) ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:full_find_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} {(DQ ($ VSub_Name '$find_file'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [597 603] ) } spids: [596] ) ] spids: [596] ) ] spids: [16777215 589] ) ] spids: [16777215 606] ) (C {(echo)} {(DQ ($ VSub_Name '$full_find_file'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [521 543] ) ] else_action: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_dir> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [633 639] ) } spids: [632] ) ] spids: [628] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[646])] spids: [642] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name _Dbg_dir> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [681 686] ) ) } spids: [679] ) ] spids: [677] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$basename')} right: {(SQ <'\\$cdir'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: {($ VSub_Name '$_Dbg_cdir')} spids: [709] ) ] spids: [709] ) ] spids: [16777215 706] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$basename')} right: {(SQ <'\\$cwd'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [733 735] ) } spids: [732] ) ] spids: [732] ) ] spids: [713 729] ) ] spids: [16777215 738] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_f child: { (DQ ($ VSub_Name '$basename') (/) ($ VSub_Name '$find_file') ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$basename') (/) ($ VSub_Name '$find_file'))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 757] ) ] spids: [16777215 774] ) ] spids: [674 777] ) ) ] spids: [621 780] ) (C {(echo)} {(SQ )}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [361] ) spids: [357 360] ) ] )