(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$KBUILD_VERBOSE'))} {<Id.Lit_Equals '='>} {(DQ <1>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<set>} {<-x>})] spids: [25 42] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ignore) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$RCS_FIND_IGNORE'))}) (C {<sed>} {(SQ <'s|\\\\||g'>)}) ] negated: F ) ) ) } spids: [55] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ignore) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$ignore') <' ( -name *.mod.c ) -prune -o'>)} spids: [78] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name KBUILD_SRC))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tree) op: assign_op.Equal rhs: (word.Empty) spids: [115] ) ] ) ] spids: [94 112] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tree) op: assign_op.Equal rhs: {(${ Id.VSub_Name srctree) <'/'>} spids: [120] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ignore) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$ignore') <' ( -path '> (${ Id.VSub_Name tree) <'tools ) -prune -o'> ) } spids: [132] ) ] ) (command.ShFunction name: find_all_archs body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ALLSOURCE_ARCHS) op: assign_op.Equal rhs: {(DQ )} spids: [153] ) ] ) (command.ForEach iter_name: arch iter_words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<ls>} {(${ Id.VSub_Name tree) <arch>}) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ALLSOURCE_ARCHS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ALLSOURCE_ARCHS) <' '>) (braced_var_sub token: <Id.VSub_Name arch> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>)} ) ) } spids: [179] ) ] ) ] ) ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ALLSOURCE_ARCHS))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ALLSOURCE_ARCHS) op: assign_op.Equal rhs: {(${ Id.VSub_Name SRCARCH)} spids: [222] ) ] ) ] spids: [201 219] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ALLSOURCE_ARCHS))} {<Id.Lit_Equals '='>} {(DQ <all>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<find_all_archs>})] spids: [227 246] ) ] ) (command.ShFunction name: find_arch_sources body: (BraceGroup children: [ (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$archincludedir')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prune) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$prune') <' -wholename '> ($ Id.VSub_DollarName '$i') <' -prune -o'> ) } spids: [276] ) ] ) ] ) ) (command.Sentence child: (C {<find>} {(${ Id.VSub_Name tree) <'arch/'> ($ Id.VSub_Number '$1')} {($ Id.VSub_DollarName '$ignore')} {($ Id.VSub_DollarName '$subarchprune')} {($ Id.VSub_DollarName '$prune')} {<-name>} {(DQ ($ Id.VSub_Number '$2'))} {<-not>} {<-type>} {<l>} {<-print>} ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: find_arch_include_sources body: (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:include) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {(${ Id.VSub_Name tree) <'arch/'> ($ Id.VSub_Number '$1') <'/'>} {($ Id.VSub_DollarName '$subarchprune')} {<-name>} {<include>} {<-type>} {<d>} {<-print>} ) ) } spids: [332] ) ] ) terminator: <Id.Op_Semi _> ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$include'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:archincludedir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$archincludedir') <' '> ($ Id.VSub_DollarName '$include') ) } spids: [376] ) ] ) (command.Sentence child: (C {<find>} {($ Id.VSub_DollarName '$include')} {($ Id.VSub_DollarName '$ignore')} {<-name>} {(DQ ($ Id.VSub_Number '$2'))} {<-not>} {<-type>} {<l>} {<-print>} ) terminator: <Id.Op_Semi _> ) ] spids: [360 373] ) ] ) ] ) ) (command.ShFunction name: find_include_sources body: (BraceGroup children: [ (command.Sentence child: (C {<find>} {(${ Id.VSub_Name tree) <include>} {($ Id.VSub_DollarName '$ignore')} {<-name>} {<config>} {<-prune>} {<-o>} {<-name>} {(DQ ($ Id.VSub_Number '$1'))} {<-not>} {<-type>} {<l>} {<-print>} ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: find_other_sources body: (BraceGroup children: [ (command.Sentence child: (C {<find>} {(${ Id.VSub_Name tree) <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$ignore')} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>)} {<-name>} {<include>} {<-o>} {<-name>} {<arch>} {<-o>} {<-name>} {(SQ <'.tmp_*'>)} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>)} {<-prune>} {<-o>} {<-name>} {(DQ ($ Id.VSub_Number '$1'))} {<-not>} {<-type>} {<l>} {<-print>} ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: find_sources body: (BraceGroup children: [(C {<find_arch_sources>} {($ Id.VSub_Number '$1')} {(DQ ($ Id.VSub_Number '$2'))})] ) ) (command.ShFunction name: all_sources body: (BraceGroup children: [ (C {<find_arch_include_sources>} {(${ Id.VSub_Name SRCARCH)} {(SQ <'*.[chS]'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$archinclude'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<find_arch_include_sources>} {($ Id.VSub_DollarName '$archinclude')} {(SQ <'*.[chS]'>)} ) ] spids: [564 579] ) ] ) (C {<find_include_sources>} {(SQ <'*.[chS]'>)}) (command.ForEach iter_name: arch iter_words: [{($ Id.VSub_DollarName '$ALLSOURCE_ARCHS')}] do_arg_iter: F body: (command.DoGroup children: [(C {<find_sources>} {($ Id.VSub_DollarName '$arch')} {(SQ <'*.[chS]'>)})] ) ) (C {<find_other_sources>} {(SQ <'*.[chS]'>)}) ] ) ) (command.ShFunction name: all_compiled_sources body: (BraceGroup children: [ (command.ForEach iter_name: i iter_words: [ {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<all_sources>}))} ] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$i'))} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <.> <Id.Lit_LBracket '['> <cS> <Id.Lit_RBracket ']'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:j) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name i> suffix_op: (suffix_op.PatSub pat: { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\.'> ) <'[cS]'> } replace: { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\.'> ) <o> } replace_mode: Id.Undefined_Tok ) ) } spids: [672] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName '$j')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {($ Id.VSub_DollarName '$i')})] spids: [684 695] ) ] ) ] spids: [664 669 706 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<echo>} {($ Id.VSub_DollarName '$i')})] spids: [709 710 718 -1] ) ] ) ] ) ) ] ) ) (command.ShFunction name: all_target_sources body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$COMPILED_SOURCE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<all_compiled_sources>})] spids: [736 749] ) ] else_action: [(C {<all_sources>})] ) ] ) ) (command.ShFunction name: all_kconfigs body: (BraceGroup children: [ (command.ForEach iter_name: arch iter_words: [{($ Id.VSub_DollarName '$ALLSOURCE_ARCHS')}] do_arg_iter: F body: (command.DoGroup children: [(C {<find_sources>} {($ Id.VSub_DollarName '$arch')} {(SQ <'Kconfig*'>)})] ) ) (C {<find_other_sources>} {(SQ <'Kconfig*'>)}) ] ) ) (command.ShFunction name: docscope body: (BraceGroup children: [ (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {<echo>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\-'>) <k>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<echo>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\-'>) <q>}) terminator: <Id.Op_Semi _> ) (C {<all_target_sources>}) ] ) redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<cscope.files>})] ) (C {<cscope>} {<-b>} {<-f>} {<cscope.out>}) ] ) ) (command.ShFunction name: dogtags body: (BraceGroup children: [ (command.Pipeline children: [(C {<all_target_sources>}) (C {<gtags>} {<-i>} {<-f>} {<->})] negated: F ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regex_asm) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(SQ <'/^\\(ENTRY\\|_GLOBAL\\)(\\([[:alnum:]_\\\\]*\\)).*/\\2/'>)}] ) } spids: [891] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regex_c) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(SQ <'/^SYSCALL_DEFINE[0-9](\\([[:alnum:]_]*\\).*/sys_\\1/'>)} {(SQ <'/^COMPAT_SYSCALL_DEFINE[0-9](\\([[:alnum:]_]*\\).*/compat_sys_\\1/'>)} {(SQ <'/^TRACE_EVENT(\\([[:alnum:]_]*\\).*/trace_\\1/'>)} {(SQ <'/^TRACE_EVENT(\\([[:alnum:]_]*\\).*/trace_\\1_rcuidle/'>)} {(SQ <'/^DEFINE_EVENT([^,)]*, *\\([[:alnum:]_]*\\).*/trace_\\1/'>)} {(SQ <'/^DEFINE_EVENT([^,)]*, *\\([[:alnum:]_]*\\).*/trace_\\1_rcuidle/'>)} {(SQ <'/^DEFINE_INSN_CACHE_OPS(\\([[:alnum:]_]*\\).*/get_\\1_slot/'>)} {(SQ <'/^DEFINE_INSN_CACHE_OPS(\\([[:alnum:]_]*\\).*/free_\\1_slot/'>)} {(SQ <'/^PAGEFLAG(\\([[:alnum:]_]*\\).*/Page\\1/'>)} {(SQ <'/^PAGEFLAG(\\([[:alnum:]_]*\\).*/SetPage\\1/'>)} {(SQ <'/^PAGEFLAG(\\([[:alnum:]_]*\\).*/ClearPage\\1/'>)} {(SQ <'/^TESTSETFLAG(\\([[:alnum:]_]*\\).*/TestSetPage\\1/'>)} {(SQ <'/^TESTPAGEFLAG(\\([[:alnum:]_]*\\).*/Page\\1/'>)} {(SQ <'/^SETPAGEFLAG(\\([[:alnum:]_]*\\).*/SetPage\\1/'>)} {(SQ <'/\\<__SETPAGEFLAG(\\([[:alnum:]_]*\\).*/__SetPage\\1/'>)} {(SQ <'/\\<TESTCLEARFLAG(\\([[:alnum:]_]*\\).*/TestClearPage\\1/'>)} {(SQ <'/\\<__TESTCLEARFLAG(\\([[:alnum:]_]*\\).*/TestClearPage\\1/'>)} {(SQ <'/\\<CLEARPAGEFLAG(\\([[:alnum:]_]*\\).*/ClearPage\\1/'>)} {(SQ <'/\\<__CLEARPAGEFLAG(\\([[:alnum:]_]*\\).*/__ClearPage\\1/'>)} {(SQ <'/^__PAGEFLAG(\\([[:alnum:]_]*\\).*/__SetPage\\1/'>)} {(SQ <'/^__PAGEFLAG(\\([[:alnum:]_]*\\).*/__ClearPage\\1/'>)} {(SQ <'/^PAGEFLAG_FALSE(\\([[:alnum:]_]*\\).*/Page\\1/'>)} {(SQ <'/\\<TESTSCFLAG(\\([[:alnum:]_]*\\).*/TestSetPage\\1/'>)} {(SQ <'/\\<TESTSCFLAG(\\([[:alnum:]_]*\\).*/TestClearPage\\1/'>)} {(SQ <'/\\<SETPAGEFLAG_NOOP(\\([[:alnum:]_]*\\).*/SetPage\\1/'>)} {(SQ <'/\\<CLEARPAGEFLAG_NOOP(\\([[:alnum:]_]*\\).*/ClearPage\\1/'>)} {(SQ <'/\\<__CLEARPAGEFLAG_NOOP(\\([[:alnum:]_]*\\).*/__ClearPage\\1/'>)} {(SQ <'/\\<TESTCLEARFLAG_FALSE(\\([[:alnum:]_]*\\).*/TestClearPage\\1/'>)} {(SQ <'/^PAGE_MAPCOUNT_OPS(\\([[:alnum:]_]*\\).*/Page\\1/'>)} {(SQ <'/^PAGE_MAPCOUNT_OPS(\\([[:alnum:]_]*\\).*/__SetPage\\1/'>)} {(SQ <'/^PAGE_MAPCOUNT_OPS(\\([[:alnum:]_]*\\).*/__ClearPage\\1/'>)} {(SQ <'/^TASK_PFA_TEST([^,]*, *\\([[:alnum:]_]*\\))/task_\\1/'>)} {(SQ <'/^TASK_PFA_SET([^,]*, *\\([[:alnum:]_]*\\))/task_set_\\1/'>)} {(SQ <'/^TASK_PFA_CLEAR([^,]*, *\\([[:alnum:]_]*\\))/task_clear_\\1/'>)} {(SQ <'/^DEF_MMIO_\\(IN\\|OUT\\)_[XD](\\([[:alnum:]_]*\\),[^)]*)/\\2/'>)} {(SQ <'/^DEBUGGER_BOILERPLATE(\\([[:alnum:]_]*\\))/\\1/'>)} {(SQ <'/^DEF_PCI_AC_\\(\\|NO\\)RET(\\([[:alnum:]_]*\\).*/\\2/'>)} {(SQ <'/^PCI_OP_READ(\\(\\w*\\).*[1-4])/pci_bus_read_config_\\1/'>)} {(SQ <'/^PCI_OP_WRITE(\\(\\w*\\).*[1-4])/pci_bus_write_config_\\1/'>)} {(SQ <'/\\<DEFINE_\\(MUTEX\\|SEMAPHORE\\|SPINLOCK\\)(\\([[:alnum:]_]*\\)/\\2/v/'>)} { (SQ < '/\\<DEFINE_\\(RAW_SPINLOCK\\|RWLOCK\\|SEQLOCK\\)(\\([[:alnum:]_]*\\)/\\2/v/' > ) } {(SQ <'/\\<DECLARE_\\(RWSEM\\|COMPLETION\\)(\\([[:alnum:]_]\\+\\)/\\2/v/'>)} {(SQ <'/\\<DECLARE_BITMAP(\\([[:alnum:]_]*\\)/\\1/v/'>)} {(SQ <'/\\(^\\|\\s\\)\\(\\|L\\|H\\)LIST_HEAD(\\([[:alnum:]_]*\\)/\\3/v/'>)} {(SQ <'/\\(^\\|\\s\\)RADIX_TREE(\\([[:alnum:]_]*\\)/\\2/v/'>)} {(SQ <'/\\<DEFINE_PER_CPU([^,]*, *\\([[:alnum:]_]*\\)/\\1/v/'>)} {(SQ <'/\\<DEFINE_PER_CPU_SHARED_ALIGNED([^,]*, *\\([[:alnum:]_]*\\)/\\1/v/'>)} {(SQ <'/\\<DECLARE_WAIT_QUEUE_HEAD(\\([[:alnum:]_]*\\)/\\1/v/'>)} { (SQ <'/\\<DECLARE_\\(TASKLET\\|WORK\\|DELAYED_WORK\\)(\\([[:alnum:]_]*\\)/\\2/v/'> ) } {(SQ <'/\\(^\\s\\)OFFSET(\\([[:alnum:]_]*\\)/\\2/v/'>)} {(SQ <'/\\(^\\s\\)DEFINE(\\([[:alnum:]_]*\\)/\\2/v/'>)} {(SQ <'/\\<DEFINE_HASHTABLE(\\([[:alnum:]_]*\\)/\\1/v/'>)} ] ) } spids: [901] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regex_kconfig) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(SQ <'/^[[:blank:]]*\\(menu\\|\\)config[[:blank:]]\\+\\([[:alnum:]_]\\+\\)/\\2/'>)} { (SQ < '/^[[:blank:]]*\\(menu\\|\\)config[[:blank:]]\\+\\([[:alnum:]_]\\+\\)/CONFIG_\\2/' > ) } ] ) } spids: [1166] ) ] ) (command.ShFunction name: setup_regex body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'mode='> ($ Id.VSub_Number '$1')} {<lang>} {<Id.Lit_VarLike 'tmp='> (sh_array_literal left:<Id.Op_LParen _>)} {<r>} ) (C {<shift>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:regex) op: assign_op.Equal rhs: {(sh_array_literal left:<Id.Op_LParen _>)} spids: [1206] ) ] ) (command.ForEach iter_name: lang do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$lang'))} arms: [ (case_arm pat_list: [{<asm>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ (braced_var_sub token: <Id.VSub_Name regex_asm> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] ) } spids: [1231] ) ] ) ] spids: [1228 1229 1243 -1] ) (case_arm pat_list: [{<c>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ (braced_var_sub token: <Id.VSub_Name regex_c> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] ) } spids: [1249] ) ] ) ] spids: [1246 1247 1261 -1] ) (case_arm pat_list: [{<kconfig>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ (braced_var_sub token: <Id.VSub_Name regex_kconfig> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] ) } spids: [1267] ) ] ) ] spids: [1264 1265 1279 -1] ) ] ) (command.ForEach iter_name: r iter_words: [ { (DQ (braced_var_sub token: <Id.VSub_Name tmp> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {(DQ ($ Id.VSub_DollarName '$mode'))} {<Id.Lit_Equals '='>} {(DQ <exuberant>)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: regex index: { (braced_var_sub token: <Id.VSub_Name regex> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id: Id.Lit_At ) ) } ) op: assign_op.Equal rhs: { (DQ <--regex-> ($ Id.VSub_DollarName '$lang') <'='> (${ Id.VSub_Name r) <b> ) } spids: [1322] ) ] ) ] spids: [1304 1319] ) ] else_action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$r'))} arms: [ (case_arm pat_list: [ {<'/'> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'> <'/'> <Id.Lit_QMark '?'> <'/'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name r> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Other '?'> <Id.Lit_Slash '/'>} ) ) } spids: [1376] ) ] ) ] spids: [1366 1373 -1 1385] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$r'))} arms: [ (case_arm pat_list: [{<'/'> <Id.Lit_Other '^'> <Id.Lit_Star '*'>}] spids: [1401 1404 1406 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: { (DQ <'/^[^#]*'> (braced_var_sub token: <Id.VSub_Name r> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Slash '/'>} ) ) ) } spids: [1413] ) ] ) ] spids: [1409 1410 -1 1424] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: regex index: { (braced_var_sub token: <Id.VSub_Name regex> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) op: assign_op.Equal rhs: {(DQ <'--regex='> ($ Id.VSub_DollarName '$r'))} spids: [1427] ) ] ) ] ) ] ) ) ] ) ) ] ) ) (command.ShFunction name: exuberant body: (BraceGroup children: [ (C {<setup_regex>} {<exuberant>} {<asm>} {<c>}) (command.Pipeline children: [ (C {<all_target_sources>}) (C {<xargs>} {($ Id.VSub_Number '$1')} {<-a>} {<-I>} {<__initdata> <Id.Lit_Comma ','> <__exitdata> <Id.Lit_Comma ','> <__initconst> <Id.Lit_Comma ','> } {<-I>} {<__initdata_memblock>} {<-I>} {<__refdata> <Id.Lit_Comma ','> <__attribute> <Id.Lit_Comma ','> <__maybe_unused> <Id.Lit_Comma ','> <__always_unused> } {<-I>} {<__acquires> <Id.Lit_Comma ','> <__releases> <Id.Lit_Comma ','> <__deprecated>} {<-I>} {<__read_mostly> <Id.Lit_Comma ','> <__aligned> <Id.Lit_Comma ','> <____cacheline_aligned> } {<-I>} {<____cacheline_aligned_in_smp>} {<-I>} {<__cacheline_aligned> <Id.Lit_Comma ','> <__cacheline_aligned_in_smp>} {<-I>} {<____cacheline_internodealigned_in_smp>} {<-I>} {<__used> <Id.Lit_Comma ','> <__packed> <Id.Lit_Comma ','> <__packed2__> <Id.Lit_Comma ','> <__must_check> <Id.Lit_Comma ','> <__must_hold> } {<-I>} {<EXPORT_SYMBOL> <Id.Lit_Comma ','> <EXPORT_SYMBOL_GPL> <Id.Lit_Comma ','> <ACPI_EXPORT_SYMBOL>} {<-I>} {<DEFINE_TRACE> <Id.Lit_Comma ','> <EXPORT_TRACEPOINT_SYMBOL> <Id.Lit_Comma ','> <EXPORT_TRACEPOINT_SYMBOL_GPL> } {<-I>} {<static> <Id.Lit_Comma ','> <Id.KW_Const const>} {<--extra> <Id.Lit_Equals '='> <Id.Lit_Other '+'> <f>} {<--c-kinds> <Id.Lit_Equals '='> <Id.Lit_Other '+'> <px>} {<--langmap> <Id.Lit_Equals '='> <c> <Id.Lit_Colon ':'> <Id.Lit_Other '+'> <.h>} {(DQ (braced_var_sub token:<Id.VSub_Name regex> bracket_op:(bracket_op.WholeArray op_id:Id.Lit_At)))} ) ] negated: F ) (C {<setup_regex>} {<exuberant>} {<kconfig>}) (command.Pipeline children: [ (C {<all_kconfigs>}) (C {<xargs>} {($ Id.VSub_Number '$1')} {<-a>} {<--langdef> <Id.Lit_Equals '='> <kconfig>} {<--language-force> <Id.Lit_Equals '='> <kconfig>} {(DQ (braced_var_sub token:<Id.VSub_Name regex> bracket_op:(bracket_op.WholeArray op_id:Id.Lit_At)))} ) ] negated: F ) ] ) ) (command.ShFunction name: emacs body: (BraceGroup children: [ (C {<setup_regex>} {<emacs>} {<asm>} {<c>}) (command.Pipeline children: [ (C {<all_target_sources>}) (C {<xargs>} {($ Id.VSub_Number '$1')} {<-a>} { (DQ (braced_var_sub token: <Id.VSub_Name regex> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ) ] negated: F ) (C {<setup_regex>} {<emacs>} {<kconfig>}) (command.Pipeline children: [ (C {<all_kconfigs>}) (C {<xargs>} {($ Id.VSub_Number '$1')} {<-a>} { (DQ (braced_var_sub token: <Id.VSub_Name regex> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ) ] negated: F ) ] ) ) (command.ShFunction name: xtags body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_Number '$1')} {<--version>}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<grep>} {<-iq>} {<exuberant>}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<exuberant>} {($ Id.VSub_Number '$1')})] spids: [1741 1759] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_Number '$1')} {<--version>}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<grep>} {<-iq>} {<emacs>}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<emacs>} {($ Id.VSub_Number '$1')})] spids: [1767 1785] ) ] else_action: [ (command.Pipeline children: [(C {<all_target_sources>}) (C {<xargs>} {($ Id.VSub_Number '$1')} {<-a>})] negated: F ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ARCH))} {<Id.Lit_Equals '='>} {(DQ <um>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$SUBARCH'))} {<Id.Lit_Equals '='>} {(DQ <i386>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:archinclude) op: assign_op.Equal rhs: {<x86>} spids: [1857] ) ] ) ] spids: [1837 1854] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$SUBARCH'))} {<Id.Lit_Equals '='>} {(DQ <x86_64>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:archinclude) op: assign_op.Equal rhs: {<x86>} spids: [1881] ) ] ) ] spids: [1861 1878] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:archinclude) op: assign_op.Equal rhs: {(${ Id.VSub_Name SUBARCH)} spids: [1888] ) ] ) ] ) ] spids: [1815 1834] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SRCARCH))} {<Id.Lit_Equals '='>} {(DQ <arm>)} {<-a>} {(DQ (${ Id.VSub_Name SUBARCH))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subarchdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {(${ Id.VSub_Name tree) <'arch/'> ($ Id.VSub_DollarName '$SRCARCH') <'/'> } {<-name>} {(DQ <'mach-*'>)} {<-type>} {<d>} {<-o>} {<-name>} {(DQ <'plat-*'>)} {<-type>} {<d>} ) ) } spids: [1932] ) ] ) terminator: <Id.Op_Semi _> ) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$subarchdir')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$i'))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> (DQ <mach->) (${ Id.VSub_Name SUBARCH)}] spids: [1991 1998 2001 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> (DQ <plat->) (${ Id.VSub_Name SUBARCH)}] spids: [2004 2011 2014 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subarchprune) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$subarchprune') <' '> <'\t\t\t\t\t\t-wholename '> ($ Id.VSub_DollarName '$i') <' -prune -o'> ) } spids: [2021] ) ] ) ] spids: [2017 2018 2032 -1] ) ] ) ] ) ) ] spids: [1896 1929] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:remove_structs) op: assign_op.Equal rhs: (word.Empty) spids: [2043] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(DQ <cscope>)}] action: [(C {<docscope>})] spids: [2054 2057 2063 -1] ) (case_arm pat_list: [{(DQ <gtags>)}] action: [(C {<dogtags>})] spids: [2067 2070 2076 -1] ) (case_arm pat_list: [{(DQ <tags>)}] action: [ (C {<rm>} {<-f>} {<tags>}) (C {<xtags>} {<ctags>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:remove_structs) op: assign_op.Equal rhs: {<y>} spids: [2098] ) ] ) ] spids: [2080 2083 2102 -1] ) (case_arm pat_list: [{(DQ <TAGS>)}] action: [ (C {<rm>} {<-f>} {<TAGS>}) (C {<xtags>} {<etags>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:remove_structs) op: assign_op.Equal rhs: {<y>} spids: [2124] ) ] ) ] spids: [2106 2109 2128 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$remove_structs'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<sed>} {<-i>} {<-e>} {(SQ <'/^\\([a-zA-Z_][a-zA-Z0-9_]*\\)\\t.*\\t\\/\\^struct \\1;.*\\$\\/;"\\tx$/d'>)} {($ Id.VSub_Number '$1')} ] more_env: [(env_pair name:LANG val:{<C>} spids:[2152])] do_fork: T ) ] spids: [2136 2149] ) ] ) ] )