(List (Com {[LIT_OTHER ":"]} {[LIT_CHARS generate]} {[LIT_CHARS local]} {[LIT_CHARS host]} {[LIT_CHARS info]}) (Case to_match={[VarSub RANDOM]}, pat_word_list=[[{[VarSub RANDOM]}]] (List (Com {[LIT_CHARS exec]} {[LIT_CHARS ksh]} {[VarSub 0]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": ksh required"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS integer]} {[LIT_VAR_LIKE "cluster="] [LIT_CHARS 5] =}) (= scope= flags=0 words=[] bindings=[('dir', {[LIT_CHARS .]})]) (= scope= flags=0 words=[] bindings=[('file', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('heading', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('list', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('rsh', {[LIT_CHARS rsh]})]) (= scope= flags=0 words=[] bindings=[('timeout', {[LIT_CHARS 90]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[LIT_OTHER ":"]})]) (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_OTHER "["] [LIT_CHARS frt] [LIT_OTHER "]"]}], [{[LIT_CHARS -h]}], [{[LIT_CHARS -n]}], [{[LIT_CHARS -v]}], [{[SQ ]}], [{[LIT_OTHER "["] [LIT_CHARS -] [LIT_OTHER "+"] [LIT_OTHER "]"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 1]}]] (List (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[SQ ]}) (Com {[LIT_CHARS break]}) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -f]}], [{[LIT_CHARS -r]}], [{[LIT_CHARS -t]}]] (= scope= flags=0 words=[] bindings=[('file', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('rsh', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('timeout', {[VarSub 2]})]) ) (Com {[LIT_CHARS shift]}) ) (= scope= flags=0 words=[] bindings=[('heading', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('list', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[SQ ]})]) (Com {[LIT_CHARS break]}) (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[DQ [VarSub 0][LIT_CHARS ": "][VarSub 1][LIT_CHARS ": invalid option"]]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[SQ ]}) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (Case to_match={[VarSub 1]}, pat_word_list=[[{[SQ ]}]] (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " [-hnv] [-f share-file] [-r rsh-path] [-t timeout] [host ...]"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Case to_match={[VarSub file]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (List (= 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]} {[DQ ]} {[VarSub PATH]} {[DQ [LIT_CHARS --]]} {[DQ [VarSub @]]}) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub ifs]})]) (= scope= flags=0 words=[] bindings=[('f', {[LIT_CHARS lib/cs/share]})]) (While (Com {[LIT_OTHER ":"]}) (List (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[DQ ]}], [{[LIT_CHARS --]}]] (Com {[LIT_CHARS continue]}) (Com {[LIT_CHARS break]}) ) (Case to_match={[VarSub file]}, pat_word_list=[[{[DQ ]}]] (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS bin]}]] [VarSub f]}) (= scope= flags=0 words=[] bindings=[('file', {[VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS bin]}]] [VarSub f]})]) ) ) ) ) (Com {[LIT_CHARS shift]}) (Case to_match={[VarSub file]}, pat_word_list=[[{[DQ ]}]] (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[VarSub 0] [LIT_OTHER ":"]} {[VarSub f] [LIT_OTHER ":"]} {[LIT_CHARS not]} {[LIT_CHARS found]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[VarSub file]}) (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[DQ [VarSub 0][LIT_CHARS ": "][VarSub file][LIT_CHARS ": cannot read share file"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[DQ [VarSub 0][LIT_CHARS ": warning: "][VarSub rsh][LIT_CHARS " may hang on some hosts -- monitor the progress with the -v option or ps "][VarSub $]]}) (= scope= flags=0 words=[] bindings=[('server', {[SQ ]})]) (For host [{[ComSub (Com {[LIT_CHARS egrep]} {[LIT_CHARS -v]} {[SQ ]} {[VarSub file]})]}]) (Case to_match={[VarSub server]}, pat_word_list=[[{[DQ ]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('server', {[VarSub host]})]) (= scope= flags=0 words=[] bindings=[('server', {[DQ [VarSub server][LIT_CHARS "|"][VarSub host]]})]) ) ) (= scope= flags=0 words=[] bindings=[('hostname', {[ComSub (Com {[LIT_CHARS package]} {[LIT_CHARS host]} {[LIT_CHARS name]})]})]) (= scope= flags=0 words=[] bindings=[('hostname', {[VarSub hostname transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS ".*"]}]]})]) (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}]] (List (= scope= flags=0 words=[] bindings=[('domain', {[ComSub (Pipeline (List redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)] (Com {[LIT_CHARS cat]} {[LIT_CHARS /etc/hosts]}) (Com {[LIT_CHARS ypcat]} {[LIT_CHARS hosts]}) ) (Com {[LIT_CHARS egrep]} {[DQ [LIT_CHARS "[^#].*[ \t]"][VarSub hostname][LIT_CHARS "("][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "|[. \t])"]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[ComSub (Pipeline (List redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)] (Com {[LIT_CHARS print]} {[DQ [VarSub hostname]]}) (Com {[LIT_CHARS egrep]} {[LIT_CHARS -v]} {[SQ ]} {[VarSub file]}) (Pipeline (Com {[LIT_CHARS ruptime]}) (Com {[LIT_CHARS fgrep]} {[LIT_CHARS -v]} {[SQ ]}) ) (Pipeline (List (For i [{[LIT_CHARS /etc/resolv.conf]}, {[LIT_CHARS /usr/etc/resolv.conf]}]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[VarSub i]}) (List (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ls -t A "][ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub i]})]]}) (Com {[LIT_CHARS nslookup]}) ) (Com {[LIT_CHARS break]}) ) ) ) (Com {[LIT_CHARS cat]} {[LIT_CHARS /etc/hosts]}) (Com {[LIT_CHARS ypcat]} {[LIT_CHARS hosts]}) ) (Com {[LIT_CHARS fgrep]} {[DQ [LIT_CHARS .][VarSub domain]]}) (Com {[LIT_CHARS awk]} {[SQ ]}) ) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) (Com {[LIT_CHARS sort]} {[LIT_CHARS -u]}) )]}) (Case to_match={[VarSub list]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS print]} {[LIT_VAR_LIKE "domain="] [VarSub domain] =}) ) ) ) (Case to_match={[VarSub list]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS print]} {[LIT_VAR_LIKE "hosts="] [SQ ] [VarSub *] [SQ ] =}) (Com {[LIT_CHARS exit]}) ) ) (= scope= flags=0 words=[] bindings=[('hosts', {[SQ ]})]) (Pipeline (For host do_arg_iter) (List (Case to_match={[VarSub host]}, pat_word_list=[[{[LIT_CHARS local]}, {[LIT_CHARS localhost]}]] (= scope= flags=0 words=[] bindings=[('host', {[VarSub hostname]})]) ) (Case to_match={[DQ [LIT_CHARS " "][VarSub hosts][LIT_CHARS " "]]}, pat_word_list=[[{[LIT_OTHER "*"] [DQ [LIT_CHARS " "][VarSub host][LIT_CHARS " "]] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) ) (= scope= flags=0 words=[] bindings=[('hosts', {[DQ [VarSub hosts][LIT_CHARS " "][VarSub host]]})]) (Com {[VarSub verbose]} {[LIT_CHARS -n]} {[DQ [VarSub host][LIT_CHARS " "]]}) (Case to_match={[VarSub host]}, pat_word_list=[[{[VarSub hostname]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS package]} {[LIT_CHARS host]} {[LIT_CHARS name]} {[LIT_CHARS type]} {[LIT_CHARS cpu]} {[LIT_CHARS rating]}) (If (Com {[LIT_CHARS ping]} {[LIT_CHARS -c]} {[LIT_CHARS 1]} {[LIT_CHARS -w]} {[LIT_CHARS 4]} {[VarSub host]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (List (Fork (Com {[VarSub rsh]} {[VarSub host]} {[LIT_CHARS bin/package]} {[LIT_CHARS host]} {[LIT_CHARS name]} {[LIT_CHARS type]} {[LIT_CHARS cpu]} {[LIT_CHARS rating]}) ) (= scope= flags=0 words=[] bindings=[('info', {[VarSub !]})]) (Fork (List (Com {[LIT_CHARS sleep]} {[VarSub timeout]}) (Com {[LIT_CHARS kill]} {[LIT_CHARS -9]} {[VarSub info]}) ) ) (= scope= flags=0 words=[] bindings=[('time', {[VarSub !]})]) (Com {[LIT_CHARS wait]} {[VarSub info]}) (Com {[LIT_CHARS kill]} {[LIT_CHARS -9]} {[VarSub time]}) ) ) ) ) ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS host]} {[LIT_CHARS type]} {[LIT_CHARS cpu]} {[LIT_CHARS rating]}) (List (Com {[VarSub verbose]} {[LIT_VAR_LIKE "type="] [VarSub type] =} {[LIT_VAR_LIKE "cpu="] [VarSub cpu] =} {[LIT_VAR_LIKE "rating="] [VarSub rating] =}) (= scope= flags=0 words=[] bindings=[('host', {[VarSub host transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS ".*"]}]]})]) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "case '"][VarSub host][LIT_CHARS "' in\n"][LIT_CHARS "\t"][VarSub server][LIT_CHARS ")\tidle= ;;\n"][LIT_CHARS "\t*)\t\tidle=15m ;;\n"][LIT_CHARS "\tesac"]]}) (Com {[LIT_CHARS print]} {[VarSub host] [DQ [LIT_CHARS "\t"]] [LIT_VAR_LIKE "type="] [VarSub type] [DQ [LIT_CHARS "\t"]] [VarSub rating] [VarSub idle test_op=VS_TEST_COLON_PLUS {[DQ [LIT_CHARS "\tidle="][VarSub idle]]}] [VarSub cpu test_op=VS_TEST_COLON_PLUS {[DQ [LIT_CHARS "\tcpu="][VarSub cpu]]}]}) ) ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -b]} {[LIT_OTHER "+"] [LIT_CHARS 2n]} {[LIT_CHARS -3]}) (List (Com {[LIT_CHARS integer]} {[LIT_CHARS v]} {[LIT_CHARS c]} {[LIT_CHARS d]} {[LIT_CHARS i]} {[LIT_CHARS j]} {[LIT_CHARS k]} {[LIT_CHARS n]}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub n]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS host]} {[LIT_CHARS type]} {[LIT_CHARS rate]} {[LIT_CHARS attr]}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub n]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub n]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (Com {[LIT_CHARS h] [LIT_OTHER "["] [LIT_CHARS n] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub host]}) (Com {[LIT_CHARS t] [LIT_OTHER "["] [LIT_CHARS n] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub type]}) (Com {[LIT_CHARS v] [LIT_OTHER "["] [LIT_CHARS n] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub rate]}) (Com {[LIT_CHARS a] [LIT_OTHER "["] [LIT_CHARS n] [LIT_OTHER "]"] [LIT_OTHER "="] [VarSub attr]}) ) ) (= scope= flags=0 words=[] bindings=[('c', {[LIT_CHARS 1]})]) (While (DParen {A Atom NODE_ARITH_WORD {[VarSub c]}}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (While (DParen {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub n]}}}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub d]}} {A2 AS_OP_MINUS {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}} {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}}}}) (If (DParen {A2 AS_OP_DAMP {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub d]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub d]}} {A Atom NODE_ARITH_WORD {[VarSub cluster]}}}}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub d]}} {A2 AS_OP_SLASH {A Atom NODE_ARITH_WORD {[VarSub d]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}}}) (DParen {A2 AS_OP_EQUAL {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}} {A2 AS_OP_PLUS {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}} {A Atom NODE_ARITH_WORD {[VarSub d]}}}}) (DParen {A2 AS_OP_EQUAL {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}} {A2 AS_OP_MINUS {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}} {A Atom NODE_ARITH_WORD {[VarSub d]}}}}) (= scope= flags=0 words=[] bindings=[('c', {[LIT_CHARS 1]})]) ) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) ) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (While (DParen {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub n]}}}) (List (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub j]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub k]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (While (DParen {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub j]}} {A Atom NODE_ARITH_WORD {[VarSub n]}}}) (List (If (DParen {A2 AS_OP_DPIPE {A2 AS_OP_GREAT {A2 AS_OP_MINUS {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub j]}}} {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub j]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_GREAT {A2 AS_OP_MINUS {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub j]}}} {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}}} {A Atom NODE_ARITH_WORD {[VarSub cluster]}}}}) (Com {[LIT_CHARS break]}) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub j]}}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub k]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub k]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub j]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub j]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_SLASH {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[VarSub k]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub d]}} {A2 AS_OP_PERCENT {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[VarSub d]}}}}) (If (DParen {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub d]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 6]}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}}}}) (DParen {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub d]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 3]}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub c]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub c]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 5]}}}}) ) (While (DParen {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub j]}}}) (List (DParen {A2 AS_OP_EQUAL {A2 AS_OP_LBRACKET {A Atom NODE_ARITH_WORD {[VarSub v]}} {A Atom NODE_ARITH_WORD {[VarSub i]}}} {A Atom NODE_ARITH_WORD {[VarSub c]}}}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) ) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}) (While (DParen {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub n]}}}) (List (= scope= flags=0 words=[] bindings=[('rate', {[VarSub v bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]})]) (Com {[LIT_CHARS print]} {[VarSub h bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]} {[VarSub t bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]} {[LIT_VAR_LIKE "rating="] [VarSub v bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})] [DQ [LIT_CHARS "\t"][VarSub a bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]] =}) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) ) ) ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -b]} {[LIT_OTHER "+"] [LIT_CHARS 1]} {[LIT_CHARS -2]} {[LIT_OTHER "+"] [LIT_CHARS 2.7n]} {[LIT_CHARS -3]} {[LIT_OTHER "+"] [LIT_CHARS 0]} {[LIT_CHARS -1]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS host]} {[LIT_CHARS type]} {[LIT_CHARS attr]}) (List (Case to_match={[VarSub heading]}, pat_word_list=[[{[LIT_CHARS 1]}], [{[SQ ]}, {[VarSub type]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS print]} {[SQ ]}) (Com {[LIT_CHARS print]} {[SQ ]}) (Com {[LIT_CHARS print]} {[SQ ]}) (Com {[LIT_CHARS print]}) (Com {[LIT_CHARS print]} {[SQ ]}) (Com {[LIT_CHARS print]}) ) (ElseTrue) (Com {[LIT_CHARS print]}) ) (= scope= flags=0 words=[] bindings=[('heading', {[VarSub type]})]) (Case to_match={[VarSub host]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('tab1', {[DQ [LIT_CHARS "\t"]]})]) (= scope= flags=0 words=[] bindings=[('tab1', {[DQ [LIT_CHARS "\t\t"]]})]) ) (Case to_match={[VarSub type]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('tab2', {[DQ [LIT_CHARS "\t"]]})]) (= scope= flags=0 words=[] bindings=[('tab2', {[DQ [LIT_CHARS "\t\t"]]})]) ) (Com {[LIT_CHARS print]} {[VarSub host] [DQ [VarSub tab1]] [VarSub type] [DQ [VarSub tab2][VarSub attr]]}) ) ) ) )