From a65dfdf6d295c31969d384c6bf7cbf7133fb67e0 Mon Sep 17 00:00:00 2001 From: Maxwell Jeffress Date: Fri, 25 Apr 2025 10:44:16 +1000 Subject: [PATCH] Make most of the reassignment stuff work --- mx | Bin 326312 -> 326312 bytes src/Interpreter.cpp | 72 +++++++++++++++++++++++--------------------- test.mx | 6 +++- 3 files changed, 42 insertions(+), 36 deletions(-) diff --git a/mx b/mx index c052949ed9dadb3031138ba2115fa1ae39806908..5b66310eb9bd9a6f527c8f7e29dfadb779d2701f 100755 GIT binary patch delta 66345 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�Xl+ z@L(Lx$|BFpp?-Zy&{pAX(027<^aB+2(_{cPZGW`z>APexZ)S$OA~-CI1!FJ`-BQ=t zhN_IfERg>z-2I>@;Vs_WF6|`xJXwptwV!{z{`QEI;sYYsvfBx=$KY~bHVw|p7W)8- zt*4ie&%3P}eTh|(`|~+dmQsFTiy8;H_rPr$nv&`CHsxW>nKH9;zEt=>(r8Up^;$;# zQ8Ij)Q6XLU9CT8BVEN%3+l1dGzrVwMTLkW3{|;Nu2$Jv+T_0xr`c(ME8jQex2m0Uq1R<_~t`u_g5&X!ZM7=l+;V_(BWX|1g6a$6rScw z{d!D?m9dKYBiohq^QZ8>XxsWQ{u{hY{r|Oo94Z3$&xdCVA1OCwW?a24d{lJF2xhHj z1Se&DLWg&biSLpBTK(Vp*b%LiOF{fz{P}N`Nc@9TFk7_`tfBlwQ}PUP_=a$IoBCOJ zZ$(A3^V#nM`dPY}+;p}x!e!akxcDBa+gcj9*J~?;XU$hf_MkJk-@h2Yj&?!MsPJ#_ zTJhO8)R1qGv6C|1nW~%mA@u?=L+B%!>9Y0-U)PGbsw^&k=s?O*)X1^%1z) z=YvF*+iREi4#}fZSBb1pjNKcCaUU@<_hZ{$!mrAF9ca^0%Z=2Zww>Yb;{S2sk2P~L z)885_f{#Uzwu8V_xAid{xt}Lb68^YD~#X%qEVeyHy3MJWd-v(yqLp3Ne6e|YO_ z;qT>_^mj*i$MYq5?@t)d9!anHLHV1)>wf9ztM|UOUkl$DO z@4k{gqa*jLhO30T2jG*!<0PSGhU@k@{md>goMC)?TLkWBvmXe*ny0eALrKk*DUB;z zdkhu?okXSxX1%P?fB z_M-4?tS9whavr*yj*bPWIr}k6Onr!QQ&r8rqCEEvbpA6Yb*nWgjBls70(JF`c7 zLU{NdCpv2oPu7k-)PH*gfyvNy;qLqYq;E=&4&LuEI<#@MoA05d7ZCILT8j0&MAl(1 zx%*pc^Mt?T!$g}QZP2&WFZqrxzO=fpWFpEPz{~pkq$JED;UJWBA||G*HV5!9^Y!|4 z{+J|Y?st^mlI7Si;f?l_Pl=#)n-&vti2CWzI9v@nh2w+R1VFMbN|Eg1}x0tw5bpRpVe?sv@bBG~vlHT#G`zVI@Om=RO`m4Bim z&k+@M*iHyH-wm7Nq%b= z_00egb&C93=_^CT|9isa6KnT(`2H&b_m7NgpQa=8kyDeA_QGeoR%jE2_jip*mxa%G ziW%tToZ|2>@C+m9`!EHjB%c(1UdB)}+e{VyGu~T2f)cEh&8#Iz4lkXhzio>MOiB5i zBmaDJNj_fq{>$WM$h&0p!%L>C%Xvv}b%)=-8+cCy?k6ji|4W1XgN(rJ5;wg-Uj00| z$zY;z_jb%P!b`rGqr#5bQL&M(_P^;OeY;=I3%*2dl~p5;VwW**FXR4%Co8ak@^G1N z%+}Fh;rDXXKG=EPuMtP0?18eL|&o3`}*2R=Z)B zxZq>j{YOfA@9%uus_iP49RIhh|AOoJ&Hd)n!#Bz6J*C?Ggbnnywbe+ReUIZe2TOj! zuPQQj)3d39E4OIyY+1TCCEWTp`D?5iM8#va@CxFmobY?XSGiv2+WIH`oE_x&?`U0M1LA1RUo>#PuzFs2XrY>O3^|)#U2VhJE00Ty*HDlAP5XPUjP4UIJKDt? z+E3r5zWd$GF~XB}F=1v1Zu}4R<-?_F_;I^oqI>Q9wRcN^TK}|$b_0Zt@^(7KUq3Bmn^Axgd~Fg zAJEY)o~+k|f5`S^nP&5k@H;OcM-V1kvC5G4`o%*DP$;4YSh$pQCT_+ z%TT?wyjnUVG}~x-!IURIrLwhrzpNb0-gkOA%G2IZ=e2z5INDE@0$CJ7d0duibQ&+` zw7WrpiGO2x%FoBpZmihFR1m*AX01GJ{m=?LE|-+jxkWze)e3{Tsm?Ar)ubhMo)GCHab2$#B$%*rM diff --git a/src/Interpreter.cpp b/src/Interpreter.cpp index 5d8bf9d..3781416 100644 --- a/src/Interpreter.cpp +++ b/src/Interpreter.cpp @@ -221,51 +221,53 @@ void Interpreter::executeCode(vector tokens) { } else { if (tokens[i].keyword == keywords::VALUE && tokens[i].value.type == valtype::STR && variables.find(get(tokens[i].value.value)) != variables.end()) { log.debug("Manipulating variable..."); - if (tokens.size() < i + 1) { + if (tokens.size() <= i + 2) { // Need at least 3 tokens: variable, operator, value syntaxError.mathTooFewArgs(); + return; } string varName = get(tokens[i].value.value); i++; - if (variables[varName].type == valtype::INT) { - if (tokens[i].keyword == keywords::INCREMENT) { + + if (tokens[i].keyword == keywords::SET) { + Token valueToken = tokens[i + 1]; + if (valueToken.type != variables[varName].type) { + vector validTypes; + switch(variables[varName].type) { + case valtype::INT: validTypes = {"int"}; break; + case valtype::DEC: validTypes = {"dec"}; break; + case valtype::STR: validTypes = {"str"}; break; + case valtype::BOOL: validTypes = {"bool"}; break; + } + syntaxError.fnTypeMismatch("assignment", validTypes, valueToken.type); + return; + } + variables[varName].value = valueToken.value.value; + i++; // Skip the value token since we've processed it + } else if (tokens[i].keyword == keywords::INCREMENT) { + if (variables[varName].type == valtype::INT) { variables[varName].value = get(variables[varName].value) + 1; - } else if (tokens[i].keyword == keywords::DECREMENT) { + } else { + syntaxError.mathCannotDoOperationOnType("++", "non-int"); + } + } else if (tokens[i].keyword == keywords::DECREMENT) { + if (variables[varName].type == valtype::INT) { variables[varName].value = get(variables[varName].value) - 1; - } else if (tokens[i].keyword == keywords::ADDTO) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::INT) syntaxError.mathTypeMismatch("Expected an int when adding to an int"); + } else { + syntaxError.mathCannotDoOperationOnType("--", "non-int"); + } + } else if (tokens[i].keyword == keywords::ADDTO) { + if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); + if (tokens[i + 1].value.type != variables[varName].type) syntaxError.mathTypeMismatch("Expected same type when adding"); + if (variables[varName].type == valtype::INT) { variables[varName].value = get(variables[varName].value) + get(tokens[i + 1].value.value); - } else if (tokens[i].keyword == keywords::SUBTRACTFROM) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::INT) syntaxError.mathTypeMismatch("Expected an int when subtracting from an int"); - variables[varName].value = get(variables[varName].value) - get(tokens[i + 1].value.value); - } else if (tokens[i].keyword == keywords::SET) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::INT) syntaxError.mathTypeMismatch("Expected an int when changing an int"); - variables[varName].value = get(tokens[i + 1].value.value); - } else { - syntaxError.mathCannotDoOperationOnType("unknown", "int"); - } - } else if (variables[varName].type == valtype::DEC) { - if (tokens[i].keyword == keywords::INCREMENT) { - variables[varName].value = get(variables[varName].value) + 1; - } else if (tokens[i].keyword == keywords::DECREMENT) { - variables[varName].value = get(variables[varName].value) - 1; - } else if (tokens[i].keyword == keywords::ADDTO) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::DEC) syntaxError.mathTypeMismatch("Expected an dec when adding to an dec"); + } else if (variables[varName].type == valtype::DEC) { variables[varName].value = get(variables[varName].value) + get(tokens[i + 1].value.value); - } else if (tokens[i].keyword == keywords::SUBTRACTFROM) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::DEC) syntaxError.mathTypeMismatch("Expected an dec when subtracting from an dec"); - variables[varName].value = get(variables[varName].value) - get(tokens[i + 1].value.value); - } else if (tokens[i].keyword == keywords::SET) { - if (tokens.size() < i + 1) syntaxError.mathTooFewArgs(); - if (tokens[i + 1].value.type != valtype::DEC) syntaxError.mathTypeMismatch("Expected a dec when changing a dec"); - variables[varName].value = get(tokens[i + 1].value.value); } else { - syntaxError.mathCannotDoOperationOnType("unknown", "dec"); + syntaxError.mathCannotDoOperationOnType("+=", "non-numeric"); } + i++; + } else { + syntaxError.mathCannotDoOperationOnType("unknown", "any"); } } else { syntaxError.unknownFn(); diff --git a/test.mx b/test.mx index d3c6c3b..eae21cc 100644 --- a/test.mx +++ b/test.mx @@ -5,4 +5,8 @@ print 1 + 1; let int myInt 3; print myInt; myInt = 5; -print myInt; \ No newline at end of file +print myInt; +let str myString "dingus"; +print myString; +myString = "dongus"; +print myString; \ No newline at end of file