(CommandList children: [ (FuncDef name: die body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ('FATAL: ') ($ VSub_At '$@'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[30])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [20] ) spids: [16 19] ) (FuncDef name: log body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_At '$@'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[54])] ) ] spids: [45] ) spids: [41 44] ) (FuncDef name: csv-concat body: (BraceGroup children: [ (Sentence child: (C {(tools/csv_concat.py)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [64] ) spids: [60 63] ) (FuncDef name: tsv-concat body: (BraceGroup children: [ (Sentence child: (C {(tools/csv_concat.py)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [83] ) spids: [79 82] ) (FuncDef name: csv2html body: (BraceGroup children: [ (Sentence child: (C {(web/table/csv2html.py)} {(--css-class-pattern)} {(SQ <'special ^osh'>)} {(DQ ($ VSub_At '$@'))} ) terminator: <Op_Semi ';'> ) ] spids: [102] ) spids: [98 101] ) (FuncDef name: tsv2html body: (BraceGroup children: [ (Sentence child: (C {(web/table/csv2html.py)} {(--tsv)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [125] ) spids: [121 124] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:_time_tool) op: Equal rhs: {($ VSub_Name '$PWD') (/benchmarks/time.py)} spids: [145] ) ] spids: [143] ) (FuncDef name: time-tsv body: (BraceGroup children: [ (Sentence child: (C {($ VSub_Name '$_time_tool')} {(--tsv)} {(DQ ($ VSub_At '$@'))}) terminator: <Op_Semi ';'> ) ] spids: [154] ) spids: [150 153] ) ] )