(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:n_args spids:[59]) op: Equal rhs: {(10000)} spids: [59] ) ] spids: [59] ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 82 stdin_parts: [ ('#include <stdio.h>\n') ('#include <mcheck.h>\n') ('\n') ('/*\n') (' Compile do_test without optimization: GCC 4.9/5.0/6.0 takes a long time\n') (' to build this source. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67396 */\n') ('\n') ('__attribute__ ((optimize ("-O0")))\n') ('int do_test (void)\n') ('{\n') (' mtrace ();\n') (' printf (\n') ] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:j spids:[87]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike j>) right: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithWord w:{($ VSub_DollarName '$n_args')}) right: (arith_expr.ArithWord w:{(Lit_Digits 10)}) ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:j spids:[105]) ) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:k spids:[117]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike k>) right: (arith_expr.ArithWord w:{(Lit_Digits 10)}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:k spids:[131]) ) body: (command.DoGroup children: [ (C {(printf)} {(SQ <'"%%%d$s" '>)} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithBinary op_id: Arith_Star left: (arith_expr.ArithWord w:{(Lit_Digits 10)}) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$j')}) ) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$k')}) ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [146 161] ) } ) ] spids: [137 164] ) ) (C {(printf)} {(DQ (Lit_Other '\\') (n))}) ] spids: [111 174] ) ) (C {(printf)} {(SQ <'"%%%d$s",\\n'>)} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{($ VSub_DollarName '$n_args')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [183 190] ) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:j spids:[196]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike j>) right: (arith_expr.ArithBinary op_id: Arith_Slash left: (arith_expr.ArithWord w:{($ VSub_DollarName '$n_args')}) right: (arith_expr.ArithWord w:{(Lit_Digits 10)}) ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:j spids:[214]) ) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:k spids:[226]) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike k>) right: (arith_expr.ArithWord w:{(Lit_Digits 10)}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:k spids:[240]) ) body: (command.DoGroup children:[(C {(printf)} {(SQ <'"a", '>)})] spids:[246 256]) ) (C {(printf)} {(DQ (' /* %4d */') (Lit_Other '\\') (n))} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithBinary op_id: Arith_Star left: (arith_expr.ArithWord w:{(Lit_Digits 10)}) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$j')}) ) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$k')}) ) spids: [267 278] ) } ) ] spids: [220 280] ) ) (C {(printf)} {(SQ <'"\\\\n");'>)}) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 305 stdin_parts: [ ('\n') (' return 0;\n') ('}\n') ('\n') ('#define TEST_FUNCTION do_test ()\n') ('#include "../test-skeleton.c"\n') ('\n') ] ) ] ) ] )