(List (Com {[LIT_OTHER ":"]} {[LIT_CHARS wrapper]} {[LIT_CHARS for]} {[LIT_CHARS .exe]} {[LIT_CHARS challenged]} {[LIT_CHARS win32]} {[LIT_CHARS systems/commands]}) (= scope= flags=0 words=[] bindings=[('command', {[LIT_CHARS execrate]})]) (= scope= flags=0 words=[] bindings=[('bins', {[SQ ]})]) (Case to_match={[ComSub (Subshell (List (Com {[LIT_CHARS getopts]} {[SQ ]} {[LIT_CHARS opt]} {[LIT_CHARS --xyz]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS 0] [VarSub opt]}) ) )]}, pat_word_list=[[{[LIT_CHARS 0123]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('ARGV0', {[DQ [LIT_CHARS "-a "][VarSub command]]})]) (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ] [VarSub USAGE_LICENSE] [SQ ]})]) (FunctionDef usage [] (List (= scope= flags=0 words=[] bindings=[('OPTIND', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS getopts]} {[VarSub ARGV0]} {[DQ [VarSub USAGE]]} {[LIT_CHARS OPT]} {[SQ ]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS 1]})]) (While (Com {[LIT_CHARS getopts]} {[VarSub ARGV0]} {[DQ [VarSub USAGE]]} {[LIT_CHARS OPT]}) (Case to_match={[VarSub OPT]}, pat_word_list=[[{[LIT_CHARS n]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS usage]}) ) ) (Com {[LIT_CHARS shift]} {[ComSub (Com {[LIT_CHARS expr]} {[VarSub OPTIND]} {[LIT_CHARS -]} {[LIT_CHARS 1]})]}) ) (List (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: execrate [ -n ] [ command [ option ... ] file ... ]"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS 1]})]) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -n]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) ) ) (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}], [{[LIT_CHARS 1]}]] (List (If (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -x]} {[LIT_CHARS /bin/cat.exe]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (If (Com {[LIT_CHARS /bin/cat]} {[LIT_CHARS /bin/cat]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS usage]}) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS cat]}, {[LIT_OTHER "*"] [LIT_CHARS rm]}], [{[LIT_OTHER "*"] [LIT_CHARS chgrp]}, {[LIT_OTHER "*"] [LIT_CHARS chmod]}], [{[LIT_OTHER "*"] [LIT_CHARS cmp]}, {[LIT_OTHER "*"] [LIT_CHARS cp]}, {[LIT_OTHER "*"] [LIT_CHARS ln]}, {[LIT_OTHER "*"] [LIT_CHARS mv]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('NUM', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('NUM', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('NUM', {[LIT_CHARS 2]})]) (List (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 0]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]}) (Com {[DQ [VarSub @]]}) ) (Com {[LIT_CHARS exit]}) ) ) (= scope= flags=0 words=[] bindings=[('CMD', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub CMD]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (For d [{[VarSub bins]}]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[VarSub d] [LIT_CHARS /] [VarSub 1]} {[LIT_CHARS -o]} {[LIT_CHARS -x]} {[VarSub d] [LIT_CHARS /] [VarSub 1] [LIT_CHARS .exe]}) (List (= scope= flags=0 words=[] bindings=[('CMD', {[VarSub d] [LIT_CHARS /] [VarSub 1]})]) (Com {[LIT_CHARS break]}) ) ) ) ) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('CMD', {[DQ [VarSub CMD][LIT_CHARS " "][VarSub 1]]})]) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 0]}]] (= scope= flags=0 words=[] bindings=[('CMD', {[DQ [LIT_CHARS "echo "][VarSub CMD]]})]) ) (Case to_match={[VarSub NUM] [LIT_OTHER ":"] [VarSub #]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER ":"] [LIT_CHARS 0]}], [{[LIT_CHARS 1] [LIT_OTHER ":"] [LIT_OTHER "*"]}]] (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('CMD', {[DQ [VarSub CMD][LIT_CHARS " "][VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('NUM', {[LIT_CHARS 0]})]) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub NUM] [LIT_OTHER ":"] [VarSub #]}, pat_word_list=[[{[LIT_CHARS 0] [LIT_OTHER ":"] [LIT_OTHER "*"]}], [{[LIT_CHARS 2] [LIT_OTHER ":"] [LIT_CHARS 2]}]] (List (= scope= flags=0 words=[] bindings=[('status', {[LIT_CHARS 0]})]) (For f do_arg_iter) (List (If (Com {[LIT_CHARS test]} {[DQ [VarSub f]]} {[LIT_CHARS -ef]} {[DQ [VarSub f]] [LIT_CHARS .exe]}) (= scope= flags=0 words=[] bindings=[('f', {[VarSub f] [LIT_CHARS .exe]})]) ) (Com {[VarSub CMD]} {[DQ [VarSub f]]}) (Case to_match={[VarSub ?]}, pat_word_list=[[{[LIT_CHARS 0]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (= scope= flags=0 words=[] bindings=[('status', {[VarSub ?]})]) ) ) ) (Com {[LIT_CHARS exit]} {[VarSub status]}) ) (List (= scope= flags=0 words=[] bindings=[('f', {[VarSub 1]})]) (Case to_match={[VarSub f]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS .exe]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (If (Com {[LIT_CHARS test]} {[DQ [VarSub f]]} {[LIT_CHARS -ef]} {[DQ [VarSub f]] [LIT_CHARS .exe]}) (= scope= flags=0 words=[] bindings=[('f', {[VarSub f] [LIT_CHARS .exe]})]) ) ) (Case to_match={[VarSub f]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS .exe]}]] (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub 2]]}) (= scope= flags=0 words=[] bindings=[('t', {[VarSub 2] [LIT_CHARS /] [VarSub f]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('t', {[VarSub 2]})]) ) (Case to_match={[VarSub t]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('b', {[ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub t]]})]})]) (= scope= flags=0 words=[] bindings=[('b', {[VarSub t]})]) ) (Case to_match={[VarSub b]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS .] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Com {[VarSub CMD]} {[DQ [VarSub f]]} {[DQ [VarSub t]]}) (Com {[LIT_CHARS exit]}) ) (List (Com {[VarSub CMD]} {[DQ [VarSub f]]} {[DQ [VarSub t]] [LIT_CHARS .exe]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) ) (Com {[VarSub CMD]} {[DQ [VarSub @]]}) )