(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:n_args) op: assign_op.Equal rhs: {<10000>} spids: [59] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike j> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike j> right: (arith_expr.Binary op_id: Id.Arith_Slash left: {($ Id.VSub_DollarName '$n_args')} right: {<Id.Lit_Digits 10>} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike j>) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike k> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike k> right: {<Id.Lit_Digits 10>} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike k>) body: (command.DoGroup children: [ (C {<printf>} {(SQ <'"%%%d$s" '>)} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Star left: {<Id.Lit_Digits 10>} right: {($ Id.VSub_DollarName '$j')} ) right: {($ Id.VSub_DollarName '$k')} ) right: {<Id.Lit_Digits 1>} ) ) } ) ] ) ) (C {<printf>} {(DQ <Id.Lit_BadBackslash '\\'> <n>)}) ] ) ) (C {<printf>} {(SQ <'"%%%d$s",\\n'>)} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_DollarName '$n_args')} right: {<Id.Lit_Digits 1>} ) ) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike j> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike j> right: (arith_expr.Binary op_id: Id.Arith_Slash left: {($ Id.VSub_DollarName '$n_args')} right: {<Id.Lit_Digits 10>} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike j>) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike k> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike k> right: {<Id.Lit_Digits 10>} ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike k>) body: (command.DoGroup children:[(C {<printf>} {(SQ <'"a", '>)})]) ) (C {<printf>} {(DQ <' /* %4d */'> <Id.Lit_BadBackslash '\\'> <n>)} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Star left: {<Id.Lit_Digits 10>} right: {($ Id.VSub_DollarName '$j')} ) right: {($ Id.VSub_DollarName '$k')} ) ) } ) ] ) ) (C {<printf>} {(SQ <'"\\\\n");'>)}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) ] )