(List (Case to_match={[VarSub -] [LIT_OTHER ":"] [VarSub BASH_VERSION]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS x] [LIT_OTHER "*"] [LIT_OTHER ":"] [LIT_OTHER "["] [LIT_CHARS 0123456789] [LIT_OTHER "]"] [LIT_OTHER "*"]}]] (List (Com {[LIT_OTHER ":"]} {[LIT_CHARS bash]} {[LIT_CHARS set]} {[LIT_CHARS -x]} {[LIT_CHARS is]} {[LIT_CHARS broken]} {[LIT_OTHER ":"]}) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS ex]}) ) ) (= scope= flags=0 words=[] bindings=[('command', {[LIT_CHARS mamprobe]})]) (= scope= flags=0 words=[] bindings=[('opt', {[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=[('USAGE', {[SQ ]})]) (While (Com {[LIT_CHARS getopts]} {[LIT_CHARS -a]} {[DQ [VarSub command]]} {[DQ [VarSub USAGE]]} {[LIT_CHARS OPT]}) (Case to_match={[VarSub OPT]}, pat_word_list=[[{[LIT_CHARS d]}]] (= scope= flags=0 words=[] bindings=[('opt', {[LIT_CHARS -d]})]) ) ) (Com {[LIT_CHARS shift]} {[ComSub (Com {[LIT_CHARS expr]} {[VarSub OPTIND]} {[LIT_CHARS -]} {[LIT_CHARS 1]})]}) ) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}]] (Com {[LIT_CHARS break]}) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS --]}], [{[LIT_CHARS -]}], [{[LIT_CHARS -d]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS break]}) (= scope= flags=0 words=[] bindings=[('opt', {[LIT_CHARS -d]})]) (Com {[LIT_CHARS echo]} {[VarSub command] [LIT_OTHER ":"]} {[VarSub 1] [LIT_OTHER ":"]} {[LIT_CHARS unknown]} {[LIT_CHARS option]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS set]} {[SQ ]}) (Com {[LIT_CHARS break]}) ) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -]}], [{[LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (ElseTrue) (Com {[LIT_CHARS set]} {[SQ ]}) ) (Case to_match={[VarSub 2]}, pat_word_list=[[{[LIT_CHARS /] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS set]} {[SQ ]}) ) (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}, {[LIT_CHARS 1]}]] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub command][LIT_CHARS " info-file cc-path"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (= scope= flags=0 words=[] bindings=[('info', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('cc', {[VarSub *]})]) (= scope= flags=0 words=[] bindings=[('ifs', {[VarSub IFS test_op=VS_TEST_HYPHEN {[LIT_CHARS "'\n"] [LIT_CHARS "\t '"]}]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[LIT_OTHER ":"]})]) (Com {[LIT_CHARS set]} {[VarSub PATH]}) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub ifs]})]) (= scope= flags=0 words=[] bindings=[('script', {[LIT_CHARS lib/probe/C/make/probe]})]) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}]] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": ../"][VarSub script][LIT_CHARS ": probe script not found on PATH"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[SQ ]}]] (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('makeprobe', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]}) (Com {[LIT_CHARS sed]} {[SQ ] [VarSub script] [LIT_COMMA ","]}) )]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[VarSub makeprobe]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub info]}, pat_word_list=[[{[LIT_CHARS /] [LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('i', {[LIT_CHARS X] [VarSub info]})]) (= scope= flags=0 words=[] bindings=[('ifs', {[VarSub IFS test_op=VS_TEST_HYPHEN {[LIT_CHARS "'\n"] [LIT_CHARS "\t '"]}]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[LIT_CHARS /]})]) (Com {[LIT_CHARS set]} {[VarSub i]}) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub ifs]})]) (While (Com {[LIT_OTHER ":"]}) (List (= scope= flags=0 words=[] bindings=[('i', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub i]}, pat_word_list=[[{[LIT_CHARS X]}]] (Com {[LIT_CHARS break]}) ) ) ) (Case to_match={[VarSub info]}, pat_word_list=[[{[LIT_CHARS //] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('path', {[LIT_CHARS /]})]) (= scope= flags=0 words=[] bindings=[('path', {[SQ ]})]) ) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}, {[LIT_CHARS 1]}]] (Com {[LIT_CHARS break]}) ) (= scope= flags=0 words=[] bindings=[('comp', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub comp]}, pat_word_list=[[{[SQ ]}]] (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('path', {[VarSub path] [LIT_CHARS /] [VarSub comp]})]) (If (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[VarSub path]}) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[VarSub path]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) ) (Case to_match={[VarSub info]}, pat_word_list=[[{[LIT_CHARS -]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('tmp', {[LIT_CHARS /tmp/mam] [VarSub $]})]) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "exec >/dev/null; rm -f "][VarSub tmp]]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) (Com {[LIT_CHARS exec]} < (FilenameRedirectNode filename={[VarSub tmp]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "probing C language processor "][VarSub cc][LIT_CHARS " for mam information"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "note generated by "][VarSub 0][LIT_CHARS " for "][VarSub cc]]}) (Pipeline (Subshell (List (Com {[LIT_CHARS set]} {[SQ ]} {[VarSub opt]} {[VarSub cc]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS .]} {[VarSub makeprobe]} {[DQ [VarSub @]]}) (Case to_match={[DQ [LIT_CHARS " "][VarSub CC_DIALECT][LIT_CHARS " "]]}, pat_word_list=[[{[LIT_OTHER "*"] [DQ [LIT_CHARS " -L "]] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "CC.L = 1"]]}) ) ) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) ) (Com {[LIT_CHARS echo]} {[SQ ]}) (If (Subshell (Com {[LIT_CHARS ed]} < (HereDocRedirectNode here_end='!' do_expansion=True body_word={[DQ [LIT_CHARS "q\n"]]} 0), > ) ) (= scope= flags=0 words=[] bindings=[('STDED', {[LIT_CHARS ed]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('STDED', {[LIT_CHARS ex]})]) ) (= scope= flags=0 words=[] bindings=[('STDEDFLAGS', {[LIT_CHARS -]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS STDCAT]} {[LIT_CHARS cat]} {[LIT_CHARS STDCHMOD]} {[LIT_CHARS chmod]} {[LIT_CHARS STDCMP]} {[LIT_CHARS cmp]} {[LIT_CHARS STDCP]} {[LIT_CHARS cp]} {[LIT_CHARS STDLN]} {[LIT_CHARS ln]} {[LIT_CHARS STDMV]} {[LIT_CHARS mv]} {[LIT_CHARS STDRM]} {[LIT_CHARS rm]}) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}, {[LIT_CHARS 1]}]] (Com {[LIT_CHARS break]}) ) (= scope= flags=0 words=[] bindings=[('p', {[VarSub 2]})]) (For d [{[LIT_CHARS /bin]}, {[LIT_CHARS /usr/bin]}, {[LIT_CHARS /usr/sbin]}]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[VarSub d] [LIT_CHARS /] [VarSub p]}) (List (= scope= flags=0 words=[] bindings=[('p', {[VarSub d] [LIT_CHARS /] [VarSub p]})]) (Com {[LIT_CHARS break]}) ) ) ) (Com {[LIT_CHARS eval]} {[VarSub 1] [LIT_OTHER "="] [\ LIT_ESCAPED_CHAR "\\$"] [LIT_CHARS p]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) ) ) (If (Com {[LIT_CHARS execrate]}) (For n [{[LIT_CHARS STDCAT]}, {[LIT_CHARS STDCHMOD]}, {[LIT_CHARS STDCMP]}, {[LIT_CHARS STDCP]}, {[LIT_CHARS STDLN]}, {[LIT_CHARS STDMV]}, {[LIT_CHARS STDRM]}]) (Com {[LIT_CHARS eval]} {[VarSub n] [LIT_OTHER "="] [\ LIT_ESCAPED_CHAR "\\\""] [LIT_CHARS execrate]} {[\ LIT_ESCAPED_CHAR "\\$"] [VarSub n] [\ LIT_ESCAPED_CHAR "\\\""]}) ) ) (For n [{[LIT_CHARS STDCAT]}, {[LIT_CHARS STDCHMOD]}, {[LIT_CHARS STDCMP]}, {[LIT_CHARS STDCP]}, {[LIT_CHARS STDED]}, {[LIT_CHARS STDEDFLAGS]}, {[LIT_CHARS STDLN]}, {[LIT_CHARS STDMV]}, {[LIT_CHARS STDRM]}]) (Com {[LIT_CHARS eval]} {[LIT_CHARS echo]} {[LIT_CHARS setv]} {[\ LIT_ESCAPED_CHAR "\\$"] [LIT_CHARS n]} {[\ LIT_ESCAPED_CHAR "\\$"] [VarSub n]}) ) (Case to_match={[VarSub info]}, pat_word_list=[[{[LIT_CHARS -]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (List (Com {[LIT_CHARS exec]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[VarSub info]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub info]}) ) (Com {[LIT_CHARS cp]} {[VarSub tmp]} {[VarSub info]}) (Com {[LIT_CHARS chmod]} {[LIT_CHARS -w]} {[VarSub info]}) ) ) )