(CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name EVALUATOR__FUNCTIONS_BUILTIN_SH> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)}) spids: [9 13] ) } {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_Declare flags: [-g] pairs: [ (assign_pair lhs: (LhsName name:EVALUATOR__FUNCTIONS_BUILTIN_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] ) (/environment.sh) } ) (FuncDef name: 'evaluator::functions::builtin::add' 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::functions::builtin::add ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 93] ) ] spids: [16777215 106] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [112] ) ] spids: [110] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [122] ) ] spids: [120] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [132] ) ] spids: [130] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 169] ) ] spids: [16777215 184] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [206] ) ] spids: [204] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [247] ) ] spids: [245] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [273] ) ] spids: [271] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[283])] spids: [281] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[288])] spids: [286] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [347] ) ] spids: [347] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 376] ) ] spids: [16777215 405] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [421] ) ] spids: [421] ) (DParen child: (BinaryAssign op_id: Arith_PlusEqual left: (LhsName name:result) right: (ArithWord w:{(${ VSub_Name currentValue)}) ) ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [458] ) ] spids: [458] ) ] spids: [311 466] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} {(DQ (${ VSub_Name result))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [484] ) ] spids: [484] ) ] spids: [75] ) spids: [60 74] ) (FuncDef name: 'evaluator::functions::builtin::subtract' 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::functions::builtin::subtract ') (${ VSub_At '@'))} ) terminator: <Op_Semi ';'> ) ] spids: [16777215 527] ) ] spids: [16777215 540] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [546] ) ] spids: [544] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [556] ) ] spids: [554] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [566] ) ] spids: [564] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 603] ) ] spids: [16777215 618] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [640] ) ] spids: [638] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [681] ) ] spids: [679] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [707] ) ] spids: [705] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[717])] spids: [715] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[722])] spids: [720] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [781] ) ] spids: [781] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 810] ) ] spids: [16777215 839] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [855] ) ] spids: [855] ) (DParen child: (BinaryAssign op_id: Arith_MinusEqual left: (LhsName name:result) right: (ArithWord w:{(DQ (${ VSub_Name currentValue))}) ) ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [894] ) ] spids: [894] ) ] spids: [745 902] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} {(DQ (${ VSub_Name result))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [920] ) ] spids: [920] ) ] spids: [509] ) spids: [494 508] ) (FuncDef name: 'evaluator::functions::builtin::multiply' 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::functions::builtin::multiply ') (${ VSub_At '@'))} ) terminator: <Op_Semi ';'> ) ] spids: [16777215 963] ) ] spids: [16777215 976] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [982] ) ] spids: [980] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [992] ) ] spids: [990] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1002] ) ] spids: [1000] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 1039] ) ] spids: [16777215 1054] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1076] ) ] spids: [1074] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1117] ) ] spids: [1115] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1143] ) ] spids: [1141] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[1153])] spids: [1151] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[1158])] spids: [1156] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1217] ) ] spids: [1217] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 1246] ) ] spids: [16777215 1275] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1291] ) ] spids: [1291] ) (DParen child: (BinaryAssign op_id: Arith_StarEqual left: (LhsName name:result) right: (ArithWord w:{(DQ (${ VSub_Name currentValue))}) ) ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1330] ) ] spids: [1330] ) ] spids: [1181 1338] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} {(DQ (${ VSub_Name result))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1356] ) ] spids: [1356] ) ] spids: [945] ) spids: [930 944] ) (FuncDef name: 'evaluator::functions::builtin::divide' 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::functions::builtin::divide ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1399] ) ] spids: [16777215 1412] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1418] ) ] spids: [1416] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1428] ) ] spids: [1426] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1438] ) ] spids: [1436] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 1475] ) ] spids: [16777215 1490] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1512] ) ] spids: [1510] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1553] ) ] spids: [1551] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1579] ) ] spids: [1577] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[1589])] spids: [1587] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[1594])] spids: [1592] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1653] ) ] spids: [1653] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 1682] ) ] spids: [16777215 1711] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1727] ) ] spids: [1727] ) (DParen child: (BinaryAssign op_id: Arith_SlashEqual left: (LhsName name:result) right: (ArithWord w:{(DQ (${ VSub_Name currentValue))}) ) ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1766] ) ] spids: [1766] ) ] spids: [1617 1774] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} {(DQ (${ VSub_Name result))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1792] ) ] spids: [1792] ) ] spids: [1381] ) spids: [1366 1380] ) (FuncDef name: 'evaluator::functions::builtin::equals' 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::functions::builtin::equals ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1835] ) ] spids: [16777215 1848] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1854] ) ] spids: [1852] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [1864] ) ] spids: [1862] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [1874] ) ] spids: [1872] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 1911] ) ] spids: [16777215 1926] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1948] ) ] spids: [1946] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1989] ) ] spids: [1987] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2015] ) ] spids: [2013] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2025])] spids: [2023] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2030])] spids: [2028] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2089] ) ] spids: [2089] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 2118] ) ] spids: [16777215 2147] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2163] ) ] spids: [2163] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$first')} right: {($ VSub_Name '$currentValue')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2197] ) ] spids: [2197] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 2184] ) ] spids: [16777215 2208] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2226] ) ] spids: [2226] ) ] spids: [2053 2234] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2248] ) ] spids: [2248] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [1817] ) spids: [1802 1816] ) (FuncDef name: 'evaluator::functions::builtin::greaterthan' 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::functions::builtin::equals ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 2294] ) ] spids: [16777215 2307] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [2313] ) ] spids: [2311] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [2323] ) ] spids: [2321] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [2333] ) ] spids: [2331] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 2370] ) ] spids: [16777215 2385] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2407] ) ] spids: [2405] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2448] ) ] spids: [2446] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2474] ) ] spids: [2472] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2484])] spids: [2482] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2489])] spids: [2487] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2548] ) ] spids: [2548] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 2577] ) ] spids: [16777215 2606] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2622] ) ] spids: [2622] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_gt left: {($ VSub_Name '$first')} right: {($ VSub_Name '$currentValue')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2658] ) ] spids: [2658] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 2645] ) ] spids: [16777215 2669] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2687] ) ] spids: [2687] ) ] spids: [2512 2695] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2709] ) ] spids: [2709] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [2276] ) spids: [2261 2275] ) (FuncDef name: 'evaluator::functions::builtin::lessthan' 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::functions::builtin::equals ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 2755] ) ] spids: [16777215 2768] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [2774] ) ] spids: [2772] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [2784] ) ] spids: [2782] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [2794] ) ] spids: [2792] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 2831] ) ] spids: [16777215 2846] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2868] ) ] spids: [2866] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2909] ) ] spids: [2907] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [2935] ) ] spids: [2933] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2945])] spids: [2943] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2950])] spids: [2948] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3009] ) ] spids: [3009] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 3038] ) ] spids: [16777215 3067] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3083] ) ] spids: [3083] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_lt left: {($ VSub_Name '$first')} right: {($ VSub_Name '$currentValue')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3119] ) ] spids: [3119] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 3106] ) ] spids: [16777215 3130] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3148] ) ] spids: [3148] ) ] spids: [2973 3156] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3170] ) ] spids: [3170] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [2737] ) spids: [2722 2736] ) (FuncDef name: 'evaluator::functions::builtin::greaterthanorequal' 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::functions::builtin::equals ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 3216] ) ] spids: [16777215 3229] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [3235] ) ] spids: [3233] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [3245] ) ] spids: [3243] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [3255] ) ] spids: [3253] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 3292] ) ] spids: [16777215 3307] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3329] ) ] spids: [3327] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3370] ) ] spids: [3368] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3396] ) ] spids: [3394] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[3406])] spids: [3404] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[3411])] spids: [3409] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3470] ) ] spids: [3470] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 3499] ) ] spids: [16777215 3528] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3544] ) ] spids: [3544] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_ge left: {($ VSub_Name '$first')} right: {($ VSub_Name '$currentValue')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3580] ) ] spids: [3580] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 3567] ) ] spids: [16777215 3591] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3609] ) ] spids: [3609] ) ] spids: [3434 3617] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3631] ) ] spids: [3631] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [3198] ) spids: [3183 3197] ) (FuncDef name: 'evaluator::functions::builtin::lessthanorequal' 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::functions::builtin::equals ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 3677] ) ] spids: [16777215 3690] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [3696] ) ] spids: [3694] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:functionName) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [3706] ) ] spids: [3704] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsToken) op: Equal rhs: {(DQ (${ VSub_Number 3))} spids: [3716] ) ] spids: [3714] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {(DQ (${ VSub_Name argsToken))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: {($ VSub_Name '$RESULT')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 3753] ) ] spids: [16777215 3768] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:headToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3790] ) ] spids: [3788] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} {(DQ (${ VSub_Name RESULT))} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3831] ) ] spids: [3829] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name argsToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3857] ) ] spids: [3855] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[3867])] spids: [3865] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[3872])] spids: [3870] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name rest))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name rest))} ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [3931] ) ] spids: [3931] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOf) } {(DQ (${ VSub_Name currentToken))} {(Integer)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} {(${ VSub_Name currentToken)} ) (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 3960] ) ] spids: [16777215 3989] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name currentToken))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentValue) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4005] ) ] spids: [4005] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_le left: {($ VSub_Name '$first')} right: {($ VSub_Name '$currentValue')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4041] ) ] spids: [4041] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 4028] ) ] spids: [16777215 4052] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name rest))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rest) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4070] ) ] spids: [4070] ) ] spids: [3895 4078] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [4092] ) ] spids: [4092] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [3659] ) spids: [3644 3658] ) ] )