(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:CC span_id:18) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {(DQ ('./xgcc -B') ($ Id.VSub_Number '$1') (/))} ) ) } spids: [16] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPP) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:CPP span_id:29) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:31) command_list: (command.CommandList children: [ (C {(echo)} {(${ Id.VSub_Name CC)} {(-E)} {(-I) (DQ ($ Id.VSub_Number '$1') (/))} ) ] ) ) } ) ) } spids: [27] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:SED) op:assign_op.Equal rhs:{(sed)} spids:[50])] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:69) fd: -1 arg_word: {(st-dummy.c)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:72) fd: -1 here_begin: {(Id.KW_Bang '!') (EOF) (Id.KW_Bang '!')} here_end_span_id: 92 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('#include <stdarg.h>\n') ('#include <stdio.h>\n') ('#include <time.h>\n') ('#include <signal.h>\n') ('#ifdef size_t\n') ('typedef size_t Xsize_t;\n') ('#elif defined(__SIZE_TYPE__)\n') ('typedef __SIZE_TYPE__ Xsize_t;\n') ('#endif\n') ('#ifdef va_list\n') ('typedef va_list XXXva_list;\n') ('#endif\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(${ Id.VSub_Name CPP)} {(st-dummy.c)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:102) fd: -1 arg_word: {(TMP)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:105) ) ] action: [(C {(true)})] spids: [94 107] ) ] else_action: [ (command.Sentence child: (command.Simple words: [ {(echo)} {(DQ ('scan-types: could not invoke ') (${ Id.VSub_Name CPP) (' on st-dummy.c'))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:124) fd: 1 arg_word: {(2)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:127) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:129) arg_word: {(1)} ) ] ) (command.Simple words: [ {(tr)} {(SQ (Token id:Id.Lit_Chars val:'\t' span_id:138))} {(SQ (Token id:Id.Lit_Chars val:' ' span_id:142))} ] redirects: [ (redir.Redir op:(Token id:Id.Redir_Less val:'<' span_id:145) fd:-1 arg_word:{(TMP)}) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:148) fd: -1 arg_word: {(st-dummy.out)} ) ] ) (command.ForEach iter_name: TYPE iter_words: [ {(dev_t)} {(clock_t)} {(fpos_t)} {(gid_t)} {(ino_t)} {(mode_t)} {(nlink_t)} {(off_t)} {(pid_t)} {(size_t)} {(ssize_t)} {(time_t)} {(uid_t)} {(va_list)} {(int32_t)} {(uint_32_t)} ] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IMPORTED) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:196) command_list: (command.CommandList children: [ (C {(eval)} {(SQ (Token id:Id.Lit_Chars val:'echo $' span_id:202)) (DQ ($ Id.VSub_DollarName '$TYPE')) } ) ] ) ) } spids: [195] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ (${ Id.VSub_Name IMPORTED))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:224) ) ] action: [ (C {(eval)} {(DQ ($ Id.VSub_DollarName '$TYPE') ("='") ($ Id.VSub_DollarName '$IMPORTED'))} ) ] spids: [210 226] ) ] else_action: [ (C {(rm)} {(-f)} {(TMP)}) (command.Simple words: [ {(${ Id.VSub_Name SED)} {(-n)} {(-e)} { (DQ ('s|.*typedef *') (Id.Lit_Other '\\') ('(.*') (Id.Lit_Other '\\') (') X*') ($ Id.VSub_DollarName '$TYPE') (' *;.*|') (Id.Lit_Other '\\') ('1|w TMP') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:276) fd: -1 arg_word: {(st-dummy.out)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:278) fd: -1 arg_word: {(/dev/null)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-s)} {(TMP)} {(Id.Lit_RBracket ']')}) terminator: (Token id:Id.Op_Semi val:';' span_id:295) ) ] action: [ (C {(eval)} { (DQ ("VALUE='") (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:308) command_list: (command.CommandList children: [ (command.Simple words: [ {(${ Id.VSub_Name SED)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s| *$||' span_id:318))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'2,$d' span_id:324))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:327) fd: -1 arg_word: {(TMP)} ) ] ) ] ) ) ("'") ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$VALUE'))}) (command.Simple words: [{(grep)} {(DQ (' '))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:370) fd: -1 arg_word: {(/dev/null)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:373) ) ] action: [(C {(true)})] spids: [354 375] ) ] else_action: [ (C {(rm)} {(-f)} {(TMP)}) (command.Simple words: [ {(${ Id.VSub_Name SED)} {(-n)} {(-e)} { (DQ ('s|.*typedef[ \t][ \t]*') (Id.Lit_Other '\\') ('(.*[^a-zA-Z0-9_]') (Id.Lit_Other '\\') (')') (${ Id.VSub_Name VALUE) ('[ \t]*;.*|') (Id.Lit_Other '\\') ('1|w TMP') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:412) fd: -1 arg_word: {(st-dummy.out)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:414) fd: -1 arg_word: {(/dev/null)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-s)} {(TMP)} {(Id.Lit_RBracket ']')}) terminator: (Token id:Id.Op_Semi val:';' span_id:427) ) ] action: [ (C {(eval)} { (DQ ("VALUE='") (command_sub left_token: (Token id: Id.Left_Backtick val: '`' span_id: 436 ) command_list: (command.CommandList children: [ (command.Simple words: [ {(${ Id.VSub_Name SED)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: '2,$d' span_id: 446 ) ) } {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's|[ \t]*$||' span_id: 452 ) ) } ] redirects: [ (redir.Redir op: (Token id: Id.Redir_Less val: '<' span_id: 455 ) fd: -1 arg_word: {(TMP)} ) ] ) ] ) ) ("'") ) } ) ] spids: [418 429] ) ] ) ] ) (C {(eval)} { (DQ ($ Id.VSub_DollarName '$TYPE') ("='") ($ Id.VSub_DollarName '$VALUE') ("'") ) } ) ] spids: [286 297] ) ] ) ] ) ] ) ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:488) fd: -1 here_begin: {(Id.KW_Bang '!') (EOF) (Id.KW_Bang '!')} here_end_span_id: 691 stdin_parts: [ ('#define ') (${ Id.VSub_Name macro_prefix) ('clock_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:clock_t span_id:499) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('dev_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:dev_t span_id:513) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('fpos_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:fpos_t span_id:527) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('long ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('gid_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:gid_t span_id:541) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('ino_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:ino_t span_id:555) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('mode_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:mode_t span_id:569) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('nlink_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:nlink_t span_id:583) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('off_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:off_t span_id:597) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('long ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('pid_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:pid_t span_id:611) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('ptrdiff_t __PTRDIFF_TYPE__\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('size_t __SIZE_TYPE__\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('time_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:time_t span_id:635) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('uid_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:uid_t span_id:649) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('wchar_t __WCHAR_TYPE__\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('int32_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:int32_t span_id:668) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('uint32_t ') (braced_var_sub token: (Token id:Id.VSub_Name val:uint32_t span_id:682) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('unsigned int ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ] ) ] ) (C {(echo)} {(DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('wait_arg_t void'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ (${ Id.VSub_Name ssize_t))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:727) ) ] action: [ (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('ssize_t ') (${ Id.VSub_Name ssize_t)) } ) ] spids: [713 729] ) (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ (${ Id.VSub_Name size_t))} {(Id.Lit_RBracket ']')}) terminator: (Token id:Id.Op_Semi val:';' span_id:759) ) ] action: [(C {(echo)} {(DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('ssize_t long'))})] spids: [745 761] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:783) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(${ Id.VSub_Name size_t)}) (C {(${ Id.VSub_Name SED)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s|unsigned||g' span_id:801))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s| | |g' span_id:807))} ) ] negated: F ) ] ) ) ) } spids: [781] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$tmp'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:825) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: {(int)} spids: [830] ) ] ) ] spids: [813 827] ) ] else_action: [ (command.Simple words: [ {(echo)} { (DQ ('#include <unistd.h>\n') ('\textern ') ($ Id.VSub_DollarName '$tmp') (' read();')) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:850) fd: -1 arg_word: {(st-dummy.c)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(${ Id.VSub_Name CC)} {(-c)} {(st-dummy.c)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:862) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:865) fd: 2 arg_word: {(1)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmp) op: assign_op.Equal rhs: {(int)} spids: [870] ) ] ) ] ) ] ) (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('ssize_t ') ($ Id.VSub_DollarName '$tmp') (' /* default */') ) } ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:900) fd: -1 arg_word: {(st-dummy.c)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:903) fd: -1 here_begin: {(Id.KW_Bang '!') (EOF) (Id.KW_Bang '!')} here_end_span_id: 924 stdin_parts: [ ('#define X_va_list ') (braced_var_sub token: (Token id:Id.VSub_Name val:va_list span_id:910) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('char* ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ('\n') ('extern long foo(X_va_list ap); /* Check that X_va_list compiles on its own */\n') ('#include <stdarg.h>\n') ('long foo(X_va_list ap) { return va_arg(ap, long); }\n') ('long bar(int i, ...)\n') ('{ va_list ap; long j; va_start(ap, i); j = foo(ap); va_end(ap); return j; }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(${ Id.VSub_Name CC)} {(-c)} {(st-dummy.c)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:935) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:938) fd: 2 arg_word: {(1)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:941) ) ] action: [ (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('va_list ') (braced_var_sub token: (Token id:Id.VSub_Name val:va_list span_id:959) suffix_op: (suffix_op.Unary op_id: Id.VTest_Hyphen arg_word: {('char* ') (Id.Lit_Slash /) ('* default *') (Id.Lit_Slash /)} ) ) ) } ) ] spids: [925 943] ) ] else_action: [ (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name macro_prefix) ('NEED_STDARG_H\n') ('#define ') (${ Id.VSub_Name macro_prefix) ('va_list va_list') ) } ) ] ) (C {(echo)} {(DQ ('#define chtype int'))}) (C {(echo)} {(DQ ('#define box32 box'))}) (C {(echo)} {(DQ ('#define initscr32 initscr'))}) (C {(echo)} {(DQ ('#define w32addch waddch'))}) (C {(echo)} {(DQ ('#define w32insch winsch'))}) (C {(rm)} {(-f)} {(st-dummy.c)} {(st-dummy.o)} {(TMP)} {(st-dummy.out)}) ] )