(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPILEDIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPILEDIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPILEDIR='> name:COMPILEDIR) op: assign_op.Equal rhs: {<'/sys/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-m>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'/compile'> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'KERNELNAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KERNELNAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNELNAME='> name:KERNELNAME) op: assign_op.Equal rhs: {<LINT>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SORTORDER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SORTORDER='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SORTORDER='> name:SORTORDER) op: assign_op.Equal rhs: {<-k1>} ) ] redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <getopt> more_env: [] words: [ {<getopt>} {<h> <Id.Lit_QMark '?'> <k> <Id.Lit_Colon ':'> <s> <Id.Lit_Colon ':'>} {($ Id.VSub_Star '*')} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: {(DQ <-h>)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [80 93] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-->} {($ Id.VSub_DollarName args)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter__Args) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName i))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-h> pattern: (pat.Words words: [ {<-h>} {<-> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')} ] ) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number 0) <' [ -k <kernelname> ] [ -s [ \'symbol\' | \'filename\' ] ]'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) terminator: <Id.Op_Semi _> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-k> pattern: (pat.Words words:[{<-k>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'KERNELNAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KERNELNAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNELNAME='> name:KERNELNAME) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {(${ Id.VSub_Name COMPILEDIR) <'/'> (${ Id.VSub_Name KERNELNAME) } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Continue continue>) terminator: <Id.Op_Semi _> ) ] spids: [162 180] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Kernel \''> ($ Id.VSub_DollarName KERNELNAME) <'\' does not exist in '> (${ Id.VSub_Name COMPILEDIR) <'!'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-s> pattern: (pat.Words words:[{<-s>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {(DQ <xsymbol>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SORTORDER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SORTORDER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'SORTORDER='> name: SORTORDER ) op: assign_op.Equal rhs: {<-k1>} ) ] redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Continue continue>) terminator: <Id.Op_Semi _> ) ] spids: [224 242] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_Number 2))} {<Id.Lit_Equals '='>} {(DQ <xfilename>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SORTORDER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SORTORDER='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'SORTORDER='> name: SORTORDER ) op: assign_op.Equal rhs: {<-k2>} ) ] redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Continue continue>) terminator: <Id.Op_Semi _> ) ] spids: [263 281] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Invalid selection for -s: '> ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--> pattern: (pat.Words words:[{<-->}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow keyword:<Id.ControlFlow_Break break>) terminator: <Id.Op_Semi _> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name COMPILEDIR) <'/'> (${ Id.VSub_Name KERNELNAME)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'MOD_OBJS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MOD_OBJS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MOD_OBJS='> name:MOD_OBJS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<modules>} {<-name>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') <.o>} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [{<Id.Lit_Star '*'> <.o>} {($ Id.VSub_DollarName MOD_OBJS)}] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <nm> more_env: [] words: [{<nm>} {<-gon>} {($ Id.VSub_DollarName i)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {(SQ <'\n'> <'/aicasm.*:/d\n'> <'/genassym.*:/d\n'> <'s/.*\\///\n'> <'s/:/ /\n'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} { (SQ <'\n'> <'NF > 1\t{\n'> <'\tif ($2 == "t") \n'> <'\t\tnext\n'> <'\tif ($2 == "F")\n'> <'\t\tnext\n'> <'\tif ($2 == "U") {\n'> <'\t\tref[$3]=ref[$3]" "$1\n'> <'\t\tnm[$3]++\n'> <'\t} else if ($3 == "D" || $3 == "T" || $3 == "B" || $3 == "R" || $3 == "A") {\n'> <'\t\tif (def[$4] != "")\n'> <'\t\t\tdef[$4]=def[$4]" "$1\n'> <'\t\telse\n'> <'\t\t\tdef[$4]=$1\n'> <'\t\tnm[$4]++\n'> <'\t} else if ($2 == "?") {\n'> <'\t\tif (def[$3] == "S")\n'> <'\t\t\ti++\n'> <'\t\telse if (def[$3] != "")\n'> <'\t\t\tdef[$3]=def[$3]",S"\n'> <'\t\telse\n'> <'\t\t\tdef[$3]="S"\n'> <'\t\tref[$3]=ref[$3]" "$1\n'> <'\t\tnm[$3]++\n'> <'\t} else if ($2 == "C") {\n'> <'\t\tif (def[$3] == $2)\n'> <'\t\t\ti++\n'> <'\t\telse if (def[$3] == "")\n'> <'\t\t\tdef[$3]=$1\n'> <'\t\telse\n'> <'\t\t\tref[$3]=ref[$3]" "$1\n'> <'\t\tnm[$3]++\n'> <'\t} else {\n'> <'\t\tprint ">>>",$0\n'> <'\t}\n'> <'\t}\n'> <'END\t{\n'> <'\tfor (i in nm) {\n'> <'\t\tprintf "%s {%s} %s\\n",i,def[i],ref[i]\n'> <'\t}\n'> <'\t}\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {($ Id.VSub_DollarName SORTORDER)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} { (SQ <'\n'> <'\t{\n'> <'\tif ($2 == "{S}")\n'> <'\t\t$2 = "<Linker set>"\n'> <'\tif (length($3) == 0) {\n'> <'\t\tprintf "%-31s %d %s\\tUNREF\\n",$1,0, $2\n'> <'\t\tN1++\n'> <'\t} else if ($2 == "{}") {\n'> <'\t\tprintf "%-31s %d {UNDEF}\\n",$1, NF-2\n'> <'\t\tN2++\n'> <'\t} else {\n'> <'\t\tprintf "%-31s %d %s",$1,NF-2,$2\n'> <'\t\tp = 80;\n'> <'\t\tfor (i = 3 ; i <= NF; i++) {\n'> <'\t\t\tif (p+length ($i)+1 > 48) {\n'> <'\t\t\t\tprintf "\\n\\t\\t\\t\\t\\t%s", $i\n'> <'\t\t\t\tp = 7;\n'> <'\t\t\t} else {\n'> <'\t\t\t\tprintf " %s", $i\n'> <'\t\t\t}\n'> <'\t\t\tp += 1 + length ($i)\n'> <'\t\t}\n'> <'\t\tprintf "\\n"\n'> <'\t\tN3++\n'> <'\t\tif (NF-2 == 1) \n'> <'\t\t\tN4++\n'> <'\t\tif (NF-2 == 2)\n'> <'\t\t\tN5++\n'> <'\t}\n'> <'\t}\n'> <'END\t{\n'> <'\tprintf "Total symbols: %5d\\n",N1+N2+N3\n'> <'\tprintf "unref symbols: %5d\\n",N1\n'> <'\tprintf "undef symbols: %5d\\n",N2\n'> <'\tprintf "1 ref symbols: %5d\\n",N4\n'> <'\tprintf "2 ref symbols: %5d\\n",N5\n'> <'\t}\n'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] )