(CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} { (BracedVarSub token: <VSub_Name EVALUATOR_SH> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)}) spids: [9 13] ) } {(Lit_Other "]")} ) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) (Assignment keyword: Assign_Declare flags: ["'-g'"] pairs: [(assign_pair lhs:(LhsName name:EVALUATOR_SH) op:Equal rhs:{(true)} spids:[25])] spids: [21] ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [31 36] ) (/common.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [41 46] ) (/variables.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [51 56] ) (/callable.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [61 66] ) (/specialforms.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [71 76] ) (/specialforms.lambda.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [81 86] ) (/environment.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [91 96] ) (/evaluator.functions.builtin.sh) } ) (Assignment keyword: Assign_Declare flags: ["'-g'"] pairs: [(assign_pair lhs:(LhsName name:EVALUATOR_DEBUG) op:Equal rhs:{(0)} spids:[104])] spids: [100] ) (FuncDef name: "evaluator::eval" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::eval ") (${ VSub_At "@"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 157] ) ] spids: [-1 170] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:envToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [176] ) ] spids: [174] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:exprToken) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [186] ) ] spids: [184] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (type) (Lit_Other ":") (Lit_Other ":") (instanceOf) } {(DQ (${ VSub_Name exprToken))} {(Atom)} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (clone)} {(DQ (${ VSub_Name exprToken))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [229] ) ] spids: [229] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 214] ) (if_arm cond: [ (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (type) (Lit_Other ":") (Lit_Other ":") (instanceOf) } {(DQ (${ VSub_Name exprToken))} {(Callable)} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (clone)} {(DQ (${ VSub_Name exprToken))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [274] ) ] spids: [274] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [240 259] ) (if_arm cond: [ (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (type) (Lit_Other ":") (Lit_Other ":") (instanceOf) } {(DQ (${ VSub_Name exprToken))} {(Identifier)} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(environment) (Lit_Other ":") (Lit_Other ":") (getValue)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name exprToken))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [325] ) ] spids: [325] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [285 304] ) (if_arm cond: [ (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (type) (Lit_Other ":") (Lit_Other ":") (instanceOf) } {(DQ (${ VSub_Name exprToken))} {(LinkedList)} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval_list)} {(DQ (${ VSub_At "@"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [370] ) ] spids: [370] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [336 355] ) ] else_action: [ (C {(stderr)} { (DQ ("evaluator::eval / Unhandled type for token [") ($ VSub_Name "$exprToken") ("]") ) } ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (printMetadata)}) (C {(exit)} {(1)}) ] spids: [381 405] ) (C {(stderr)} {(DQ ("should never get here"))}) (C {(exit)} {(1)}) ] spids: [139] ) spids: [130 138] ) (FuncDef name: "evaluator::evalFromLinkedList" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::eval ") (${ VSub_At "@"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 449] ) ] spids: [-1 462] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:envToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [468] ) ] spids: [466] ) (Sentence child: (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:expressions) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [478] ) ] spids: [476] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs:(LhsName name:currentSexp) op:Equal spids:[497]) (assign_pair lhs:(LhsName name:currentResult) op:Equal spids:[499]) ] spids: [495] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (isEmpty_c) } {(DQ (${ VSub_Name expressions))} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (first) } {(DQ (${ VSub_Name expressions))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentSexp) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [541] ) ] spids: [541] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (rest) } {(DQ (${ VSub_Name expressions))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expressions) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [563] ) ] spids: [563] ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {($ VSub_Name "$envToken")} {($ VSub_Name "$currentSexp")} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentResult) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [579] ) ] spids: [579] ) ] spids: [522 585] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name currentResult))} spids: [588] ) ] spids: [588] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [431] ) spids: [422 430] ) (FuncDef name: "evaluator::eval_list" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::eval_list ") (${ VSub_At "@"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 630] ) ] spids: [-1 643] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:envToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [649] ) ] spids: [647] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:listToken) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [659] ) ] spids: [657] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (type) (Lit_Other ":") (Lit_Other ":") (instanceOf) } {($ VSub_Name "$listToken")} {(LinkedList)} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(stderr)} {(DQ ("evaluator::eval_list / must be a list"))}) (C {(exit)} {(1)}) ] spids: [-1 685] ) ] spids: [-1 700] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (length) } {(DQ (${ VSub_Name listToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {(DQ (${ VSub_Name RESULT))} right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(Nil)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [751] ) ] spids: [751] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 736] ) ] spids: [-1 762] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (first) } {(DQ (${ VSub_Name listToken))} ) (Sentence child: (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headItem) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [802] ) ] spids: [800] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (type)} {(DQ (${ VSub_Name headItem))}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headType) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [825] ) ] spids: [823] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (value)} {(DQ (${ VSub_Name headItem))}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [848] ) ] spids: [846] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (rest) } {($ VSub_Name "$listToken")} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [880] ) ] spids: [878] ) (Case to_match: {(DQ (${ VSub_Name headType))} arms: [ (case_arm pat_list: [{(BuiltinFunction)}] action: [ (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (call_builtinFunction)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name headItem))} {(DQ (${ VSub_Name rest))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [928] ) ] spids: [928] ) ] spids: [900 901 936 -1] ) (case_arm pat_list: [{(BuiltinMacro)}] action: [ (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (call_builtinMacro)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name headItem))} {(DQ (${ VSub_Name rest))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [970] ) ] spids: [970] ) ] spids: [939 940 978 -1] ) (case_arm pat_list: [{(SpecialForm)}] action: [ (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (call_specialForm)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name headItem))} {(DQ (${ VSub_Name rest))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1012] ) ] spids: [1012] ) ] spids: [981 982 1020 -1] ) (case_arm pat_list: [{(Lambda)}] action: [ (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (call_lambda)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name headItem))} {(DQ (${ VSub_Name rest))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1051] ) ] spids: [1051] ) ] spids: [1023 1024 1059 -1] ) (case_arm pat_list: [{(Macro)}] action: [ (C {(stderr)} { (DQ ( "evaluator::eval_list / evaluator::eval_list <macro> not implemented yet" ) ) } ) (C {(exit)} {(1)}) ] spids: [1062 1063 1078 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(stderr)} { (DQ ("evaluator::eval_list / type [") (${ VSub_Name headType) ("] not valid")) } ) (C {(exit)} {(1)}) ] spids: [1081 1082 1101 -1] ) ] spids: [889 897 1104] ) ] spids: [612] ) spids: [603 611] ) (FuncDef name: "evaluator::call_builtinFunction" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} { (DQ ("evaluator::call_builtinFunction(") (BracedVarSub token: <VSub_At "@"> prefix_op: VSub_Pound spids: [1143 1146] ) (") ") (${ VSub_At "@") ) } ) terminator: <Op_Semi ";"> ) ] spids: [-1 1137] ) ] spids: [-1 1155] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1161] ) ] spids: [1159] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionToken) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1171] ) ] spids: [1169] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1181] ) ] spids: [1179] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (value)} {(DQ (${ VSub_Name functionToken))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1205] ) ] spids: [1203] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(functionExists)} {($ VSub_Name "$functionName")})] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(stderr)} { (DQ ("The builtin function [") (${ VSub_Name functionName) ("] does not exist")) } ) (C {(exit)} {(1)}) ] spids: [-1 1222] ) ] spids: [-1 1241] ) (C {(eval)} {(DQ (${ VSub_Name functionName))} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name functionName))} {(DQ (${ VSub_Name argsToken))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {($ VSub_Name "$RESULT")} spids: [1271] ) ] spids: [1271] ) ] spids: [1119] ) spids: [1110 1118] ) (FuncDef name: "evaluator::call_lambda" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::call_lambda ") (${ VSub_At "@"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 1304] ) ] spids: [-1 1317] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1323] ) ] spids: [1321] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:lambdaToken) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1333] ) ] spids: [1331] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1343] ) ] spids: [1341] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new) } ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:passedArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1364] ) ] spids: [1362] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (isEmpty_c) } {(DQ (${ VSub_Name argsToken))} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (first) } {(DQ (${ VSub_Name argsToken))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append) } {($ VSub_Name "$passedArgs")} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1460] ) ] spids: [1460] ) ] spids: [1392 1468] ) ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (Lambda) (Lit_Other ":") (Lit_Other ":") (call)} {($ VSub_Name "$lambdaToken")} {($ VSub_Name "$passedArgs")} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1485] ) ] spids: [1485] ) ] spids: [1286] ) spids: [1277 1285] ) (FuncDef name: "evaluator::call_builtinMacro" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::call_builtinMacro ") (${ VSub_At "@"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 1522] ) ] spids: [-1 1535] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (set)} {(${ VSub_Name EVALUATOR_VARIABLE)} {(nil)} {(nil)} ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1556] ) ] spids: [1554] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:identifier) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1566] ) ] spids: [1564] ) (Assignment keyword: Assign_Declare flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:values) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Number 3)}])} spids: [1578] ) ] spids: [1574] ) (Case to_match: {(DQ (${ VSub_Name identifier))} arms: [ (case_arm pat_list: [{(DQ (if))}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ("evaluator::call_identifier in 'if'"))}) terminator: <Op_Semi ";"> ) ] spids: [-1 1619] ) ] spids: [-1 1629] ) (C {(stderr)} {(DQ ("[if] not implemented yet"))}) ] spids: [1599 1601 1639 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(stderr)} { (DQ ("evaluator::call_identifier / Not implemented [") (${ VSub_Name identifier) ("]") ) } ) ] spids: [1642 1643 1657 -1] ) ] spids: [1587 1595 1660] ) ] spids: [1504] ) spids: [1495 1503] ) (FuncDef name: "evaluator::call_specialForm" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name EVALUATOR_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(stderr)} { (DQ ("evaluator::call_specialForm(") (BracedVarSub token: <VSub_At "@"> prefix_op: VSub_Pound spids: [1698 1701] ) (") ") (${ VSub_At "@") ) } ) terminator: <Op_Semi ";"> ) ] spids: [-1 1692] ) ] spids: [-1 1710] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1716] ) ] spids: [1714] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionToken) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1726] ) ] spids: [1724] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1736] ) ] spids: [1734] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (value)} {(DQ (${ VSub_Name functionToken))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1760] ) ] spids: [1758] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(functionExists)} {($ VSub_Name "$functionName")})] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(stderr)} { (DQ ("The builtin function [") (${ VSub_Name functionName) ("] does not exist")) } ) (C {(exit)} {(1)}) ] spids: [-1 1777] ) ] spids: [-1 1796] ) (C {(eval)} {(DQ (${ VSub_Name functionName))} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name functionName))} {(DQ (${ VSub_Name argsToken))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1826] ) ] spids: [1826] ) ] spids: [1674] ) spids: [1665 1673] ) (FuncDef name: "evaluator::setup_builtin" body: (BraceGroup children: [ (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1851] ) ] spids: [1849] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:type) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1861] ) ] spids: [1859] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:identifier) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1871] ) ] spids: [1869] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 4))} spids: [1881] ) ] spids: [1879] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(DQ (${ VSub_Name type))} {(DQ (${ VSub_Name functionName))} ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:t1) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1910] ) ] spids: [1908] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(String)} {(DQ (${ VSub_Name identifier))} ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:t2) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1935] ) ] spids: [1933] ) (C {(environment) (Lit_Other ":") (Lit_Other ":") (setVariable)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name t2))} {(DQ (${ VSub_Name t1))} ) ] spids: [1846] ) spids: [1837 1845] ) (FuncDef name: "evaluator::setup_builtins" body: (BraceGroup children: [ (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1984] ) ] spids: [1982] ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ ("+"))} {(DQ ("evaluator::functions::builtin::add"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ (-))} {(DQ ("evaluator::functions::builtin::subtract"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ ("*"))} {(DQ ("evaluator::functions::builtin::multiply"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ (/))} {(DQ ("evaluator::functions::builtin::divide"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ ("="))} {(DQ ("evaluator::functions::builtin::equals"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ ("<"))} {(DQ ("evaluator::functions::builtin::lessthan"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ (">"))} {(DQ ("evaluator::functions::builtin::greaterthan"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ ("<="))} {(DQ ("evaluator::functions::builtin::lessthanorequal"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(BuiltinFunction)} {(DQ (">="))} {(DQ ("evaluator::functions::builtin::greaterthanorequal"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(SpecialForm)} {(DQ (if))} {(DQ ("evaluator::specialforms::if"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(SpecialForm)} {(DQ (lambda))} {(DQ ("evaluator::specialforms::lambda"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(SpecialForm)} {(DQ (let))} {(DQ ("evaluator::specialforms::let"))} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtin)} {(DQ (${ VSub_Name env))} {(SpecialForm)} {(SQ <"let*">)} {(DQ ("evaluator::specialforms::letstar"))} ) (C {(environment) (Lit_Other ":") (Lit_Other ":") (pushScope)} {(DQ (${ VSub_Name env))}) ] spids: [1979] ) spids: [1970 1978] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Number "$0")} {(KW_Bang "!") (Lit_Other "=")} {($ VSub_Name "$BASH_SOURCE")} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [-1 2315] ) ] spids: [-1 2320] ) (FuncDef name: createTestEnv body: (BraceGroup children: [ (C {(environment) (Lit_Other ":") (Lit_Other ":") (new)}) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (setup_builtins)} {(DQ (${ VSub_Name RESULT))} ) ] spids: [2329] ) spids: [2323 2328] ) (FuncDef name: setInEnv body: (BraceGroup children: [ (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [2362] ) ] spids: [2360] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [2372] ) ] spids: [2370] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:type) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [2382] ) ] spids: [2380] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:value) op: Equal rhs: {(DQ (${ VSub_Number 4))} spids: [2392] ) ] spids: [2390] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(Identifier)} {(DQ (${ VSub_Name name))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:nameToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2417] ) ] spids: [2415] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(DQ (${ VSub_Name type))} {(DQ (${ VSub_Name value))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:valueToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2446] ) ] spids: [2444] ) (C {(environment) (Lit_Other ":") (Lit_Other ":") (setVariable)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name nameToken))} {(DQ (${ VSub_Name valueToken))} ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(Identifier)} {(DQ (${ VSub_Name name))} ) ] spids: [2357] ) spids: [2351 2356] ) (FuncDef name: appendToList body: (BraceGroup children: [ (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:listToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [2505] ) ] spids: [2503] ) (Assignment keyword: Assign_Declare flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:items) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_At "@"> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 2)})) spids: [2520 2524] ) ) } ] ) } spids: [2517] ) ] spids: [2513] ) (Assignment keyword: Assign_Declare flags: ["'-i'"] pairs: [(assign_pair lhs:(LhsName name:size) op:Equal spids:[2533])] spids: [2529] ) (Assignment keyword: Assign_Declare flags: ["'-i'"] pairs: [(assign_pair lhs:(LhsName name:max_index) op:Equal spids:[2540])] spids: [2536] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentType) op:Equal spids:[2545])] spids: [2543] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2550])] spids: [2548] ) (DParen child: (ArithBinary op_id: Arith_Comma left: (BinaryAssign op_id: Arith_Equal left: (LhsName name:size) right: (ArithWord w: { (BracedVarSub token: <VSub_Name items> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [2559 2565] ) } ) ) right: (BinaryAssign op_id: Arith_Equal left: (LhsName name:max_index) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:size) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithBinary op_id: Arith_Percent left: (ArithVarRef name:size) right: (ArithWord w:{(Lit_Digits 2)}) ) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(stderr)} {(DQ ("appendToList: number of items to add to list not even"))}) (C {(exit)} {(1)}) ] spids: [-1 2594] ) ] spids: [-1 2609] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:max_index) ) update: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 2)}) ) ) body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentType) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name items> bracket_op: (ArrayIndex expr:(ArithWord w:{(${ VSub_Name i)})) spids: [2639 2646] ) ) } spids: [2637] ) ] spids: [2637] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name items> bracket_op: (ArrayIndex expr: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [2652 2663] ) ) } spids: [2650] ) ] spids: [2650] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(DQ (${ VSub_Name currentType))} {(DQ (${ VSub_Name currentValue))} ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append) } {(DQ (${ VSub_Name listToken))} {(DQ (${ VSub_Name RESULT))} ) ] spids: [2634 2706] ) ) ] spids: [2500] ) spids: [2494 2499] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:env) op:Equal spids:[2714])] spids: [2712] ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2724] ) ] spids: [2724] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(Boolean)} {(true)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:valueToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2742] ) ] spids: [2742] ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$valueToken")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Boolean :: true"))} {(DQ (${ VSub_Name RESULT))} {(DQ (atom/boolean))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2810] ) ] spids: [2810] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(v)} {(Integer)} {(4)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2833] ) ] spids: [2833] ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name token))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 4"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("identifier evaluation"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2901] ) ] spids: [2901] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2918] ) ] spids: [2918] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"+">)} {(Integer)} {(5)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 7"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(+ 5 2)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2998] ) ] spids: [2998] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3015] ) ] spids: [3015] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <->)} {(Integer)} {(5)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 3"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(- 5 2)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3095] ) ] spids: [3095] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3112] ) ] spids: [3112] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"*">)} {(Integer)} {(5)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 10"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(* 5 2)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3192] ) ] spids: [3192] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3209] ) ] spids: [3209] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ </>)} {(Integer)} {(6)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 3"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(/ 6 2)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3289] ) ] spids: [3289] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3306] ) ] spids: [3306] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"=">)} {(Integer)} {(2)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Boolean :: true"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(= 2 2)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3386] ) ] spids: [3386] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3403] ) ] spids: [3403] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"=">)} {(Integer)} {(2)} {(Integer)} {(3)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {($ VSub_Name "$vCode")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Boolean :: false"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(= 2 3)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3489] ) ] spids: [3489] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(u)} {(Integer)} {(4)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3512] ) ] spids: [3512] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(v)} {(Integer)} {(4)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3535] ) ] spids: [3535] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(w)} {(Integer)} {(2)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3558] ) ] spids: [3558] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [3578] ) ] spids: [3578] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"+">)} {(Identifier)} {(SQ <v>)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 6"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(+ <v=4> 2)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [3667] ) ] spids: [3667] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"+">)} {(Integer)} {(2)} {(Identifier)} {(SQ <v>)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 6"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(+ 2 <v=4>)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [3756] ) ] spids: [3756] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <->)} {(Identifier)} {(SQ <v>)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 2"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(- <v=4> 2)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [3845] ) ] spids: [3845] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <->)} {(Integer)} {(2)} {(Identifier)} {(SQ <v>)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: -2"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(- 2 <v=4>)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [3934] ) ] spids: [3934] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"*">)} {(Identifier)} {(SQ <v>)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 8"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(* <v=4> 2)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4023] ) ] spids: [4023] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"*">)} {(Integer)} {(2)} {(Identifier)} {(SQ <v>)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 8"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(* 2 <v=4>)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4112] ) ] spids: [4112] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ </>)} {(Identifier)} {(SQ <v>)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 2"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(/ <v=4> 2)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4201] ) ] spids: [4201] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ </>)} {(Integer)} {(12)} {(Identifier)} {(SQ <v>)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 3"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(/ 12 <v=4>)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4290] ) ] spids: [4290] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"=">)} {(Identifier)} {(SQ <v>)} {(Integer)} {(2)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Boolean :: false"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(= <v=4> 2)"))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4379] ) ] spids: [4379] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"=">)} {(Integer)} {(4)} {(Identifier)} {(SQ <v>)} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Boolean :: true"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(= 4 <v=4>)"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4469] ) ] spids: [4469] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(u)} {(Integer)} {(4)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4492] ) ] spids: [4492] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(v)} {(Integer)} {(4)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4515] ) ] spids: [4515] ) (Sentence child: (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(w)} {(Integer)} {(2)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4538] ) ] spids: [4538] ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slistOne) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4555] ) ] spids: [4555] ) (C {(appendToList)} {($ VSub_Name "$slistOne")} {(Identifier)} {(Lit_Other "+")} {(Integer)} {(4)} {(Identifier)} {(v)} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slistTwo) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4585] ) ] spids: [4585] ) (C {(appendToList)} {($ VSub_Name "$slistTwo")} {(Identifier)} {(-)} {(Integer)} {(4)} {(Identifier)} {(w)} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4615] ) ] spids: [4615] ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(SQ <"*">)}) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append)} {($ VSub_Name "$vCode")} {($ VSub_Name "$slistTwo")} ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append)} {($ VSub_Name "$vCode")} {($ VSub_Name "$slistOne")} ) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 16"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("(* (+ 4 <v=4>) (- 4 <w=2>))"))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaEnv) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4719] ) ] spids: [4719] ) (C {(setInEnv)} {($ VSub_Name "$lambdaEnv")} {(DQ (y))} {(Integer)} {(10)}) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4748] ) ] spids: [4748] ) (C {(appendToList)} {($ VSub_Name "$lambdaArgs")} {(Identifier)} {(DQ (x))}) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaExpression) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4775] ) ] spids: [4775] ) (C {(appendToList)} {($ VSub_Name "$lambdaExpression")} {(Identifier)} {(SQ <"*">)} {(Identifier)} {(DQ (x))} {(Identifier)} {(DQ (y))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (new)} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4814] ) ] spids: [4814] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append)} {($ VSub_Name "$lambdaCode")} {($ VSub_Name "$lambdaExpression")} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (Lambda) (Lit_Other ":") (Lit_Other ":") (new)} { (DQ ($ VSub_Name "$lambdaEnv") (" ") ($ VSub_Name "$lambdaArgs") (" ") ($ VSub_Name "$lambdaCode") ) } ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambda) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4851] ) ] spids: [4851] ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:env) op:Equal rhs:{(${ VSub_Name RESULT)} spids:[4863])] spids: [4863] ) (C {(setInEnv)} {(DQ (${ VSub_Name env))} {(DQ (a))} {(Integer)} {(5)}) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (new)} {(LinkedList)}) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vCode) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [4894] ) ] spids: [4894] ) (C {(variable) (Lit_Other ":") (Lit_Other ":") (LinkedList) (Lit_Other ":") (Lit_Other ":") (append)} {($ VSub_Name "$vCode")} {($ VSub_Name "$lambda")} ) (C {(appendToList)} {($ VSub_Name "$vCode")} {(Identifier)} {(DQ (a))}) (C {(evaluator) (Lit_Other ":") (Lit_Other ":") (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name vCode))} ) (Sentence child: (C {(variable) (Lit_Other ":") (Lit_Other ":") (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ";"> ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (equals)} {(DQ ("Integer :: 50"))} {(DQ (${ VSub_Name RESULT))} {(DQ ("env(a=5) ((lambda[env(y=10)] (x) (* y x)) a)"))} ) (C {(assert) (Lit_Other ":") (Lit_Other ":") (report)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(isset)}) spids: [4991 4995] ) } {(Lit_Other "]")} ) (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=") (Lit_Other "=")} {(DQ (debug))} {(Lit_Other "]")} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [(C {(variable) (Lit_Other ":") (Lit_Other ":") (printMetadata)})] spids: [-1 5017] ) ] spids: [-1 5026] ) ] )