(List (= scope= flags=0 words=[] bindings=[('verbose', {[DQ [LIT_CHARS 1]]})]) (FunctionDef info [] (List (= scope= flags=0 words=[] bindings=[('msg', {[DQ [VarSub 1]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub verbose]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS 1]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [VarSub 0][LIT_CHARS ": I: "][VarSub msg]]} < (FilenameRedirectNode filename={[VarSub logfile]} >"> 1), > ) ) ) ) (FunctionDef warn [] (List (= scope= flags=0 words=[] bindings=[('msg', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [VarSub 0][LIT_CHARS ": W: "][VarSub msg]]} < (FilenameRedirectNode filename={[VarSub logfile]} >"> 1), > ) ) ) (FunctionDef err [] (List (= scope= flags=0 words=[] bindings=[('msg', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('code', {[DQ [VarSub 2]]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [VarSub 0][LIT_CHARS ": E: "][VarSub msg]]} < (FilenameRedirectNode filename={[VarSub logfile]} >"> 1), > ) (Com {[LIT_CHARS exit]} {[VarSub code]} ) ) ) )