(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (FunctionDef main [] (Com {[LIT_CHARS echo]} {[SQ ]} ) ) (FunctionDef toys [] (Pipeline (Com {[LIT_CHARS grep]} {[SQ ]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS TOYFLAG_NOFORK]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[DQ [LIT_CHARS "0))"]]} ) ) ) (FunctionDef toys_with_source [] (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -l]} {[SQ ]} {[LIT_CHARS toys/] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS .c]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} ) (Com {[LIT_CHARS sort]} ) ) ) (FunctionDef toys_with_tests [] (Pipeline (Com {[LIT_CHARS ls]} {[LIT_CHARS tests/] [LIT_OTHER "*"] [LIT_CHARS .test]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} ) ) ) (FunctionDef audit [] (List (Pipeline (Com {[LIT_CHARS make]} {[LIT_CHARS list]} ) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS generated/with-config.txt]} "> 1), > ) ) (Com {[LIT_CHARS toys_with_tests]} < (FilenameRedirectNode filename={[LIT_CHARS generated/with-tests.txt]} "> 1), > ) (Com {[LIT_CHARS toys_with_source]} < (FilenameRedirectNode filename={[LIT_CHARS generated/with-source.txt]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[LIT_CHARS generated/with-source.txt]} {[LIT_CHARS generated/with-tests.txt]} ) (Com {[LIT_CHARS true]} ) ) (Com {[LIT_CHARS wc]} {[LIT_CHARS -l]} {[LIT_CHARS generated/with-] [LIT_OTHER "*"] [LIT_CHARS .txt]} ) ) ) (Com {[DQ [VarSub @]]} ) )