(command.CommandList children: [ (C {<rm>} {<-f>} {<keyname.c>}) (command.Simple words: [ {<'/usr/bin/print'>} { (DQ <'#include\t'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <curses_inc.h> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<keyname.c>})] more_env: [] do_fork: T ) (command.Simple words: [ {<'/usr/bin/print'>} { (DQ <'static\tchar\t*keystrings[] ='> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <t> <Id.Lit_BadBackslash '\\'> <'t{'> ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<keyname.c>})] more_env: [] do_fork: T ) (command.Pipeline children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (C {<grep>} {<-v>} {(SQ <'KEY_F('>)} {<keycaps>}) (C {<awk>} {(SQ <'{ print $5, $4 }'>)}) (C {<sed>} {<-e>} {(SQ <'s/,//g'>)} {<-e>} {(SQ <'s/KEY_//'>)}) ] negated: F stderr_indices: [] ) (C {<echo>} {(SQ <'0401 BREAK\\n0530 SRESET\\n0531 RESET'>)}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (C {<sort>} {<-n>}) (command.Simple words: [ {<awk>} { (SQ <'\n'> <' {\n'> <'\tprint "\\t\\t \\"" $2 "\\",\t/* " $1 " */"\n'> <' }\n'>) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<keyname.c>})] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LAST='> name:LAST) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<tail>} {<-1>} {<keyname.c>}) (C {<awk>} {<-F> (SQ <'"'>)} {(SQ <'{print $2}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [231] ) ] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<Id.KW_Bang '!'>} here_end_span_id: 338 stdin_parts: [ <'\t\t};\n'> <'\n'> <'char\t*\n'> <'keyname(int key)\n'> <'{\n'> <'\tstatic\tchar\tbuf[16];\n'> <'\n'> <'\tif (key >= 0400) {\n'> <'\t\tint\ti;\n'> <'\n'> <'\t\tif ((key == 0400) || (key > KEY_'> (${ Id.VSub_Name LAST) <'))\n'> <'\t\t\treturn ('> <Id.Right_DoubleQuote '"'> <'UNKNOWN KEY'> <Id.Right_DoubleQuote '"'> <');\n'> <'\t\tif (key > 0507)\n'> <'\t\t\ti = key - (0401 + ((0507 - 0410) + 1));\n'> <'\t\telse\n'> <'\t\t\tif (key >= 0410) {\n'> <'\t\t\t\t(void) sprintf(buf, '> <Id.Right_DoubleQuote '"'> <'KEY_F(%d)'> <Id.Right_DoubleQuote '"'> <', key - 0410);\n'> <'\t\t\t\tgoto ret_buf;\n'> <'\t\t\t} else\n'> <'\t\t\t\ti = key - 0401;\n'> <'\t\t(void) sprintf(buf, '> <Id.Right_DoubleQuote '"'> <'KEY_%s'> <Id.Right_DoubleQuote '"'> <', keystrings[i]);\n'> <'\t\tgoto ret_buf;\n'> <'\t}\n'> <'\n'> <'\tif (key >= 0200) {\n'> <'#ifdef SYSV\n'> <'\t\tif (SHELLTTYS.c_cflag & CS8)\n'> <'#else\t/* SYSV */\n'> <'\t\tif (SHELLTTY.c_cflag & CS8)\n'> <'#endif\t/* SYSV */\n'> <'\t\t\t(void) sprintf(buf, '> <Id.Right_DoubleQuote '"'> <'%c'> <Id.Right_DoubleQuote '"'> <', key);\n'> <'\t\telse\n'> <'\t\t\t(void) sprintf(buf, '> <Id.Right_DoubleQuote '"'> <'M-%s'> <Id.Right_DoubleQuote '"'> <', unctrl(key & 0177));\n'> <'\t\tgoto ret_buf;\n'> <'\t}\n'> <'\n'> <'\tif (key < 0) {\n'> <'\t\t(void) sprintf(buf, '> <Id.Right_DoubleQuote '"'> <'%d'> <Id.Right_DoubleQuote '"'> <', key);\n'> <'ret_buf:\n'> <'\t\treturn (buf);\n'> <'\t}\n'> <'\n'> <'\treturn (unctrl(key));\n'> <'}\n'> ] ) ) (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<keyname.c>}) ] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )