(CommandList children: [ (C {(Lit_Other ":")} {(make)} {(abstract)} {(machine)} {(executor)} {(with)} {(state)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_command_) op:Equal rhs:{(mamexec)} spids:[82])] spids: [82] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(getopts)} {(SQ <"[-][123:xyz]">)} {(opt)} {(--xyz)}) terminator: <Op_Semi ";"> ) (C {(echo)} {(0) ($ VSub_Name "$opt")}) ] ) redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[106])] spids: [88 104] ) ] ) left_token: <Left_Backtick "`"> spids: [87 108] ) } arms: [ (case_arm pat_list: [{(0123)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARGV0) op: Equal rhs: {(DQ ("-a ") ($ VSub_Name "$_command_"))} spids: [115] ) ] spids: [115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: { (SQ <"\n"> <"[-?\n"> <"@(#)$Id: mamexec (AT&T Labs Research) 1994-04-17 $\n"> <"]\n"> ) ($ VSub_Name "$USAGE_LICENSE") (SQ <"\n"> <"[+NAME?mamexec - make abstract machine executor]\n"> <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> <mamexec> <Lit_EscapedChar "\\b"> <" reads MAM (Make Abstract Machine) target and\n"> <"\tprerequisite file descriptions from the standard input and executes\n"> <"\tactions to update targets that are older than their prerequisites.\n"> <"\tMamfiles are generated by the "> <Lit_EscapedChar "\\b"> <--mam> <Lit_EscapedChar "\\b"> <" option of "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) and\n"> <"\t"> <Lit_EscapedChar "\\b"> <gmake> <Lit_EscapedChar "\\b"> <"(1) and are portable to environments that only have\n"> <"\t"> <Lit_EscapedChar "\\b"> <sh> <Lit_EscapedChar "\\b"> <"(1) and "> <Lit_EscapedChar "\\b"> <cc> <Lit_EscapedChar "\\b"> <"(1).]\n"> <"[+?A separate "> <Lit_EscapedChar "\\b"> <mamstate> <Lit_EscapedChar "\\b"> <"(1) program is used to compare current and state\n"> <"\tfile target times. "> <Lit_EscapedChar "\\b"> <mamexec> <Lit_EscapedChar "\\b"> <" is a "> <Lit_EscapedChar "\\b"> <ksh> <Lit_EscapedChar "\\b"> <"(1) script implementation\n"> <"\tthat has been replaced by the standalone "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1). New\n"> <"\tapplications should use "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <".]\n"> <"[d:debug?Set the debug trace level to "> <Lit_EscapedChar "\\a"> <level> <Lit_EscapedChar "\\a"> <". Higher levels produce\n"> <"\tmore output.]\n"> <"[f:force?Force all targets to be out of date.]\n"> <"[i:ignore?Ignore shell action errors.]\n"> <"[n!:exec?Enable shell action execution.]\n"> <"[s:silent?Do not trace shell actions as they are executed.]\n"> <"\n"> <"[ target ... ]\n"> <"\n"> <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <mamstate> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1)]\n"> ) } spids: [122] ) ] spids: [122] ) ] spids: [112 113 216 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ARGV0) op:Equal rhs:{(DQ )} spids:[221])] spids: [221] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:USAGE) op:Equal rhs:{(DQ (dfins))} spids:[226])] spids: [226] ) ] spids: [218 219 232 -1] ) ] spids: [85 110 234] ) (FuncDef name: usage body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIND) op:Equal rhs:{(0)} spids:[244])] spids: [244] ) (C {(getopts)} {($ VSub_Name "$ARGV0")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)} {(SQ <"-?">)}) (C {(exit)} {(2)}) ] spids: [241] ) spids: [237 240] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_debug_) op:Equal rhs:{(Lit_Other ":")} spids:[270])] spids: [270] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_diff_) op:Equal rhs:{(.)} spids:[273])] spids: [273] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_error_) op:Equal rhs:{(SQ <"exit 1">)} spids:[276])] spids: [276] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_exec_) op:Equal rhs:{(eval)} spids:[281])] spids: [281] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_force_) op:Equal rhs:{(SQ )} spids:[284])] spids: [284] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_list_) op:Equal rhs:{(SQ )} spids:[286])] spids: [286] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_same_) op:Equal rhs:{(.)} spids:[288])] spids: [288] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(SQ )} spids:[291])] spids: [291] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_silent_) op:Equal rhs:{(SQ )} spids:[293])] spids: [293] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_state_list_) op:Equal rhs:{(MAMlist)} spids:[295])] spids: [295] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_state_time_) op:Equal rhs:{(MAMtime)} spids:[298])] spids: [298] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_tmp_) op: Equal rhs: {(/tmp/mam.) ($ VSub_Dollar "$$") (.mam)} spids: [301] ) ] spids: [301] ) (C {(trap)} {(SQ <"rm -f $_tmp_">)} {(0)}) (C {(trap)} {(SQ <"exit 2">)} {(1)} {(2)}) (While cond: [(C {(getopts)} {($ VSub_Name "$ARGV0")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$OPT")} arms: [ (case_arm pat_list: [{(d)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_debug_) op: Equal rhs: {($ VSub_Name "$OPT")} spids: [350] ) ] spids: [350] ) ] spids: [347 348 353 -1] ) (case_arm pat_list: [{(f)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_force_) op:Equal rhs:{(1)} spids:[359])] spids: [359] ) ] spids: [356 357 362 -1] ) (case_arm pat_list: [{(i)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_error_) op: Equal rhs: {(Lit_Other ":")} spids: [368] ) ] spids: [368] ) ] spids: [365 366 371 -1] ) (case_arm pat_list: [{(n)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_exec_) op: Equal rhs: {(echo)} spids: [377] ) ] spids: [377] ) ] spids: [374 375 380 -1] ) (case_arm pat_list: [{(s)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_silent_) op: Equal rhs: {(1)} spids: [386] ) ] spids: [386] ) ] spids: [383 384 389 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(usage)})] spids: [392 393 397 -1] ) ] spids: [340 344 400] ) ] spids: [338 402] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_select_) op:Equal rhs:{(SQ )} spids:[405])] spids: [405] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [420 421 425 -1] ) ] spids: [413 417 428] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}] action: [(C {(eval)} {($ VSub_Number "$1")})] spids: [438 441 448 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$_select_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_select_) op: Equal rhs: {($ VSub_Number "$1")} spids: [465] ) ] spids: [465] ) ] spids: [-1 463 468 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_select_) op: Equal rhs: {(DQ ($ VSub_Name "$_select_") ("|") ($ VSub_Number "$1"))} spids: [474] ) ] spids: [474] ) ] spids: [471 472 481 -1] ) ] spids: [454 458 484] ) ] spids: [451 452 487 -1] ) ] spids: [431 435 490] ) (C {(shift)}) ] spids: [411 495] ) ) (Case to_match: {($ VSub_Name "$_select_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_select_) op:Equal rhs:{(DQ ("*"))} spids:[507])] spids: [507] ) ] spids: [-1 505 512 -1] ) ] spids: [497 501 514] ) (AndOr children: [ (Subshell child: (CommandList children: [ (Sentence child:(C {(set)} {(-e)}) terminator:<Op_Semi ";">) (AndOr children:[(C {(false)})(C {(true)})] op_id:Op_DPipe) ] ) spids: [516 527] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(e)} spids:[531])] spids: [531] ) (SimpleCommand words: [ {(echo)} {($ VSub_Name "$_command_") (Lit_Other ":")} {(command)} {(errors)} {(ignored)} {(because)} {(of)} {(shell)} {(botch)} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[555])] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (Case to_match: {($ VSub_Name "$_silent_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_set_) op: Equal rhs: {(x) ($ VSub_Name "$_set_")} spids: [568] ) ] spids: [568] ) ] spids: [-1 566 573 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$_exec_")} arms: [ (case_arm pat_list: [{(DQ (echo))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_exec_) op: Equal rhs: {(Lit_Other ":")} spids: [590] ) ] spids: [590] ) ] spids: [586 588 593 -1] ) ] spids: [578 582 596] ) ] spids: [575 576 599 -1] ) ] spids: [558 562 601] ) (Case to_match: {($ VSub_Name "$_exec_")} arms: [ (case_arm pat_list: [{(DQ (eval))}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_begin_) op:Equal rhs:{(DQ ("("))} spids:[614])] spids: [614] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_end_) op: Equal rhs: {(DQ (") </dev/null"))} spids: [620] ) ] spids: [620] ) (Case to_match: {($ VSub_Name "$_set_")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_set_) op: Equal rhs: {(DQ ("set -") ($ VSub_Name "$_set_") (";"))} spids: [637] ) ] spids: [637] ) ] spids: [633 635 644 -1] ) ] spids: [626 630 647] ) ] spids: [610 612 650 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(SQ )} spids:[655])] spids: [655] ) ] spids: [652 653 658 -1] ) ] spids: [603 607 660] ) (If arms: [ (if_arm cond: [ (C {(test)} {(-f)} {($ VSub_Name "$_state_list_")} {(-a)} {(-f)} {($ VSub_Name "$_state_time_")} ) ] action: [ (Pipeline children: [ (SimpleCommand words: [{(mamstate)} {($ VSub_Name "$_state_list_")}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name "$_state_list_")} spids: [683] ) ] ) (SimpleCommand words: [{(sort)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_tmp_")} spids: [691] ) ] ) ] negated: False ) (ForEach iter_name: _i_ iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(comm)} {(-12)} {($ VSub_Name "$_state_time_")} {($ VSub_Name "$_tmp_")} ) (C {(sed)} {(SQ <"s/ .*//">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [702 718] ) } ] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$_same_")} arms: [ (case_arm pat_list: [{(.)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_same_) op: Equal rhs: {($ VSub_Name "$_i_")} spids: [733] ) ] spids: [733] ) ] spids: [730 731 736 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_same_) op: Equal rhs: {(DQ ($ VSub_Name "$_same_") ("|") ($ VSub_Name "$_i_"))} spids: [742] ) ] spids: [742] ) ] spids: [739 740 749 -1] ) ] spids: [723 727 752] ) ] spids: [721 755] ) spids: [701 -1] ) ] spids: [-1 677] ) ] spids: [-1 757] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_index_) op:Equal rhs:{(_)} spids:[760])] spids: [760] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_match_) op:Equal rhs:{(SQ )} spids:[763])] spids: [763] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [ (Subshell child: (Pipeline children: [ (C {(echo)} {(ok)}) (Subshell child: (CommandList children: [ (Sentence child: (C {(read)} {(-r)} {(a)}) terminator: <Op_Semi ";"> ) (C {(echo)} {($ VSub_Name "$a")}) ] ) redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [788] ) ] spids: [775 786] ) ] negated: False ) spids: [768 790] ) ] ) left_token: <Left_Backtick "`"> spids: [767 791] ) } arms: [ (case_arm pat_list: [{(ok)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_read_) op: Equal rhs: {(SQ <"read -r">)} spids: [798] ) ] spids: [798] ) ] spids: [795 796 804 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_read_) op:Equal rhs:{(read)} spids:[817])] spids: [817] ) (SimpleCommand words: [{(sed)} {(SQ <"s/\\\\/\\\\\\\\/g">)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_tmp_")} spids: [827] ) ] ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name "$_tmp_")} spids: [834] ) ] ) (C {(rm)} {(-f)} {($ VSub_Name "$_tmp_")}) ] spids: [806 807 846 -1] ) ] spids: [765 793 848] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_old_) op:Equal rhs:{(1)} spids:[850])] spids: [850] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_ifs_) op:Equal rhs:{($ VSub_Name "$IFS")} spids:[853])] spids: [853] ) (While cond: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <" ">)} spids:[858])] spids: [858] ) terminator: <Op_Semi ";"> ) (C {($ VSub_Name "$_read_")} {(_op_)} {(_arg_)} {(_val_)}) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$_ifs_")} spids: [874] ) ] spids: [874] ) (Case to_match: {($ VSub_Name "$_op_")} arms: [ (case_arm pat_list: [{(DQ (note))}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [886 888 893 -1] ) (case_arm pat_list: [{(DQ (info))}] action: [ (Case to_match: {($ VSub_Name "$_arg_")} arms: [ (case_arm pat_list: [{(DQ (mam))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_old_) op: Equal rhs: {(SQ )} spids: [913] ) ] spids: [913] ) ] spids: [909 911 915 -1] ) ] spids: [901 905 918] ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [897 899 924 -1] ) (case_arm pat_list: [{(DQ (setv))}] action: [ (C {(eval)} {(Lit_VarLike "_data_=") (SQ <"$">) ($ VSub_Name "$_arg_")}) (Case to_match: {($ VSub_Name "$_index_") (Lit_Other ":") ($ VSub_Name "$_data_")} arms: [ (case_arm pat_list: [ {(__) (Lit_Other "*") (Lit_Other ":") (Lit_Other "*")} {(Lit_Other "*") (Lit_Other ":")} ] action: [ (Case to_match: {($ VSub_Name "$_exec_")} arms: [ (case_arm pat_list: [{(DQ (eval))}] spids: [968 970 972 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(echo)} {(DQ ($ VSub_Name "$_arg_") ("=") ($ VSub_Name "$_val_"))} ) ] spids: [975 976 986 -1] ) ] spids: [960 964 989] ) (C {(eval)} {($ VSub_Name "$_arg_") (Lit_Other "=") (DQ ($ VSub_Name "$_val_"))} {(DQ ("</dev/null"))} ) ] spids: [950 957 1005 -1] ) ] spids: [941 947 1008] ) (Case to_match: {($ VSub_Name "$_arg_") (Lit_Other ":") ($ VSub_Name "$mam_cc_L")} arms: [ (case_arm pat_list: [{(DQ ("CC:"))}] action: [ (AndOr children: [ (Subshell child: (CommandList children: [ (C {(set)} {(-)}) (C {(mkdir)} {(/tmp/mam) ($ VSub_Dollar "$$")}) (C {(cd)} {(/tmp/mam) ($ VSub_Dollar "$$")}) (SimpleCommand words: [{(echo)} {(SQ <"main(){return 0;}">)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(main.c)} spids: [1051] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(1)} spids: [1056] ) ] spids: [1056] ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [{($ VSub_Name "$CC")} {(-c)} {(main.c)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1068] ) ] ) ] action: [ (If arms: [ (if_arm cond: [ (SimpleCommand words: [ {($ VSub_Name "$CC")} {(-L.)} {(main.o)} {(-lc)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1084] ) ] ) ] action: [ (AndOr children: [ (SimpleCommand words: [ {($ VSub_Name "$CC")} {(-L.)} {(main.o)} {(-lc)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(libc.a)} spids: [1098] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1102] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:code) op: Equal rhs: {(0)} spids: [1107] ) ] spids: [1107] ) ] op_id: Op_DPipe ) ] spids: [-1 1088] ) ] spids: [-1 1111] ) ] spids: [-1 1072] ) ] spids: [-1 1114] ) (C {(cd)} {(/tmp)}) (C {(rm)} {(-rf)} {(/tmp/mam) ($ VSub_Dollar "$$")}) (C {(exit)} {($ VSub_Name "$code")}) ] ) redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [1137] ) ] spids: [1025 1135] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mam_cc_L) op: Equal rhs: {(SQ <" ">)} spids: [1142] ) ] spids: [1142] ) ] op_id: Op_DAmp ) ] spids: [1021 1023 1148 -1] ) ] spids: [1011 1017 1151] ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [928 930 1157 -1] ) (case_arm pat_list: [{(DQ (make))}] action: [ (C {(eval)} {(_name_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_name_")} ) (C {(eval)} {(_prev_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_prev_")} ) (C {(eval)} {(_cmds_) ($ VSub_Name "$_index_") (Lit_Other "=") (SQ <"\"$_cmds_\"">)}) (C {(eval)} {(_attr_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_attr_")} ) (C {(eval)} {(Lit_VarLike "_name_=") ($ VSub_Name "$_arg_")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_prev_) op: Equal rhs: {($ VSub_Name "$_index_")} spids: [1205] ) ] spids: [1205] ) (Case to_match: {(DQ (" ") ($ VSub_Name "$_val_") (" "))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (DQ (" metarule ")) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_attr_) op: Equal rhs: {(m) ($ VSub_Name "$_attr_")} spids: [1227] ) ] spids: [1227] ) ] spids: [1220 1225 1231 -1] ) ] spids: [1209 1217 1234] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_cmds_) op: Equal rhs: {(SQ )} spids: [1237] ) ] spids: [1237] ) (C {(eval)} { (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$_name_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t") ($ VSub_Name "$_select_") (")\n") ("\t\t\t\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$_select_") (EscapedLiteralPart token: <Lit_EscapedChar "\\\""> ) (" in\n") ("\t\t\t\t") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("*") (EscapedLiteralPart token: <Lit_EscapedChar "\\\""> ) (")\t_select_=") ($ VSub_Name "$_name_") (" ;;\n") ("\t\t\t\tesac\n") ("\t\t\t\t_match_=1\n") ("\t\t\t\t_attr_=x") ($ VSub_Name "$_attr_") ("\n") ("\t\t\t\t;;\n") ("\t\t\tesac") ) } ) (Case to_match: {($ VSub_Name "$_force_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (C {(eval)} { (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$_name_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t\t") ($ VSub_Name "$_diff_") (")_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\t") ($ VSub_Name "$_same_") (");;\n") ("\t\t\t\t*)\t_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\tesac") ) } ) ] spids: [-1 1282 1307 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_attr_) op: Equal rhs: {(u) ($ VSub_Name "$_attr_")} spids: [1313] ) ] spids: [1313] ) ] spids: [1310 1311 1318 -1] ) ] spids: [1273 1277 1321] ) (Case to_match: {($ VSub_Name "$_attr_")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (u) (Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$_diff_")} arms: [ (case_arm pat_list: [{(.)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_diff_) op: Equal rhs: {($ VSub_Name "$_name_")} spids: [1346] ) ] spids: [1346] ) ] spids: [1343 1344 1349 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_diff_) op: Equal rhs: { (DQ ($ VSub_Name "$_diff_") ("|") ($ VSub_Name "$_name_")) } spids: [1355] ) ] spids: [1355] ) ] spids: [1352 1353 1362 -1] ) ] spids: [1336 1340 1365] ) ] spids: [1331 1334 1368 -1] ) ] spids: [1324 1328 1371] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_index_) op: Equal rhs: {(_) ($ VSub_Name "$_index_")} spids: [1374] ) ] spids: [1374] ) (C {(eval)} {(_name_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_name_")} ) (C {(eval)} {(_prev_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_prev_")} ) (C {(eval)} {(_cmds_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_cmds_")} ) (C {(eval)} {(_attr_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_attr_")} ) (C {(eval)} {(Lit_VarLike "_list_=") (SQ <"\"">) (DQ ($ VSub_Name "$_list_")) (SQ <"\n">) ($ VSub_Name "$_name_") (SQ <"\"">) } ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [1161 1163 1432 -1] ) (case_arm pat_list: [{(DQ (prev))}] action: [ (Case to_match: {($ VSub_Name "$_force_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (C {(eval)} { (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$_arg_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t\t") ($ VSub_Name "$_diff_") (")_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\t") ($ VSub_Name "$_same_") (")\t;;\n") ("\t\t\t\t*)\t_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\tesac") ) } ) ] spids: [-1 1449 1474 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_attr_) op: Equal rhs: {(u) ($ VSub_Name "$_attr_")} spids: [1480] ) ] spids: [1480] ) ] spids: [1477 1478 1485 -1] ) ] spids: [1440 1444 1488] ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [1436 1438 1494 -1] ) ] spids: [878 882 1497] ) (Case to_match: {($ VSub_Name "$_index_")} arms: [ (case_arm pat_list: [{(_)}] action: [ (Sentence child: (SimpleCommand words: [ {(echo)} {($ VSub_Name "$_op_") (Lit_Other ":")} {(missing)} {(make)} {(op)} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1521])] ) terminator: <Op_Semi ";"> ) (ControlFlow token:<ControlFlow_Continue continue>) ] spids: [1507 1508 1527 -1] ) ] spids: [1500 1504 1530] ) (Case to_match: {($ VSub_Name "$_op_")} arms: [ (case_arm pat_list: [{(DQ (attr))}] action: [ (Case to_match: {($ VSub_Name "$_val_")} arms: [ (case_arm pat_list: [{(DQ (meta))} {(DQ (suff))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_attr_) op: Equal rhs: {(m) ($ VSub_Name "$_attr_")} spids: [1561] ) ] spids: [1561] ) ] spids: [1553 1559 1565 -1] ) ] spids: [1545 1549 1568] ) ] spids: [1541 1543 1571 -1] ) (case_arm pat_list: [{(DQ (exec))} {(DQ (....))}] action: [ (Case to_match: {($ VSub_Name "$_old_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_arg_) op: Equal rhs: {($ VSub_Name "$_val_")} spids: [1595] ) ] spids: [1595] ) ] spids: [-1 1593 1599 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$_val_")} arms: [ (case_arm pat_list: [{(Lit_Other "?") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_arg_) op: Equal rhs: { (DQ ($ VSub_Name "$_arg_") (" ") ($ VSub_Name "$_val_")) } spids: [1616] ) ] spids: [1616] ) ] spids: [1612 1614 1623 -1] ) ] spids: [1605 1609 1626] ) ] spids: [1602 1603 1629 -1] ) ] spids: [1584 1588 1632] ) (Case to_match: {($ VSub_Name "$_cmds_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_cmds_) op: Equal rhs: {($ VSub_Name "$_arg_")} spids: [1646] ) ] spids: [1646] ) ] spids: [-1 1644 1650 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_cmds_) op: Equal rhs: {(DQ ($ VSub_Name "$_cmds_") ("\n") ($ VSub_Name "$_arg_"))} spids: [1656] ) ] spids: [1656] ) ] spids: [1653 1654 1664 -1] ) ] spids: [1635 1639 1667] ) ] spids: [1575 1581 1670 -1] ) (case_arm pat_list: [{(DQ (done))}] action: [ (C {(eval)} {(Lit_VarLike "_arg_=") ($ VSub_Name "$_arg_")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_prop_) op: Equal rhs: {(SQ )} spids: [1684] ) ] spids: [1684] ) (Case to_match: {($ VSub_Name "$_arg_")} arms: [ (case_arm pat_list: [{($ VSub_Name "$_name_")}] action: [ (Case to_match: {($ VSub_Name "$_attr_")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (m) (Lit_Other "*")}] spids: [1703 1706 1708 -1] ) (case_arm pat_list: [ {(Lit_Other "*") (x) (Lit_Other "*") (u) (Lit_Other "*")} {(Lit_Other "*") (u) (Lit_Other "*") (x) (Lit_Other "*")} ] action: [ (Case to_match: {($ VSub_Name "$_cmds_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Case to_match: {($ VSub_Name "$_attr_")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (u) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_prop_) op: Equal rhs: {(u)} spids: [1748] ) ] spids: [1748] ) ] spids: [1743 1746 1751 -1] ) ] spids: [1736 1740 1754] ) ] spids: [-1 1734 1757 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (AndOr children: [ (C {($ VSub_Name "$_exec_")} { (DQ ($ VSub_Name "$_begin_") ($ VSub_Name "$_set_") ($ VSub_Name "$_cmds_") ($ VSub_Name "$_end_") ) } ) (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_code_) op: Equal rhs: {($ VSub_QMark "$?")} spids: [1778] ) ] spids: [1778] ) (Case to_match: {($ VSub_Name "$_set_")} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (-) (Lit_Other "*") (e) (Lit_Other "*") } ] spids: [1789 1794 1796 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Case to_match: {($ VSub_Name "$_cmds_")} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (KW_If if) (Lit_Other "*") (KW_Then then) (Lit_Other "*") (KW_Fi fi) (Lit_Other "*") } {(DQ ("||"))} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_code_) op: Equal rhs: {(0)} spids: [1822] ) ] spids: [1822] ) ] spids: [1809 1820 1825 -1] ) ] spids: [1802 1806 1828] ) ] spids: [1799 1800 1831 -1] ) ] spids: [1782 1786 1834] ) (Case to_match: {($ VSub_Name "$_code_")} arms: [ (case_arm pat_list: [{(0)}] spids: [1844 1845 1847 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ("*** exit code ") ($ VSub_Name "$_code_") (" making ") ($ VSub_Name "$_name_") ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1862] ) ] ) (C {($ VSub_Name "$_error_")}) ] spids: [1850 1851 1869 -1] ) ] spids: [1837 1841 1872] ) ] spids: [1775] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_prop_) op: Equal rhs: {(u)} spids: [1878] ) ] spids: [1878] ) ] spids: [1760 1761 1882 -1] ) ] spids: [1725 1729 1885] ) ] spids: [1711 1722 1888 -1] ) ] spids: [1696 1700 1891] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_index_) op: Equal rhs: {($ VSub_Name "$_prev_")} spids: [1894] ) ] spids: [1894] ) (C {(eval)} {(Lit_VarLike "_name_=") (SQ <"$">) (_name_) ($ VSub_Name "$_index_")} ) (C {(eval)} {(Lit_VarLike "_prev_=") (SQ <"$">) (_prev_) ($ VSub_Name "$_index_")} ) (C {(eval)} {(Lit_VarLike "_cmds_=") (SQ <"$">) (_cmds_) ($ VSub_Name "$_index_")} ) (C {(eval)} {(Lit_VarLike "_attr_=") ($ VSub_Name "$_prop_") (SQ <"$">) (_attr_) ($ VSub_Name "$_index_") } ) ] spids: [1694 1695 1939 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [ {(echo)} {($ VSub_Name "$_val_") (Lit_Other ":")} {($ VSub_Name "$_op_")} {($ VSub_Name "$_name_")} {(expected)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1956] ) ] ) ] spids: [1942 1943 1960 -1] ) ] spids: [1687 1691 1963] ) ] spids: [1674 1676 1966 -1] ) ] spids: [1533 1537 1969] ) ] spids: [872 1971] ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{($ VSub_Name "$_ifs_")} spids:[1973])] spids: [1973] ) (Case to_match: {($ VSub_Name "$_match_")} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Sentence child: (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name "$_command_") (": don't know how to make ") ($ VSub_Name "$_select_") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1994])] ) terminator: <Op_Semi ";"> ) (C {($ VSub_Name "$_error_")}) ] spids: [-1 1984 2000 -1] ) ] spids: [1976 1980 2002] ) (Case to_match: {($ VSub_Name "$_exec_")} arms: [ (case_arm pat_list: [{(DQ (eval))}] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name "$_list_"))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_state_list_")} spids: [2021] ) ] ) (Pipeline children: [ (SimpleCommand words: [{(mamstate)} {($ VSub_Name "$_state_list_")}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name "$_state_list_")} spids: [2030] ) ] ) (SimpleCommand words: [{(sort)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_state_time_")} spids: [2038] ) ] ) ] negated: False ) ] spids: [2011 2013 2043 -1] ) ] spids: [2004 2008 2045] ) ] )