(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BISON) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(bison)} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [20] ) ] ) (C {(head)} {(-n)} {(1)}) (C {(sed)} {(-e)} {(SQ <'s/^[^0-9.]*//'>)} {(-e)} {(SQ <'s/[^0-9.]*$//'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [15 46] ) } spids: [14] ) ] spids: [14] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(1)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROG_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [63 65] ) } spids: [62] ) ] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_DIR) op: Equal rhs: {($ VSub_Number '$1')} spids: [68] ) ] spids: [68] ) ] spids: [16777215 59] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROG_DIR) op:Equal rhs:{(..)} spids:[74])] spids: [74] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TEST_DIR) op:Equal rhs:{(.)} spids:[78])] spids: [78] ) ] spids: [71 81] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:THIS_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [84 86] ) } spids: [83] ) ] spids: [83] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifBTYACC) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (SimpleCommand words: [{(fgrep)} {(-l)} {(SQ <'define YYBTYACC'>)} {(config.h)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [101] ) ] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) left_token: <Left_Backtick '`'> spids: [90 119] ) } spids: [89] ) ] spids: [89] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$ifBTYACC')} {(Lit_Other '=')} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REF_DIR) op: Equal rhs: {(${ VSub_Name TEST_DIR) (/yacc)} spids: [136] ) ] spids: [136] ) ] spids: [16777215 133] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REF_DIR) op: Equal rhs: {(${ VSub_Name TEST_DIR) (/btyacc)} spids: [145] ) ] spids: [145] ) ] spids: [142 151] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MY_MAKE) op: Equal rhs: { (DQ ('make -f ') ($ VSub_Name '$PROG_DIR') ('/makefile srcdir=') ($ VSub_Name '$PROG_DIR')) } spids: [154] ) ] spids: [154] ) (FuncDef name: run_make body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:C_FILE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(DQ ($ VSub_Number '$1'))})] ) left_token: <Left_Backtick '`'> spids: [171 177] ) } spids: [170] ) ] spids: [170] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:O_FILE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(DQ ($ VSub_Name '$C_FILE'))} {(.c)})] ) left_token: <Left_Backtick '`'> spids: [181 189] ) (.o) } spids: [180] ) ] spids: [180] ) (C {(shift)}) (C {(cd)} {($ VSub_Name '$REF_DIR')}) (C {(make)} {(-f)} {($ VSub_Name '$PROG_DIR') (/makefile)} {(Lit_VarLike 'srcdir=') ($ VSub_Name '$PROG_DIR')} {($ VSub_Name '$O_FILE')} {($ VSub_Star '$*')} ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {($ VSub_Name '$O_FILE')}) (C {(rm)} {($ VSub_Name '$O_FILE')}) ] ) (C {(cd)} {($ VSub_Name '$THIS_DIR')}) ] spids: [167] ) spids: [163 166] ) (C {(echo)} {(SQ <'** '>) (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_Backtick '`'> spids: [241 243] ) } ) (C {(echo)} {(DQ ('** program is in ') ($ VSub_Name '$PROG_DIR'))}) (C {(echo)} {(DQ ('** test-files in ') ($ VSub_Name '$REF_DIR'))}) (ForEach iter_name: input iter_words: [{(${ VSub_Name REF_DIR) (/) (Lit_Other '*') (.c)}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$input')} arms: [ (case_arm pat_list: [ {(${ VSub_Name REF_DIR) (/err_) (Lit_Other '*')} {(${ VSub_Name REF_DIR) (/test-err_) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [286 299 305 16777215] ) ] spids: [276 280 308] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$input'))}) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (C {(run_make)} {(DQ ($ VSub_Name '$input'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DEFS) op:Equal rhs:{(EmptyPart)} spids:[334])] spids: [334] ) (Case to_match: {($ VSub_Name '$input')} arms: [ (case_arm pat_list: [{(${ VSub_Name REF_DIR) (/pure_) (Lit_Other '*')}] spids: [347 352 359 16777215] ) ] spids: [337 341 362] ) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ (x) ($ VSub_Name '$DEFS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (x))} ) ] action: [ (C {(run_make)} {(DQ ($ VSub_Name '$input'))} {(Lit_VarLike 'DEFINES=') (DQ ($ VSub_Name '$DEFS'))} ) ] spids: [16777215 383] ) ] spids: [16777215 398] ) ] spids: [273 400] ) spids: [265 16777215] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$BISON'))})] action: [ (C {(echo)} {(DQ ('** compare with bison ') ($ VSub_Name '$BISON'))}) (ForEach iter_name: input iter_words: [{(${ VSub_Name TEST_DIR) (/) (Lit_Other '*') (.y)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$input'))}) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (Case to_match: {($ VSub_Name '$input')} arms: [ (case_arm pat_list: [ {(${ VSub_Name TEST_DIR) (/err_) (Lit_Other '*')} {(${ VSub_Name TEST_DIR) (/test-err_) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [461 474 480 16777215] ) (case_arm pat_list: [ {(${ VSub_Name TEST_DIR) (/ok_syntax) (Lit_Other '*')} {(${ VSub_Name TEST_DIR) (/varsyntax) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [483 496 506 16777215] ) (case_arm pat_list: [{(${ VSub_Name TEST_DIR) (/btyacc_) (Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [509 514 524 16777215] ) ] spids: [454 458 527] ) (C {(echo)} {(DQ ('... testing ') ($ VSub_Name '$input'))}) (C {(rm)} {(-f)} {(run_make.) (Lit_Other '[') (coy) (Lit_Other ']')}) (Case to_match: {($ VSub_Name '$input')} arms: [ (case_arm pat_list: [{(${ VSub_Name TEST_DIR) (/pure_) (Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (C {(test)} {(-z)} { (CommandSubPart command_list: (CommandList children: [ (C {(fgrep)} {(-l)} {(SQ <'%pure-parser'>)} {($ VSub_Name '$input')} ) ] ) left_token: <Left_Backtick '`'> spids: [584 594] ) } ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('%pure-parser'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(run_make.y)} spids: [606] ) ] ) ] spids: [16777215 597] ) ] spids: [16777215 610] ) ] spids: [570 575 613 16777215] ) ] spids: [563 567 616] ) (SimpleCommand words: [{(sed)} {(-e)} {(SQ <'/^%expect/s,%expect.*,,'>)} {($ VSub_Name '$input')}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(run_make.y)} spids: [630] ) ] ) (C {(bison)} {(-Wno-other)} {(-Wno-conflicts-sr)} {(-Wconflicts-rr)} {(-y)} {(run_make.y)} ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ (y.tab.c))})] action: [ (SimpleCommand words: [ {(sed)} {(-e)} {(SQ <'/^#line/s,"run_make.y","'>) ($ VSub_Name '$input') (SQ <'",'>)} {(y.tab.c)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(run_make.c)} spids: [676] ) ] ) (C {(rm)} {(-f)} {(y.tab.c)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:input) op: Equal rhs: {(run_make.c)} spids: [689] ) ] spids: [689] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:object) op: Equal rhs: {(run_make.o)} spids: [693] ) ] spids: [693] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {($ VSub_Name '$input')})] action: [ (C {($ VSub_Name '$MY_MAKE')} {($ VSub_Name '$object')} {(Lit_VarLike 'DEFINES=') (SQ < '-DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=1 -DYYSTACK_USE_ALLOCA=0 -DYYMAXDEPTH=0' > ) } ) ] spids: [16777215 706] ) ] else_action: [ (C {(echo)} {(DQ ('?? ') ($ VSub_Name '$input') (' not found'))}) ] spids: [719 731] ) ] spids: [16777215 659] ) ] spids: [16777215 734] ) (C {(rm)} {(-f)} {(run_make.) (Lit_Other '[') (coy) (Lit_Other ']')}) ] spids: [438 747] ) spids: [429 16777215] ) ] spids: [16777215 413] ) ] spids: [16777215 749] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:YACC) op:Equal rhs:{(EmptyPart)} spids:[752])] spids: [752] ) (ForEach iter_name: name iter_words: [{(/usr/ccs/bin/yacc)}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {($ VSub_Name '$name')})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:YACC) op: Equal rhs: {($ VSub_Name '$name')} spids: [777] ) ] spids: [777] ) ] spids: [16777215 774] ) ] spids: [16777215 781] ) ] spids: [762 783] ) spids: [759 16777215] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$YACC'))})] action: [ (C {(echo)} {(DQ ('** compare with ') ($ VSub_Name '$YACC'))}) (ForEach iter_name: input iter_words: [{(${ VSub_Name TEST_DIR) (/) (Lit_Other '*') (.y)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$input'))}) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (C {(echo)} {(DQ ('... testing ') ($ VSub_Name '$input'))}) (C {(rm)} {(-f)} {(run_make.) (Lit_Other '[') (coy) (Lit_Other ']')}) (Case to_match: {($ VSub_Name '$input')} arms: [ (case_arm pat_list: [{(pure_) (Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('... skipping ') ($ VSub_Name '$input'))}) (Sentence child: (ControlFlow token:<ControlFlow_Continue continue>) terminator: <Op_Semi ';'> ) ] spids: [864 866 881 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DPipe Op_DPipe Op_DPipe] children: [ (SimpleCommand words: [ {(fgrep)} {(SQ <'%pure-parser'>)} {($ VSub_Name '$input')} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [898] ) ] ) (SimpleCommand words: [ {(fgrep)} {(SQ <'%parse-param'>)} {($ VSub_Name '$input')} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [912] ) ] ) (SimpleCommand words: [ {(fgrep)} {(SQ <'%lex-param'>)} {($ VSub_Name '$input')} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [926] ) ] ) (SimpleCommand words: [ {(fgrep)} {(SQ <YYLEX_PARAM>)} {($ VSub_Name '$input')} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [940] ) ] ) ] ) ] action: [ (C {(echo)} {(DQ ('... skipping ') ($ VSub_Name '$input'))}) (Sentence child: (ControlFlow token:<ControlFlow_Continue continue>) terminator: <Op_Semi ';'> ) ] spids: [16777215 944] ) ] spids: [16777215 959] ) ] spids: [884 885 962 16777215] ) ] spids: [857 861 965] ) (SimpleCommand words: [{(sed)} {(-e)} {(SQ <'/^%expect/s,%expect.*,,'>)} {($ VSub_Name '$input')}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(run_make.y)} spids: [979] ) ] ) (C {($ VSub_Name '$YACC')} {(run_make.y)}) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(y.tab.c)})] action: [ (SimpleCommand words: [ {(sed)} {(-e)} {(SQ <'/^#line/s,"run_make.y","'>) ($ VSub_Name '$input') (SQ <'",'>)} {(y.tab.c)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(run_make.c)} spids: [1015] ) ] ) (C {(rm)} {(-f)} {(y.tab.c)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:input) op: Equal rhs: {(run_make.c)} spids: [1028] ) ] spids: [1028] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:object) op: Equal rhs: {(run_make.o)} spids: [1032] ) ] spids: [1032] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {($ VSub_Name '$input')})] action: [(C {($ VSub_Name '$MY_MAKE')} {($ VSub_Name '$object')})] spids: [16777215 1045] ) ] else_action: [ (C {(echo)} {(DQ ('?? ') ($ VSub_Name '$input') (' not found'))}) ] spids: [1053 1065] ) ] spids: [16777215 998] ) ] spids: [16777215 1068] ) (C {(rm)} {(-f)} {(run_make.) (Lit_Other '[') (coy) (Lit_Other ']')}) ] spids: [821 1081] ) spids: [812 16777215] ) ] spids: [16777215 796] ) ] spids: [16777215 1083] ) ] )