(List (FunctionDef READ [] (Com {[LIT_CHARS read]} {[LIT_CHARS -u]} {[LIT_CHARS 0]} {[LIT_CHARS -e]} {[LIT_CHARS -p]} {[DQ [LIT_CHARS "user> "]]} {[LIT_CHARS r]} ) ) (FunctionDef EVAL [] (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub 1]]})]) ) (FunctionDef PRINT [] (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub 1]]})]) ) (While (Com {[LIT_CHARS true]} ) (List (Com {[LIT_CHARS READ]} ) (Com {[LIT_CHARS EVAL]} {[DQ [VarSub r]]} ) (Com {[LIT_CHARS PRINT]} {[DQ [VarSub r]]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub r]]} ) ) ) )