(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(DQ <'adbgen [-d] [-m ilp32|lp64] [-w] <adb macro file>'>)} spids: [84] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cflags='> name:cflags) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [89] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mflag='> name:mflag) op: assign_op.Equal rhs: {<-milp32>} spids: [91] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'subdir='> name:subdir) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [94] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<getopts>} {<dwm> <Id.Lit_Colon ':'>} {<c>})]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName c)} arms: [ (case_arm pat_list: [{<d>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEBUG='> name:DEBUG) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [120] ) ] redirects: [] ) ] spids: [116 117 124 -1] ) (case_arm pat_list: [{<m>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName OPTARG)} arms: [ (case_arm pat_list: [{<ilp32>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mflag='> name:mflag) op: assign_op.Equal rhs: {<-milp32>} spids: [142] ) ] redirects: [] ) ] spids: [138 139 146 -1] ) (case_arm pat_list: [{<lp64>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mflag='> name:mflag) op: assign_op.Equal rhs: {<-mlp64>} spids: [153] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cflags='> name:cflags) op: assign_op.Equal rhs: {<-xarch> <Id.Lit_Equals '='> <v9>} spids: [157] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'subdir='> name:subdir) op: assign_op.Equal rhs: {<sparcv9>} spids: [163] ) ] redirects: [] ) (command.Simple words: [{<'/usr/bin/optisa'>} {<sparcv9>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {<adbgen>} {<-mlp64>} {<must>} {<be>} {<run>} {<on>} {<64-bit>} {<system>} ) ] spids: [176 189] ) ] else_action: [] redirects: [] ) ] spids: [149 150 214 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {($ Id.VSub_DollarName USAGE)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [217 218 231 -1] ) ] redirects: [] ) ] spids: [127 128 237 -1] ) (case_arm pat_list: [{<w>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flag='> name:flag) op: assign_op.Equal rhs: {<-w>} spids: [244] ) ] redirects: [] ) ] spids: [240 241 248 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (C {<echo>} {($ Id.VSub_DollarName USAGE)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [251 252 265 -1] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>}) right: <Id.Backtick_Right '`'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ADBDIR='> name:ADBDIR) op: assign_op.Equal rhs: {<'/usr/lib/adb'>} spids: [287] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName PATH) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName ADBDIR)} spids: [290] ) ] redirects: [] ) (command.ForEach iter_names: [file] iterable: (for_iter.Words words:[{($ Id.VSub_Star '*')}]) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <XX> ($ Id.VSub_DollarName file))} {<Id.Lit_Colon ':'>} {(DQ <'.*'> <Id.Lit_BadBackslash '\\'> <.adb>)} ) right: <Id.Backtick_Right '`'> ) } {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {<File>} {($ Id.VSub_DollarName file)} {<invalid.>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [306 338] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-gt>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<echo>} {($ Id.VSub_DollarName file) <Id.Lit_Colon ':'>})] spids: [358 371] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ <XX> ($ Id.VSub_DollarName file))} {<Id.Lit_Colon ':'>} { (DQ <XX> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')'> <Id.Lit_BadBackslash '\\'> <.adb> ) } ) right: <Id.Backtick_Right '`'> ) } spids: [383] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Simple words: [ {<adbgen1>} {($ Id.VSub_DollarName flag)} {($ Id.VSub_DollarName mflag)} ] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName file) <.adb>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file) <.adb.c>} ) ] more_env: [] do_fork: T ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<cc>} ) right: <Id.Right_DollarBrace '}'> ) } {<-w>} {<-D> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH> var_name: ARCH suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-m>}) right: <Id.Backtick_Right '`'> ) } ) right: <Id.Right_DollarBrace '}'> ) } {($ Id.VSub_DollarName cflags)} {<'-I/usr/share/src/uts/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ARCH> var_name: ARCH suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-m>}) right: <Id.Backtick_Right '`'> ) } ) right: <Id.Right_DollarBrace '}'> ) } {<-o>} {($ Id.VSub_DollarName file) <.run>} {($ Id.VSub_DollarName file) <.adb.c>} {($ Id.VSub_DollarName ADBDIR) <'/'> ($ Id.VSub_DollarName subdir) <'/adbsub.o'> } ) ] ) action: [ (command.Pipeline children: [ (C {($ Id.VSub_DollarName file) <.run>}) (C {<adbgen3>}) (command.Simple words: [{<adbgen4>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (C {($ Id.VSub_DollarName DEBUG)} {<rm>} {<-f>} {($ Id.VSub_DollarName file) <.run>} {($ Id.VSub_DollarName file) <.adb.C>} {($ Id.VSub_DollarName file) <.adb.c>} {($ Id.VSub_DollarName file) <.adb.o>} ) ] spids: [436 492] ) ] else_action: [ (C {($ Id.VSub_DollarName DEBUG)} {<rm>} {<-f>} {($ Id.VSub_DollarName file) <.run>} {($ Id.VSub_DollarName file) <.adb.C>} {($ Id.VSub_DollarName file) <.adb.c>} {($ Id.VSub_DollarName file) <.adb.o>} ) (C {<echo>} {<compile>} {<failed>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] ) ] spids: [414 433] ) ] else_action: [ (C {($ Id.VSub_DollarName DEBUG)} {<rm>} {<-f>} {($ Id.VSub_DollarName file) <.adb.C>}) (C {<echo>} {<adbgen1>} {<failed>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] ) ] ) redirects: [] ) ] )