(command.CommandList children: [ (C {<readonly>} {<Id.Lit_VarLike 'OSH_OVM='> (braced_var_sub token: <Id.VSub_Name OSH_OVM> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_DollarName '$PWD') <Id.Lit_Slash /> <_bin> <Id.Lit_Slash /> <osh>} ) ) } ) (command.ShFunction name: die body: (command.BraceGroup children: [ (command.Simple words: [{<echo>} {(DQ <'FATAL: '> ($ Id.VSub_At '$@'))}] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '1>&'> fd:1 arg_word:{<2>})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ) (command.ShFunction name: log body: (command.BraceGroup children: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_At '$@'))}] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '1>&'> fd:1 arg_word:{<2>})] ) ] ) ) (command.ShFunction name: csv-concat body: (command.BraceGroup children: [ (command.Sentence child: (C {<tools/csv_concat.py>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: tsv-concat body: (command.BraceGroup children: [ (command.Sentence child: (C {<tools/csv_concat.py>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: csv2html body: (command.BraceGroup children: [ (command.Sentence child: (C {<web/table/csv2html.py>} {<--css-class-pattern>} {(SQ <'special ^osh'>)} {(DQ ($ Id.VSub_At '$@'))} ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: tsv2html body: (command.BraceGroup children: [ (command.Sentence child: (C {<web/table/csv2html.py>} {<--tsv>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) (C {<readonly>} {<Id.Lit_VarLike '_time_tool='> ($ Id.VSub_DollarName '$PWD') </benchmarks/time.py>} ) (command.ShFunction name: time-tsv body: (command.BraceGroup children: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$_time_tool')} {<--tsv>} {(DQ ($ Id.VSub_At '$@'))}) terminator: <Id.Op_Semi _> ) ] ) ) ] )