(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:out) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [3] ) ] ) (C {(shift)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:in) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_At '$@'))} spids: [10] ) ] ) (command.Pipeline children: [ (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$in')}] do_arg_iter: F body: (command.DoGroup children: [ (C {(eval)} {($ Id.VSub_DollarName '$CPP')} {($ Id.VSub_DollarName '$LINUXINCLUDE')} {(-dD)} {(-imacros)} {(DQ ($ Id.VSub_DollarName '$i'))} {(-x)} {(c)} {(/dev/null)} ) ] ) ) (C {(awk)} { (SQ (Token id: Id.Lit_Chars val: '$1 == "#define" && $2 ~ /__HYPERVISOR_[a-z][a-z_0-9]*/ { v[$3] = $2 }\n' span_id: 56 ) (Token id: Id.Lit_Chars val: '\tEND { print "/* auto-generated by scripts/xen-hypercall.sh */"\n' span_id: 57 ) (Token id:Id.Lit_Chars val:'\t\tfor (i in v) if (!(v[i] in v))\n' span_id:58) (Token id: Id.Lit_Chars val: '\t\t\tprint "HYPERCALL("substr(v[i], 14)")"}' span_id: 59 ) ) } ) (command.Simple words: [{(sort)} {(-u)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:68) fd: -1 arg_word: {($ Id.VSub_DollarName '$out')} ) ] ) ] negated: F ) ] )