(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 "*"]}], [{[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=[('old', {[LIT_CHARS 1]})]) ) (= scope= flags=0 words=[] bindings=[('old', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('command', {[LIT_CHARS ppcc]})]) (= scope= flags=0 words=[] bindings=[('clobber', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('doti', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('exec', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('linki', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('multiopt', {[LIT_CHARS o]})]) (= scope= flags=0 words=[] bindings=[('post', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ppfile', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ppld', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ppstdout', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('src1', {[DQ [LIT_CHARS "*.[cCsS]"]]})]) (= scope= flags=0 words=[] bindings=[('src2', {[DQ [LIT_CHARS "*.[cC][xX][xX]"]]})]) (= scope= flags=0 words=[] bindings=[('src3', {[DQ [LIT_CHARS "*.[cC][pP][pP]"]]})]) (= scope= flags=0 words=[] bindings=[('src4', {[DQ [LIT_CHARS "*.[aA][sS][mM]"]]})]) (= scope= flags=0 words=[] bindings=[('tmp', {[LIT_CHARS /tmp/pC] [VarSub $]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('usage', {[DQ [LIT_CHARS "Usage: "][VarSub command][LIT_CHARS " [ -nv ] [ -o dialect-option ] pp-command ... cc-command ..."]]})]) (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 -o] [LIT_OTHER "*"]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -o]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 1]}]] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub usage]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('opt', {[VarSub 1]})]) ) (Case to_match={[VarSub RANDOM]}, pat_word_list=[[{[VarSub RANDOM]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('opt', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS x] [VarSub 1]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS s/...//]}) )]})]) (= scope= flags=0 words=[] bindings=[('opt', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "??"]}]]})]) ) ) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_CHARS NO] [LIT_OTHER "*"]}, {[LIT_CHARS no] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('value', {[SQ ]})]) (Case to_match={[VarSub RANDOM]}, pat_word_list=[[{[VarSub RANDOM]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('opt', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub opt]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS s/..//]}) )]})]) (= scope= flags=0 words=[] bindings=[('opt', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "??"]}]]})]) ) ) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (Case to_match={[VarSub RANDOM]}, pat_word_list=[[{[VarSub RANDOM]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS eval]} {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub opt]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]}) (List (= scope= flags=0 words=[] bindings=[('value', {[VarSub opt transform_ops=[VS_UNARY_POUND {[LIT_CHARS "*="]}]]})]) (= scope= flags=0 words=[] bindings=[('opt', {[VarSub opt transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS "=*"]}]]})]) ) ) (= scope= flags=0 words=[] bindings=[('value', {[LIT_CHARS 1]})]) ) ) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_CHARS C] [LIT_OTHER "+"] [LIT_OTHER "+"]}, {[LIT_CHARS c] [LIT_OTHER "+"] [LIT_OTHER "+"]}], [{[LIT_CHARS DOTI]}, {[LIT_CHARS doti]}], [{[LIT_CHARS LINKI]}, {[LIT_CHARS linki]}], [{[LIT_CHARS MULTI]}, {[LIT_CHARS multi]}], [{[LIT_CHARS PPLD]}, {[LIT_CHARS ppld]}], [{[LIT_CHARS exec]}], [{[LIT_CHARS verbose]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('ppld', {[VarSub value]})]) (= scope= flags=0 words=[] bindings=[('doti', {[VarSub value]})]) (= scope= flags=0 words=[] bindings=[('linki', {[VarSub value]})]) (Case to_match={[VarSub value]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('multiopt', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('multiopt', {[VarSub multiopt] [VarSub value]})]) ) (= scope= flags=0 words=[] bindings=[('ppld', {[VarSub value]})]) (= scope= flags=0 words=[] bindings=[('exec', {[VarSub value]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[VarSub value]})]) (ElseTrue) ) ) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "*"] [LIT_OTHER "["] [LIT_OTHER "!"] [LIT_CHARS iklnvO] [LIT_OTHER "]"] [LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub usage]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS i] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]})]) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS k] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]}), ('linki', {[LIT_CHARS 1]})]) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS l] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('ppld', {[LIT_CHARS 1]})]) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS n] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('exec', {[SQ ]})]) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS v] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('verbose', {[LIT_CHARS 1]})]) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS O] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('old', {[LIT_CHARS 1]})]) ) ) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}]] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub usage]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) (Case to_match={[VarSub old]}, pat_word_list=[[{[SQ ]}]] (Case to_match={[ComSub (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -A]} {[LIT_CHARS a]} {[LIT_CHARS no]} {[LIT_CHARS ok]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub b]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (Com {[LIT_CHARS echo]} {[DQ [VarSub a bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}})][VarSub b]]}) ) )]}, pat_word_list=[[{[LIT_CHARS ok2]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (= scope= flags=0 words=[] bindings=[('old', {[LIT_CHARS 1]})]) ) ) (Case to_match={[VarSub old] [LIT_OTHER ":"] [VarSub RANDOM]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER ":"] [VarSub RANDOM]}, {[LIT_CHARS 1] [LIT_OTHER ":"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('nfile', {[SQ ]})]) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[SQ ]} {[DQ [VarSub 1]]}) (While (Com {[LIT_OTHER ":"]}) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub 1]]}) ) ) (While (Com {[LIT_OTHER ":"]}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[SQ ]}], [{[LIT_CHARS -] [LIT_OTHER "["] [VarSub multiopt] [LIT_OTHER "]"]}], [{[LIT_CHARS -E]}], [{[LIT_CHARS -P]}], [{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[VarSub src1]}, {[VarSub src2]}, {[VarSub src3]}, {[VarSub src4]}]] (Com {[LIT_CHARS break]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) ) ) (List (= scope= flags=0 words=[] bindings=[('ppstdout', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS trap]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) ) (List (= scope= flags=0 words=[] bindings=[('ppfile', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS trap]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('nfile', {[LIT_CHARS _] [VarSub nfile]})]) (Com {[LIT_CHARS eval]} {[LIT_CHARS input] [VarSub nfile] [LIT_OTHER "="] [SQ ]}) (Case to_match={[VarSub ppstdout]}, pat_word_list=[[{[DQ ]}]] (List (Case to_match={[VarSub doti]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('file', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub arg]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s,.*/,,"]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s,^,"][VarSub tmp][LIT_CHARS "/,"]]}) )]})]) (Case to_match={[VarSub clobber]}, pat_word_list=[[{[DQ ]}]] (List (= scope= flags=0 words=[] bindings=[('clobber', {[VarSub tmp]})]) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS print]} {[LIT_CHARS -r]} {[LIT_CHARS --]} {[LIT_OTHER "+"]} {[LIT_CHARS mkdir]} {[VarSub tmp]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[VarSub tmp]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) (List (= scope= flags=0 words=[] bindings=[('file', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub arg]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s,.*/,,"]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s,[.][^.]*,.i,"]]}) )]})]) (= scope= flags=0 words=[] bindings=[('clobber', {[DQ [VarSub clobber][LIT_CHARS " "][VarSub file]]})]) ) ) (Com {[LIT_CHARS eval]} {[LIT_CHARS output] [VarSub nfile] [LIT_OTHER "="] [SQ ]}) ) ) ) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS shift]}) ) ) (AndOr OP_OR_IF (Subshell (List (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[SQ ]} {[DQ [VarSub 1]]}) (While (Com {[LIT_OTHER ":"]}) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (List (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS break]}) ) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub 1]]}) ) ) (Case to_match={[VarSub doti] [VarSub ppstdout]}, pat_word_list=[[{[DQ ]}]] (List (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[LIT_CHARS -D-L]}) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS shift]}) (While (Com {[LIT_OTHER ":"]}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[SQ ]}], [{[LIT_CHARS -] [LIT_OTHER "["] [VarSub multiopt] [LIT_OTHER "]"]}], [{[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS DIU] [LIT_OTHER "]"] [LIT_OTHER "*"]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_CHARS -G]}], [{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[VarSub src1]}, {[VarSub src2]}, {[VarSub src3]}, {[VarSub src4]}]] (Com {[LIT_CHARS break]}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS shift]}) ) (Com {[LIT_CHARS continue]}) ) (ElseTrue) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS shift]}) ) (Com {[LIT_CHARS continue]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub nfile]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (List (While (Com {[LIT_OTHER ":"]}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[SQ ]}]] (Com {[LIT_CHARS break]}) ) ) ) (= scope= flags=0 words=[] bindings=[('n', {[SQ ]})]) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub n]}, pat_word_list=[[{[VarSub nfile]}]] (Com {[LIT_CHARS break]}) ) (= scope= flags=0 words=[] bindings=[('n', {[LIT_CHARS _] [VarSub n]})]) (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "input="] [SQ ] [VarSub n] =}) (Case to_match={[VarSub ppstdout]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "output="] [SQ ] [VarSub n] =}) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS echo]} {[LIT_OTHER "+"]} {[DQ [VarSub @]]} {[DQ [VarSub input]]} {[DQ [VarSub output]]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (AndOr OP_OR_IF (Com {[DQ [VarSub @]]} {[DQ [VarSub input]]} {[DQ [VarSub output]]}) (Com {[LIT_CHARS exit]}) ) ) ) (List (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS echo]} {[LIT_OTHER "+"]} {[DQ [VarSub @]]} {[DQ [VarSub input]]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (AndOr OP_OR_IF (Com {[DQ [VarSub @]]} {[DQ [VarSub input]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) ) ) ) ) ) ) (Com {[LIT_CHARS exit]}) ) (Case to_match={[VarSub ppfile] [VarSub ppstdout]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS exit]}) ) (While (Com {[LIT_OTHER ":"]}) (List (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS break]}) ) ) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[SQ ]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('n', {[SQ ]})]) (While (Com {[LIT_OTHER ":"]}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[SQ ]}], [{[LIT_CHARS -] [LIT_OTHER "["] [VarSub multiopt] [LIT_OTHER "]"]}], [{[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS DIU] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[VarSub src1]}, {[VarSub src2]}, {[VarSub src3]}, {[VarSub src4]}]] (Com {[LIT_CHARS break]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('arg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub ppld]}, pat_word_list=[[{[DQ ]}]] (Com {[LIT_CHARS continue]}) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('n', {[LIT_CHARS _] [VarSub n]})]) (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "arg="] [SQ ] [VarSub n] =}) ) ) (Com {[LIT_CHARS set]} {[SQ ]} {[DQ [VarSub @]]} {[DQ [VarSub arg]]}) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS echo]} {[LIT_OTHER "+"]} {[DQ [VarSub @]]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[DQ [VarSub @]]}) ) ) (List (Com {[LIT_CHARS integer]} {[LIT_VAR_LIKE "npp="] [LIT_CHARS 1] =} {[LIT_VAR_LIKE "ncc="] [LIT_CHARS 1] =} {[LIT_VAR_LIKE "nav="] [LIT_CHARS 1] =} {[LIT_VAR_LIKE "xav="] [VarSub #] =} {[LIT_CHARS oav]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -A]} {[LIT_CHARS av]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS 0] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]}) (While (DParen {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[VarSub xav]}}}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub nav]}})]})]) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS npp] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) (Case to_match={[VarSub doti]}, pat_word_list=[[{[DQ ]}]] (List (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS npp] [LIT_OTHER "]"] [LIT_OTHER "="] [LIT_CHARS -D-L]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) (Com {[LIT_CHARS cc] [LIT_OTHER "["] [LIT_CHARS 0] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (While (DParen {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[VarSub xav]}}}) (List (= scope= flags=0 words=[] bindings=[('arg', {[VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub nav]}})]})]) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "["] [VarSub multiopt] [LIT_OTHER "]"]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS Qq] [LIT_OTHER "]"] [LIT_CHARS dir]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS Qq] [LIT_OTHER "]"] [LIT_CHARS option]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS Qq] [LIT_OTHER "]"] [LIT_CHARS path]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS Qq] [LIT_OTHER "]"] [LIT_CHARS produce]}], [{[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS DIU] [LIT_OTHER "]"] [LIT_OTHER "*"]}, {[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_CHARS -E]}], [{[LIT_CHARS -G]}], [{[LIT_CHARS -P]}], [{[LIT_CHARS -] [LIT_POUND "#"] [LIT_OTHER "*"]}, {[LIT_CHARS -dryrun]}, {[LIT_CHARS --dryrun]}, {[LIT_CHARS -verbose]}, {[LIT_CHARS --verbose]}], [{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[VarSub src1]}, {[VarSub src2]}, {[VarSub src3]}, {[VarSub src4]}]] (List (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS Qq] [LIT_OTHER "]"] [LIT_CHARS option]}], [{[LIT_OTHER "*"]}]] (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub oav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub oav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) (If (DParen {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub oav]}} {A Atom NODE_ARITH_WORD {[VarSub xav]}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub oav]}} {A Atom NODE_ARITH_WORD {[VarSub xav]}}}) ) (While (DParen {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[VarSub oav]}}}) (List (Com {[LIT_CHARS cc] [LIT_OTHER "["] [LIT_CHARS ncc] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (= scope= flags=0 words=[] bindings=[('arg', {[VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub nav]}})]})]) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) ) (List (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS npp] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub npp]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (Case to_match={[VarSub ppld]}, pat_word_list=[[{[DQ ]}]] (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "["] [LIT_CHARS DIU] [LIT_OTHER "]"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) ) ) (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_CHARS -D-] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) ) ) (List (= scope= flags=0 words=[] bindings=[('ppstdout', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS trap]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) (Com {[LIT_CHARS continue]}) ) (Case to_match={[VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub nav]}})]}, pat_word_list=[[{[LIT_OTHER "["] [LIT_CHARS 0-9] [LIT_OTHER "]"] [LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS cc] [LIT_OTHER "["] [LIT_CHARS ncc] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (= scope= flags=0 words=[] bindings=[('arg', {[VarSub av bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub nav]}})]})]) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub nav]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) (List (= scope= flags=0 words=[] bindings=[('ppfile', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('doti', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS trap]} {[LIT_CHARS 0]} {[LIT_CHARS 1]} {[LIT_CHARS 2]} {[LIT_CHARS 3]} {[LIT_CHARS 15]}) (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('verbose', {[LIT_CHARS 1]})]) (ElseTrue) (List (Case to_match={[VarSub ppstdout]}, pat_word_list=[[{[DQ ]}]] (List (= scope= flags=0 words=[] bindings=[('out', {[VarSub arg transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]})]) (Case to_match={[VarSub doti]}, pat_word_list=[[{[LIT_CHARS 1]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('out', {[VarSub out transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS ".*"]}]] [LIT_CHARS .i]})]) (= scope= flags=0 words=[] bindings=[('clobber', {[DQ [VarSub clobber][LIT_CHARS " "][VarSub out]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -L]} {[VarSub out]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (List (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS echo]} {[LIT_OTHER "+"]} {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub out]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub out]}) ) ) ) (Case to_match={[VarSub linki] [LIT_OTHER ":"] [VarSub ppfile]}, pat_word_list=[[{[LIT_CHARS 1] [LIT_OTHER ":"]}]] (= scope= flags=0 words=[] bindings=[('post', {[DQ [VarSub post][LIT_CHARS " ln -s "][VarSub arg][LIT_CHARS " "][VarSub out][LIT_CHARS ";"]]})]) ) ) (List (Case to_match={[VarSub clobber]}, pat_word_list=[[{[DQ ]}]] (List (= scope= flags=0 words=[] bindings=[('clobber', {[VarSub tmp]})]) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS print]} {[LIT_CHARS -r]} {[LIT_CHARS --]} {[LIT_OTHER "+"]} {[LIT_CHARS mkdir]} {[VarSub tmp]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[VarSub tmp]}) (Com {[LIT_CHARS exit]}) ) ) ) ) (= scope= flags=0 words=[] bindings=[('out', {[VarSub tmp] [LIT_CHARS /] [VarSub out]})]) ) ) (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS npp] [LIT_OTHER "+"] [LIT_CHARS 1] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub out]}) ) ) (Com {[LIT_CHARS pp] [LIT_OTHER "["] [LIT_CHARS npp] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (= scope= flags=0 words=[] bindings=[('arg', {[VarSub out]})]) (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS print]} {[LIT_CHARS -r]} {[LIT_CHARS --]} {[LIT_OTHER "+"]} {[DQ [VarSub pp bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (AndOr OP_OR_IF (Com {[DQ [VarSub pp bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}) (Com {[LIT_CHARS exit]}) ) ) ) ) (Com {[LIT_CHARS cc] [LIT_OTHER "["] [LIT_CHARS ncc] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub arg]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub ncc]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) (Case to_match={[VarSub ppfile] [VarSub ppstdout]}, pat_word_list=[[{[DQ ]}]] (List (Case to_match={[VarSub verbose]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[LIT_CHARS print]} {[LIT_CHARS -r]} {[LIT_CHARS --]} {[LIT_OTHER "+"]} {[DQ [VarSub cc bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}) ) (Case to_match={[VarSub exec]}, pat_word_list=[[{[LIT_CHARS 1]}]] (Com {[DQ [VarSub cc bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}) ) ) ) ) ) )