From 5d3afdf470d141a4e70d02257514f0b3be98e970 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:24:12 +0000 Subject: [PATCH 1/9] Initial plan From 45611faf5345c1e9aafcb6ccadae6d450e0979a5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:28:29 +0000 Subject: [PATCH 2/9] Initial exploration of project structure Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .../CS323-Compilers-2025F-Projects/Main.class | Bin 0 -> 669 bytes .../framework/AbstractCompiler.class | Bin 468 -> 381 bytes .../framework/AbstractGrader.class | Bin 2989 -> 2431 bytes .../framework/Utils.class | Bin 0 -> 3970 bytes .../framework/lang/Type.class | Bin 311 -> 241 bytes .../framework/llvm/BasicBlockBuilder.class | Bin 0 -> 8296 bytes .../framework/llvm/FunctionBuilder.class | Bin 0 -> 7188 bytes .../framework/llvm/IRBuilder.class | Bin 7049 -> 6091 bytes .../framework/llvm/IRType$1.class | Bin 845 -> 816 bytes .../framework/llvm/IRType$Type.class | Bin 1274 -> 1182 bytes .../framework/llvm/IRType.class | Bin 3881 -> 3485 bytes .../framework/llvm/IRValue.class | Bin 2044 -> 1829 bytes .../framework/llvm/Inst$1.class | Bin 0 -> 1176 bytes .../framework/llvm/Inst$BinaryInst.class | Bin 0 -> 1632 bytes .../framework/llvm/Inst$CallInst.class | Bin 0 -> 2684 bytes .../framework/llvm/Inst$ConversionInst.class | Bin 0 -> 1336 bytes .../framework/llvm/Inst$ICmpInst.class | Bin 0 -> 1228 bytes .../framework/llvm/Inst$InstType.class | Bin 0 -> 1709 bytes .../framework/llvm/Inst$MemoryInst.class | Bin 0 -> 3117 bytes .../framework/llvm/Inst$TermInst.class | Bin 0 -> 1424 bytes .../framework/llvm/Inst.class | Bin 0 -> 4196 bytes .../framework/llvm/LLVMIcmpPredicate.class | Bin 0 -> 1755 bytes ...nticError$DefinitionOfIncompleteType.class | Bin 1251 -> 1105 bytes .../Project3SemanticError$MemberError.class | Bin 1281 -> 1140 bytes ...ect3SemanticError$RedeclarationError.class | Bin 1306 -> 1158 bytes ...ject3SemanticError$RedefinitionError.class | Bin 1210 -> 1073 bytes ...ect3SemanticError$UndeclaredUseError.class | Bin 1215 -> 1077 bytes .../project3/Project3SemanticError.class | Bin 1824 -> 1550 bytes .../project4/Project4Exception.class | Bin 466 -> 369 bytes .../project4/Project4SemanticError.class | Bin 5281 -> 4592 bytes .../framework/project5/Grader.class | Bin 0 -> 2046 bytes .../generated/Splc/SplcBaseListener.class | Bin 5014 -> 3454 bytes .../generated/Splc/SplcBaseVisitor.class | Bin 4949 -> 3672 bytes .../generated/Splc/SplcLexer.class | Bin 9100 -> 8795 bytes .../generated/Splc/SplcListener.class | Bin 2268 -> 2268 bytes .../Splc/SplcParser$BracketContext.class | Bin 2488 -> 1948 bytes .../Splc/SplcParser$ExprStmtContext.class | Bin 2256 -> 1769 bytes .../Splc/SplcParser$ExpressionContext.class | Bin 4636 -> 3554 bytes .../Splc/SplcParser$FuncArgsContext.class | Bin 3067 -> 2427 bytes .../Splc/SplcParser$GlobalDefContext.class | Bin 3790 -> 3043 bytes .../Splc/SplcParser$IfStmtContext.class | Bin 2826 -> 2233 bytes .../Splc/SplcParser$ProgramContext.class | Bin 2530 -> 1965 bytes .../Splc/SplcParser$ReturnStmtContext.class | Bin 2344 -> 1837 bytes .../Splc/SplcParser$SpecifierContext.class | Bin 3478 -> 2729 bytes .../Splc/SplcParser$StatementContext.class | Bin 935 -> 680 bytes .../Splc/SplcParser$VarDecContext.class | Bin 2645 -> 2005 bytes .../Splc/SplcParser$VarDecStmtContext.class | Bin 2739 -> 2196 bytes .../Splc/SplcParser$WhileStmtContext.class | Bin 2539 -> 1997 bytes .../generated/Splc/SplcParser.class | Bin 23005 -> 21632 bytes .../generated/Splc/SplcVisitor.class | Bin 3013 -> 3013 bytes .../impl/Compiler$ArrayType.class | Bin 1626 -> 1383 bytes .../impl/Compiler$BasicType$Kind.class | Bin 1161 -> 1069 bytes .../impl/Compiler$BasicType.class | Bin 1159 -> 948 bytes .../impl/Compiler$ExprInfo.class | Bin 509 -> 416 bytes .../impl/Compiler$FunctionType.class | Bin 2004 -> 1654 bytes .../impl/Compiler$PointerType.class | Bin 1475 -> 1258 bytes .../impl/Compiler$SemanticAnalyzer.class | Bin 24660 -> 20716 bytes .../impl/Compiler$StructType$Member.class | Bin 606 -> 504 bytes .../impl/Compiler$StructType.class | Bin 3097 -> 2624 bytes .../impl/Compiler$Symbol$Kind.class | Bin 1327 -> 1235 bytes .../impl/Compiler$Symbol.class | Bin 1107 -> 924 bytes .../impl/Compiler$SymbolTable.class | Bin 4930 -> 3891 bytes .../impl/Compiler.class | Bin 3622 -> 3153 bytes src/main/java/framework/llvm/Inst.java | 2 +- 64 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 out/production/CS323-Compilers-2025F-Projects/Main.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/Utils.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ICmpInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$InstType.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class diff --git a/out/production/CS323-Compilers-2025F-Projects/Main.class b/out/production/CS323-Compilers-2025F-Projects/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..34cfc56dc9dced7b616c9831f2dd89d5ecae26da GIT binary patch literal 669 zcmZ`$ZBG+H5Pqf{EIp1Ffff*vf{3jGXJY(RH8CnkQYcAD6XFN5Jr;7lKBGza6&KZrsUC!)PU=QMiOsM<*8e{Me|}1Ts~rZ@s6_ z{It^!wgMLdo~0Wn6w0*$AvX!*vudT8$0Vi%?s%BS%wL)spHrhEmXc(wtZ)rxAqR}S z5m6N=5Ef3gjMQbKKl-UOuUo0nGBDS~tXgNWz%s$vlVQx}O>&|LleI8b`&rad`cSso9C4yvzF7Y7 zukRta?>+^pW5Og(1=a~Ow*%R&_cL78NHQHLJ0wEhQf}Egtl&Nm-L4$Sj-AgE-EnPtzP3OB9t9`}9-W6t#o@}t!MR9-g8x{s# fii`mFa507ncv!?ZmU+%=9CeuKA@4`*=TQC)Zrqzd literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class index 06b4c3cc4f97b08ddda86fb6edf1217adb388ec1..3dcf784fdd4c4f9a6ecf634226dd7c84263fc2c0 100644 GIT binary patch delta 99 zcmcb@{FjOA)W2Q(7#J9A8N?=X?V9*slu>xHC}WJf76TIyGB9vyZD(NA(%#Czz7fb{ qWZ(yqd<@J$l9PdjfeT1-voJCUFt7pT1c9O~Kw1chMSyH322lVIsSRcT delta 203 zcmey%bcLDg)W2Q(7#J8F7$hfh?Ftm~$xlwq2}>->Oiap24FM613@jxXnZ=9@GCpZV ziMgre`9<0Kj!DHOMTyBJ&iT0onK`LN){G3S#U+VFC5#MQt`*6t1tppJdByAuViRx0 zB)c&%0U-kem)3R$MlJ2F4D1_$JSGNyAj!wT3?w-jSQxl~BsYTqkS7LF%^=7i1mpqr g0mXS37+Dw@gc;Zv7#T!>Vk|&f6o|!vY$gT?0BQIq+W-In diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class index e9274fab95e3f361f1897bb5311e287690dd04fe..deaa9f5e97c6df11ed6cce114487928bb0aa06ab 100644 GIT binary patch delta 560 zcmY*VOD_Xa6#nkCGq*F1M=DX`O(boV5nYHkA)&OZ5s7FbQ>t2h3|g;^e_(UhY-~wL z#KOW4u=X3ouTW>&32k!kIp==oJKy`d_VM%f4qy&f&zd5Knv9aUcN90RO*5HG zaby|VvgVnoXNr2XV3kWo=_F<5IdbAbK4qt(U+HiK12JK_y2OW~Nx?1gsf4*_Kb0(} zV?yTzb}#ODlu6>72j_K26->d+;pND19MJ)zSA|S8q7tDD3^MW*52zmy*B*a@Ax*Ug ziDDPL=%#J~MTgTvnNdd$y`c4piW*(1f_-iV3wC`>9XI6@x;t2-XfH5CzdFH~Fw}u2 z8&5cRMBJ*q*EOYPxQIDQi^t%DUY##FykRnB+fqX#FEC!Q{Y;N~zZ38vLW@`bR(2A@ z9%28~n%7Ah+{KckJPt|RXq`j#9;Qib1}&H+P8nwoGa|mU-Ui+Rd0iy0w$}Nd;)+=I g4u+-bXZpwz5Cz9N>207LaU2rj0&AzCi>k-VU#bvKlK=n! delta 1031 zcmZ9KT~8B16o%i~?RMKzXl-N5S1_m%+X9UkV+3QwNB}J%ib0JUUCIJ0ZMSZ>f}i!< zd*^p(#E_bJ;SccETmOJp@(aMT({;O;OlHo^oO$LwZ_ZxgV>>=kb0k5>#dr z1+%D?7B$PzmP-0HXJQE0YetQsx3FSqWqrf6*7K7~HQUmP_Ozuf>(&HA)U4apy1igq zx>jaLaVDjXGISZ%{Jx9M1zRhw&uLY`R#D}HN;k9kxKd+}_$Q@1(pl5XTE#YsQ~ZzI z!$;+Ag&}jiz^ig!|I}ttuiA!LnaC_Mg!O-0hGQZj(oWzz%5YFJEE3LlmEIUbXjxyX zuNKTz2D!wK1S{+({}7yIGXE9KG_nYg5$9mwKCMoaKoU$u>nK4IQJEqc6^iqa_HYIP z6&)%}6%S~D(Qc0}_n%61$_S;PM)L~YU!>0*U^JWif?*n88^~|bfrM3>BjU0T9q7jz z?NhB}Pg~U0#$coFBJ;F5YL)CZ;-5WKP#hi-m}o1Zg$Xb`gmb$=xd9wt*rd%Z%+Tye zG%6(`zM1Fg&_JVALl^l3j8F}uq&DxXBk3`cxQ-hx z~MM&OLr2e0W9{ostk;I|~(;5W{8alsVtuY47he-iW`Q&XvJZgnTQE GdG{B;B%ba7 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class b/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class new file mode 100644 index 0000000000000000000000000000000000000000..bc2a2c87b5652b35d21e02b0c7457ef5b0979c9f GIT binary patch literal 3970 zcmb7H-FFms8Ge4rWGC635C|+~A<#e}Y&L|Yd<4ky6_OydNq{5}pjtA?PLoL{Gt2C3 zAW{`AR@-X*s@h=HirT10&xu|HQqEC&JbK}cH{N;SIsO4&dK3|TelxpC_GAIQ$j)zO z-jC;f-j8|nhesd&8o*)vG>kHot57slASAGIOrO+~mTr$EPY;b5!=6CskZGIV5rOh} z6{u0MQo}0L3e>#f z>J!FQ#~n|e^Gqu%P?eF={jOmMoQs#V(dD=!N!|7=H#xaC>E>+DoG_BKZzQE&s`UFa zx|=oJRO9(D)*z~4t%hf?PGCbxYk{#;#a zoraCrRG=isc#>_dt4~ocq-VR#ELqtWU#cGvoN5eA`WjNqXQ^JpW^56tT_B{_7|yv_ zbCS$-#!Cmegan`cMU$uUPKt4F#WocU8nz=Yu)0LT1XSO@Wy|1~hc4+{frN%8>=1~M ztsWP)!K!qo$Q^cUTyH$(~ZNS77~O zUH1kh(|K*!$atn>SE7Z2SFTwm@Jb_#<0@@&84Vb#(o}7suHINB`&FY zQ9~EH1u6?P2s|gi&f}~G4>^|Jgg!3g7}mW3(;MX}>v809lx#0i z8l~z=#Z~6MWQcydbh@tN%4U`GzhA{C1sWbN-EX)Prmb62A%ZEqs^L@kG{-dq?VFky zaxC`d<0$QS#tl0a!3}&?#pg7p6P-o#t9U}iffGTxLw0WJwB?L^KGPM2vL0p0!jki{p*o<5~YB3<~NaOU)R z`tW$Sp7Bkp_!?*F(lMX^OpvWUbHvuYoJ+qKpYFG~stzsd|J0FGsmu$UeY))@#ZG$ZA-osHckw+H-%c)xOq)4%UD#P7m(S5!umKI9!KCl#IyKY&1re|=N-eyUQR>6sM z%C-%+-O{sJBdg-a+%6Wa7r8FRtYU`E`ead#=paCB=J&mflL=5Es-tHLAGaz0I=}-G*}CMAfgLCYtV|dQn^sAE1Uimsc$-7tEbj&af3&DZ)q=m@CZekEueCB(na95? z8k)u`A92Ot0_Ip{!G7ND0Kv@Q)oADzA_em?g<^FTgFe9>15s5OEO^>QPs-q8Y`3t9 z(#jkzD(N|VoUHi41Xddg2$l5vSX(6LdkrZqp_?jcIk4z?f#9WaFQoVbH1fQGrB=tv z*@zhGna9oiRBS;ji|sIz{vub}mw8Q7)pN)1dz8G*b@FG}jbCu%yNA8_ z9rodmXu+SbAAjXm@;6%gJ5qSaEl=QxsKPO^4sBvTIz$ILMHfzpUaoAHxq4Z6LAdA= zIqVVFxk0^#v*I1}`DM2UH4hO}ar6-yR2&py;{#MYgeo3jd-cCjEyP1SuVQCR`xj0= z`v7Hpjj#KmeuD+sM8H804X{vUW!E>c2b%H?(d~Cfz9D)NY>md*1)5f{>wpXFgp2(D zZZ z@*!Mcwt1FXlhde7%;B0mPfcSTWvAwGT_AuvkIx9qvX*YjCm-R)G-`I-#|{7a47A{l z)L#hYIHv=cPX(9xU*{m(T4%n8n9pG(nd1W(VZO%DhH>t&HoD^lJnypHZb4K*VX{ZWkPx;RmkOkxJ ox^F#%@<{nHPG`L9zn|s+0VkWlclh@M{E&BHo_>T6@Ds%T3o5n-(f|Me literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class index af974800cde4b8795aa549b32838afe5adc1cf31..9bedda4959532eddccde471977573d6cc773adba 100644 GIT binary patch delta 64 zcmdna^pTP4)W2Q(7#J9A8Tcl0wN5;2p(W422!sp_>{>e+7#SHh0GW&o+(42IA`B#X JfIKD!UI6f#3JL%K delta 133 zcmey!xSfgX)W2Q(7#J8F7z8JBwHgWeTQge4YbCMM;ihJXl029}bH%wk3cQJ=J; z#N5>K{Gx3AoW#6z{gBFnRO^YoRyKwVj6lf1z^=8Efsv761CYtYzzrnXAi@khKsFDQ Q&C9?Cpaj&iT%{_g!B3 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 literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..29b9beaed11976d6d6477ef647ea7999caee45e8 GIT binary patch literal 7188 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 literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class index 04b4c93cecbab0d511f2a8f5e946be20f1bdbbef..093c92c2bb953626bb0f918713d1b980c081d4b0 100644 GIT binary patch delta 842 zcmY+C*-ukZ5XQe#QVN&b_9Aox7b+CGXj-val@hC9)Wk^8h#~$1zDbO}nHXZCX?$~D zjBh@w588rNQ4tkU0YSxm-!~N8H;g)mo)}DS=Fa)%H*@C9ImuXGSnK`W(FvdyzfxLK zqke4xZ7kSF&3cj=tz)#wc7PK0G*ua^sMT0cqeiu@U&AE~STLv~ipvx(>~>uhFeQXN z7uPgg#|;Z^>bQm5ZQ7(fQF%{80q*PQ!FfY|b<91M+7lh;aK^whfjNF^Ei9rzyLUQA zU&!c79cR&PAkD%XDGcj4E%A4>P`I2;ERRb0y^d4pGVoEL+)o4fW!6BG-HcrZz6gZ; zNYF?*cwrSLn;J;3qW{ZxhWlR2&zA4966!KniJ?aFB=5NGlv+VWKS#&(t~V2B{brUR%PQFYd{4T^r(0^A2$~f#P|WtV~$^e;##PoWcAi;z3fCI@M0Efn65)L zmSQ&Z{E`$e$0o;@7i`C}F2v+bWV5qlt>A%NV9kV!=;ePsEa+q63Whjx2Y2yc+UOVfx*RR@jkG-tYIjyaE);E9K7avP~sx=K9V(=bkw; zv$MrkuYO|wz+nJoitW)`dPj8qmYb{f!D?f)I$W;}$bsN#ZW^5+w2OI9ySPv9Tk9FG zj&VM^esgtuwOFr?j}$jF8>8bRs|o&Ey*5@GZ!#cpKH22f{|WPAPS1;3{Si%RP7;!W z0!bf%wi6bMU2Tg+GjLDX+o&}Mc-2#Fj4;`dC>TR3p(SPltHdf}MpHHp6EfmtFeAIAHd)Jrcqp{lqcXcN z%~I%d9be!}AHFhB!q?&&^H}m*f>I_^!zmr#;|CvpH1HFC-n%U9r`)eP0{G3q2ly~7 zf0uLJ8JYXj!25VJjK2vzVr3vM#v<7z|H_ql1MlG7F!q@m5hqA7@CKKXN9>NY$4HYo zpMlr#dYIY>OFMaU7mBkHuSN!;t5f)1 znShta06Z{YB8YZ`kmG0%XAKaKEAcq?@=Tb*J}7vMU#L?I~QbjP{aiwffV1Yot z+o0cV(2u8agz=rcl^Hz4lrAyhD2_RV6;X~a>9zN)S;{ij9uo`&;x2LAAtpSF=Xgzu z*(q*|mv*R@U%FMF<#ss>Zwt%2_`EADkLN96Kpro!2kHV3Wac<$?5&?*J+pYx>2^0X z>rB!IantpMu4T*jWB5`}L7a+591S5xf)xarImOmUgGx5W)sc2}q+K0pM@Nv)_a(f{ zmYzEmxpq#`E3Bx6yBzNhu`=mWO%xYxB1Jr~XvK~N=GC00ehlGNoCJk+c`Y6AWe!*` zbWLODG`3wQ<=O{fn^{I1)-K@FEfy|lGaoKuYwjR7EZ#T2?Gj`bS z7snGD*rkqS+IGnnQ*q%H7hYl0Z87|1aNrm5ET5gfFonty^vXxN@Y-fAN%m9n<0Hn) zXY{dE^$9-Z`3m^(8FPGttG?r1AjTuKR9bg+{?<5N?!6?xjE7)KtZO` LK@_4eMUnasm-Q@^ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$1.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$1.class index 0c950c863c9db0d3687298f2321c5ea8b36dd0f8..b765e188b2e4dfdfc0daa42291342896b65a1c25 100644 GIT binary patch delta 104 zcmX@hwtrX5HU>r@8O@+M u`4^Ltp%#$M#GuWf1Eg6Pbb+KkSVWh>07we~<(Pn?h7M8;96&yU00#iWNf1{6 delta 134 zcmdnMc9xCn)W2Q(7#J8F7>qY^EoS5s^2tw5%n3^@%1lhkNu9im(S=2ykwJ7~zUX9T zCMU*yliip)#F-g1fLhoX7=dIogC>w<0%EPncbSw7wZS|c23;V{!k`Bv4ZtFL42D2j U2&j??C~D*&#lQjNGYD`108y?MrT_o{ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class index f803b0ac3caabebcf1633fa9f0df17bbae40a64a..682a03f6354168de166458d363a977826676edb4 100644 GIT binary patch delta 185 zcmeyxIgeA|)W2Q(7#J9A8SL2^m>3zPCLWa9sKw1RIhUz~#fFhVbmBqL$-kKTBa|4J z7#M*Hxr7+Cb}+~sU|`$;3zPCLWa9sKw1>CghW!oR|}qSd^KVl#?0)A{ZH1 z@)C1_l#owWVp*boPGVlVesD=qW?s5AP_85+vv{&GQyGf`BZKI~gQAlUG4V1QScCwYm_BL8Y65xDbj^L@EWrjSEG0Ra=d% z-(I!WT6HB91V0d^6^o!Ne~I8qmx9GJWzeC-fpr#3_2DCM`Sxg$q&U6-im_kLiRODIizX;N^3c#k!pi+2CN zKAiPxw)Ph04Yt2S@dZIiLWSAX{|J3e2sIL>lZ4~RUxZBYwc}lT(ONIygNpRQ2SM~nzk=YKA3{((vt47T+lAdZbLRYid*;lU$(1kL^e?~P ze*loei#PfSPjuPtBZsW~KI>S{>d$A>;=`a62XX}l-*GEn%BD{a^D~|)O&PKVX|0C` zT33s&!}jqpRVt>v^T+g1=QP-uN4DH+P- z`^INA&SbvX7fCkT@s%2_f-zDuoToS)s=tG^#8L!jxPTpwKFN>zn#&SKDaK1apdBK! zg)9t*#jyRKg8m}njQBgKZ?R?`p;t7mM|8L%E-r=WF1s+|u8d1dF`_PrZdXL*f5f(h zt+cx^Hn=hxQF7|Hmmk)nW!bKuZr4AFCTyxx{XJcA3Nly|2`{7S$k)**is_*Y0Q81@9kKz}sKr3ptjBdn zG0n$~9%`pgMzk!N(~m~nu$xXr8^*~Jjo68sPQ!L0hy$dR5XA)fB)i#6NWY+}(AZD3 z(ke&B;djv}_AC3f#Z9xnE;X5U8xU85p;#;RN1iZ8D7QItZA35zosx*cnotv}q9{g2 zMFJXb@$csF9e1$tNP zg05Wo0seu1A>t$yDK6&BnKNe|-}#4}{qghi24EV;ZTrUHPve|x=4o!-#s)Suwp>hN zn_ta$ZwA(h`6GHtO11(gqh?B zU#n2`wh9^q2bGQLNx1Zvqs%id;hL#0R%dIz`PGN5M;8=7{V}lOX+ZdRh0(@B>FhrVu(?$B)WKr z=oAm0Cn)}PQb#NYfNfOjJp~h^eMLY3qH})HAhZ zPQ{g)%*)jcyikbhq3L@OM1*X#u4=!%%@p0?kX?pBZ$3?dgc;0|Z=m7k=wHGLMH;D9 ItRs)W56p!}WdHyG diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6af37897eef8933d03e535cf57f9fc8bc9c895ed GIT binary patch literal 1176 zcma))TTc@~6vzKtO1CXjsa)hDDoEwxg$fE@xQIZJDio6vec;9I?g$IpU9!6c^~pp( zfQddE6HRyqKzLE5U^k>z}Xiaj7uk2IB{JGL?9Dmc1-9eltBfkreb zP#xDWZOu|p)7PI@aY#Y?nzpHBEzMrZ7Mx;5U!66jW#nAfaXDM7KpSU^lma{~(7{;a zN}rdH3LFbqGYsY~f#U&tl@fDC;6%XXipAV3&=;^_ZZe+~I2Euf%gkp42AHFkqXhxa z3JkKL*7F@#vdcMv^TC!CxxqXlaDh3dS(c+~Y`P?HIf(K=-t$$ADM*K>Tr90g-B%DF z(=F3B{fXc*Zc)x@$Dk*!pEqq;sFX|6UD8SxSyDw`)7R;N{&KSDR9s!on!K3c<{04c zv^8hzmgAZB%7XM)9Ye*eg2vrf4Lgdm7o_LUIUW@v^0qDAX-o4w?yUH~ZcBGk2aQsf zD(P14A)b+C922Bh2%e*cX27qHPQ*y%AswVQq-*gs~8h5UL?| z62?R9CQMg(_b^wv_cK@dpJq;k`?Ji+kcXJ-LLO!oAzx%p1^gB%B+!HwG@}*W=ppUJ z5Qa%da1}G8Iow2%bP0E$lN#87N9yAt9+5uA6Fen-h8K8A`U-EbP5K^R@Rjr%e&8o* z1e0`)vEVX?DK;>T_S-70EbK89*!CX-qL`vk5eha#8l`f9Yk?()InoANi;y)x*+%b5 HUpoE=Tr%=o literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class new file mode 100644 index 0000000000000000000000000000000000000000..56aa895a6eb0d3d101a0de35e42370223193f8b9 GIT binary patch literal 1632 zcmb7E+fx!@6#spIEYO;YSJVs*5)j2p7Y!}bG*LiDj2Xw57FZ2kF0;F6zV+IBe?V`| z^i)k+(~LbgJ@=3F-ZY(WNwB~NcIND!J@@nb&iTIo{_+*T9AXZbU>0Bz(F7|)`>rbG z;xbqqY*YU{WthikN(mxz;+Qj){|q#ZWc1vo@p zfygjWFZx0@FR91nO3a1g1Vc}4o^n7Q?y86u9*ayT?P!BjK)Z+zbTV|-3s3QeJ&B{N zo_-dSik^yzhXY`=R_Twyv=iYux<&NB#bD8?Ybv{@9s;D|6?UKx{Q|Cu7{GOg{z{4} z#uZ}*p`d1{V}&~K`6D(AGB~}Od(JIoGHznLT98P<4Tjcz=}-zOQhqPAp4ykwI)hP(H-!?FCZXd1VM(b|C4VT$T8S>yKy>vh7O-UT8*60)ogw*%tMcf2w|L1 z(2p6qYnm<}wgZzq;Zz;C4Fd;mlxRQYZ}%}F$OGrrn7b}op@O^54L zYeV=PHm#JZ!e+zVxja`=F3KO!@Eb5|ne5?3#lwn1m2*`E!;6NOp**CQ;8rWX%)Bi3 zCu#l`3mH1FmS{FF$4j}CtZqpug(P;p5RE2dn{tt%IiXAG1Dfr>I!B^VQq%Hs)-dFI zHO5byMj$S0`bvRsyco&nWpz=JG)>k>bH3pWj_NvMkY>U}_lSwsjP{qfHokj?#6%a$ z0vHzQZyFX@>Dv()84Z2{3%D#N5CX2I6EwdkIm07*JIM-UFVJ5zme7u6(kvlZj>4W( zL`KGwAJ7{3h^|xgj=iOSFL`lK8_^)q6QY+yXGA}pZs80=+h%g`oMJe!Z6R*-6cdT< zCgKD`W+kqfbDweR4SqQ9HSF`+Ioq(0;=JFm&$M&CVIK>7M@X0qjE4-ARteKJJVg|* z5W_db@eAv092;x`tAsk}429qnf93^RS2G?P5mpc}z9zB)dP&|#ao6Tu#vDY!uUmRr GZGQl*&y>&r literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class new file mode 100644 index 0000000000000000000000000000000000000000..35ba5d0b035f0fcb5bc0620a1f4a6cf824cf1683 GIT binary patch literal 2684 zcmb_eTUQ%Z6#h>&kbNWWq9_VT(YJJRMk6))gCv0w?iu2UGNkHV8c8W$8?RPiD*3?~nhIq$+I95P=X zj-J7x=14B7cnO0H5oe3xRM?|SYyw&7@G?Vh$d^=T#}!;vkW(>&ml---c>8P+B-^nB zuQHt73&Y*?q>@+K%%`aOURCiLUT0|IwVF-=^&ileX>l~u$W8f+d^_I2bp@j;-b9|_ zZ#X_+o1vx3YYf*11BnV-^C@Z)TMXkw(QrC}w=k*ThKidg5S);|f~o72Pt&5RP}WVV zXQRS!&G+k;QDKc+CGnsxj53vGARs^FeG@LaTPmjT4jC(ZmKjEZAVOz?Y4&Q1dT$2r zDtJ#t5wi!1kC=Dki>{hhl~c)$1_SkW^Y;RU<68_m@wH@4-d1r3?^9Pe?qukrJ9jl_jaIh94Tt#K%T}=Y0p} z`#T1nj3n-u#p2@Zyr6bS>AbqU!ZZ7#%m~Bqkr6dzI#Dv~R#{AG5=~sr&#RIV8a{Kv zcBV}^Pm?!I)3F_k*Jg#YX0F(sQLH2&u&SVv1x9IT+t1VPViMOJBr3Z zdo}p)?_ja|hdc+<+*r|tohh2;M!l8~7fnEN;Nanu{{KzSWzbdlY>+^IS6(_L%@O$| zHW)4i5jE*GUqtj(6Le!3Dn7yeB<_>oK>`+R1&(a1IzuMJr&pd{r%mlK`cu&3fry_Q zhkjf9#~3-xM+^^XYO^$BP-hH7SOuNiwxF>PYrH*Tdv~^iuNVeGkegM5f^X=xa=a?t zSYGMi0?{0!izz}62YNcts!QJdG`|*I>0PwYx*Z>q#u7r-_9LK_Sp(Qk^>fbS5;_vGLQ^x#L|;60Lmj11{Xa{^IX0k=}8lt0k7)RO%T zXSdN`T56@$z&3_TOKr3|QCf=9r+Wv(47+#**uk|3Qe)3Bv4giGC_TgU&t%AR-$79W zkLl)rf*W|8OvpO&T@Dcv>9Q-kjX82apZ;CU1C8TeOiu{Ir=%FcXW;HPhGqJuNKz&T i>(F7MM#eVrImyqEEJ9>%P4>B@enIHJ#MgL)zJCFidj&cG literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class new file mode 100644 index 0000000000000000000000000000000000000000..55c03334d106d7a832f7848dbdcf40e140b2b31f GIT binary patch literal 1336 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 MemMkO?5&La2lh8jL;wH) literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class new file mode 100644 index 0000000000000000000000000000000000000000..f9e88ad75b758dfda03dcfb9930b1085ffb291bd GIT binary patch literal 3117 zcmd5;TXz#x6#h<{WRi3WX}E@KffUkE8W2PSl>h39q3+X}!fs~NCG+*Pnwy$F= zY>#V3o#zI|qlh4?Af}=lD#MOWr;qTeWzTy^qMD&s%qlkt70V0lH7eF3&Y;vR-E_Il zu(=(DXHJMGRIC%?p*ev->}*i65t|rd6<*WLvR>j2L%cAf&1u=Xs~g#Z?zp)qlGvhP ztBP&d&aj~q&_fLSQpH=kTbdrxYN@73N>C|DYBI$TxGdrCRMCfB3_+LpBLdp66SYmP zTnu}VQqZqrFZMBPYnoV&R#TWLvFx&LY6e4BdLSRc0G;3O^quT8EUnzv?+o_UTwBhP z)xQ3+g8k&XbluR*O7{HZ3@^EYr2{I41aD!RJ9Wd2;UEqvctpiv9AVh_Zy;lmafXO+ zeUws)VSReQBUPSUbZyRh8;e{w zUcieACRDtH%M`L@!!2i1+Euk0!?6Ze(t7)84URfsi{L6%`Cts!aYKQoViG0trp?^2 zWf+vEmQ97L%upMk%wjm|57F?nW*7O*IyXzyc6`O%K-@e+I>%K^fsRm0-pLFH{XVqm z_`}?Yd;~gmA{j%?Fszc+QfCp&65TTVqLQkj378B?BEGGXWCvx47OC-RZr!F*%J>`* z-RVTTme=u4QN7&zZ+murC0i@*FUL!E(t&a6cEeVg{8(GiO+H$$PICK_Hfhk#*Z(iD zs}L*Ph`LsxFg`NIDa(6`u2!0*zTfa9VQAIKvX*L!qz*C+w!7zb%B7t2_eQ#sidNk& z@w2+1CMs^gAwed!)lu%a=PYqI$In=nOBt!vMz}j|m7TR=ydJ|FcvHb!D&EFB47+6r z|y3s5r2&;oig$?yVt zGf8Cu>%Suz28VvPAWXkkpx`QcaE%^J*Xi|h13RHLY`7#@#}WD^3+y7vGn&KSV{_&Q z>{!I^p|9wKKWRj12+Z4QT%>V_#&3zV@)I%>T_ilXh-`5pNUKK|alAMYqE(OF3)4!u zj}yiFIP)dGNt|oyc#=Y=S4ys=b35^DQ)hKM>mQ)N@DO9b1B?fdxN;xY9-th6XMHF! z9bOIbGR`3TmOKnd9`{P`Ins2STtNkQF-Z;; me!PqK@F6~;o!un4hwy%UIw|w)6T+ONeZ(X96rbZBlK%jh|7O7e literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class new file mode 100644 index 0000000000000000000000000000000000000000..8c8d0dae204bdc450e33f388bf51d26af8468e20 GIT binary patch literal 1424 zcmb_cTTc^F5dKbYyDeLxY!?Voe~*bz zY6LHd{s4cJadx*CNXwhup3K>qZ|2N=XJ-HW{rMZfGG6=OfRlqufEyl$?n7NF$>(ML zB&n)rrDR5{8VsH#MN^C?4BOFc8-Qq{b}uS&y2ZM4i#ji!A4U-7Fe>0a#%^Jy&N%~D)(;d-QW>1lScXT0AzaYIN-7+wPKK@e z!;#3%J%@3It|lW}g=4vB_z**!!-RlIOfmE|N~<-)PK|lqtaOtag`p=JYbDl)B&Io} z1kB*!jdN_~=~@oUdP$)j$4E-&%+x_XINuau^!CNle0x%f=xACtPSnI`BO)O9CvRXbMk~_1CCU2gW3bMW{ z6;#rAjdC`d-`J5W#6ixGiYL^HHJdM2KGloznqmRXK1rAt&A@NURb#zuPPCBGG+AF& zrD|2KlBL;Ae0|(7O7uDCE8#@IoKD&W%$c$z%?wEgJ#IV&!wS7Ug9{##q4>lk`vw-D zx&#*wxh~<4huoJ4d?q6!7|=&CRXqkE^tq`qcTH8U<^9v95oCM^q5Y6qmXy?!Exk&_a-;wx$`QRg09pkrEVsOq~ zS1nv&$#$~>SS~L1iGn+zKzr7Vs8}c!yc663Pd+I2IgP;iw!ZURZuF cv1UmJUXdIm{Rl-{UkO>vW?+78=-0*n1G@cQ*Z=?k literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class new file mode 100644 index 0000000000000000000000000000000000000000..32e297b5c47decb8bee1558fce7eedcadb131818 GIT binary patch literal 4196 zcmcInTW=dh6#m9>v$4D6o;HC}NSd_qB{eM+8l2u@2pF6Txj_O1*7h{rbiFp~b=s6m zOW}c6-uM-WB0><6Dk1TJKtkey2Ojtuu61*NKLE#}ep4s{4eCIo7X3zfo*Y^(r zT*4<|1kj`)sNx8k8QRyhbuD3N=4xU(yT)@iL-Uw!>h@)Zrs2q92rURH2&*^>m7(jp zr4{(CqIEN280&>Z+AI?yXm6A_!^upYr-Ne2JUvf}ty)#Ip`9UMZ!jG9t)Km8VW)~N zbQ2kimn#PO==CpN)Qk#GDmcb)qMqk@ZWV<05PH$4;87Kii5Tjxt+FJKxuTgLx5DVb z<3gm94EC_kIc>WWneV9^hkx2-oY~QQ&bD-OHR+!b%J+53toQjLi*y05R&r1ZDj<3_U(M z1tSJ^mD|@0ebp>*lMV}=+_cc^RTUYr)seDYw78g=QZel)xXMckUXz`MRG}maD2y4* z39;rGKJ|-ru+(QVi<9YGp)_Ohyq?o+o|Nk1i?UiY3Kk`lQrif7 z#gdb`J4FiKWEiMrDDHz)(Olv;OKbPFLgM|Y!US1hW=&;BRpV?N(r9xo?lIs|pP4;jALH>3UBp$&^x z#!<>JNB1hjjeRprdoKmasogtO_Yd9Ge@IN_z$7GR)vvdc9+}+Xxnjl2@d@3zHpOe? ztPqmn=oBy8)Y#CaT2^qUPA4GVALpnONSh|NQifJ8^D;w=*h9FapVfYtA-vNg(qN}w z66?KJKmDw}QW;wR{b~#LQ!5{!?};XKi0=aW)gjt-$5Maq*Z{rhvS7&3XpB||$#zG# zz@o8DDAD*P9*K@@qT>P0Gvw+2F+zYE-XI1L!YQ;;x7&pw0&-lZCn4(JSG^t2Kq2oy z+ctWZzQ%FdHNJ%tU(uAiSuVXELF;)-s z4S^z9+XWH<6KII&ogsE3TZq=u`;I^f8E8ZT+9uF>8R#hq=plhF$Usj^KtB-Zq73w` z1oR_;F5#vpM3hECz0Pfnk`T#Qw7s1P0Wa5T@e{2~!SHZ#8j1XNySQtyXzW|O5U-2; zh1OkMe0M zNm0P9+n8C3M`I&>!7a?zhWR^TER;Q$gJ^bKs@qstas_?87V(GY%_iguD*g&vCSl)l z!SB?9|0EUH9kRD@n`|eY+zo0(7pSuzrO&}0`X+dv=ErHim;OGu+DCIO_>i0pk^PA5 bDA~JYXUN_oyFm71vdd)elieUZ+FSkxg5HFH literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class new file mode 100644 index 0000000000000000000000000000000000000000..108f9028251509a528195777be4873c906a13c22 GIT binary patch literal 1755 zcma)7>vj`W6#h;o$(#(Qbez&aq1+0UB(#lHE@}c6N(zlBJ8^yoE2~VxQe8)5}^lKju5%H+!Fb&c00E{PV|O0Ip!eL`>k+ddqA0 zKQ>!G>8C~WDs=0u(+f|?BlEP(tOw}&d!+PhcKsp+b|dS|Ue>!KY5$bOHS!OA2_t?iFVP*G@2`U!~@z1H@pB`Uo3_4)2Ae1iwNjGRsC;_*!Oe-x4u@vlRC zwz)=m8!XpDf1%r0^;=8cYCy`RJ?@;{zejeqLqE4PFuHxcPPavS5AU@%-BA{+LBBvo zCQHJFNRoBgi~AqoDwWT2o84B`pR4POq<78#ly1hEX-eP(eKyq0i2f7+gf!ZWG|Y@N zy^J)jj5ME&G?0umgN!tGj5KMqqpjPL;HVxl;z`=~As$e?Z;6c&>Yvra*zb7%HO~D) zOyE0uCi$H~_IY^!*~eJ59Fcp8^RFRx+Y5@g+P6PWs3RnD&oRBzbOvWEe;V)kIW71_g(Td_$>6OcASK;kGts)v*A&eIx@@Uh;H^*5DC|9*Z& zk(^Hq=hGJ`K7+yZv$!+E)MR=+;mk6%n3j^x9Mb`&w@hcAsm=7ZbjnPJm@e2!XOVfD z`4_h7e93%-`I0T2W#*&Izp_)#*UV48#Jy)2dzZo~N*pLfgLHJ=Ba<*uq)XkV3g3f; a4SN5C{yLsw06$T>WBnx8@ICp(P=561`7sDFwF#12Qr_LfdeRN&Aff$?3=9mm47MA&M3^TRGq*Y!GcYkQ1I75YwlgqlX>Vm<*V5U_z`GGB z#K>RHN=eoiE8pMO!tO38Da%WWQtDzYD{I|fVj*S0-v96qtYv&` z=AD`5eV+cE*7w)t3c!SU)G?KcTFZ&O7~0O<9xtYYj|h0yv-wJ(WF72+sJltEPmUm= z_!lff$?3=9mm47MA&Vm<*V5U_z`GGB z#5h@(MUt11!JI*tfsw%!D3Uw5k|ltVaq=k^Sw&_B3!n%SgC&C%m}X+I2GU$Wl^j4( H8wM@_IL#5+ delta 206 zcmZqUoW;d;>ff$?3=9ko3=SK)QbRxlBLhoGMrJW1gRRfR zL~BOt$?D8~GLZ~S49q}%{94-?7`3#wGO%muY-Qlx2oz$Pe34nw*c`}GfGA@~ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class index 2921c83c94bb7602356ac2a896d130a406d3838d..07341ce0569f780d6ea433fa20a16678d6869fea 100644 GIT binary patch delta 125 zcmdnRxsikG)W2Q(7#J9A87wz)J!YEh!Q5=A#lQrF3=CXa+Zh^Hb8y0K%N!YERa4120N%(%nas0 Z9utEFgC&?|0;&R;&&a?56t!mH0ssiE9#Q}R diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$UndeclaredUseError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$UndeclaredUseError.class index cb30da7caef1eff4e04bff9fd22a99bdc41039be..b66200058d88e97380e2069674569e4f2a88db57 100644 GIT binary patch delta 109 zcmdnbxs`+K)W2Q(7#J9A87wz)J!6{e!`#BCHTfd5s4^pi5m20uff-0DGq5nIFmN)c zGB7e2GiU-yL!fBdWK|YVM#jncEV7Es3?@JkCI(XmGce7>U=F0YfGRnFq81EX0G$pG AOaK4? delta 207 zcmdnWv7eLc)W2Q(7#J8F7;H9jJ!6s+^2tw5%n3^@%1lhkNeuxJj0`L#8JWe547NTK z6RjDoC%6 X1`7sDFwMkZ1*ExvYB+$R)(l(#i!L8t diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class index 15dc103723ea3e29e6e0332d599e79ca92bbcac4..884beddef97db8c56a9ab9985f59554ac1b49168 100644 GIT binary patch delta 419 zcmZvYOHPD97=(*=K!m_#h#kX16m^)VPuzF_kHBfzyKut+^a!#dk;J77Z(zL3WC~2M zLnb8DPw{=-oqqFPT<3fH@d@A&54H29RziEOezm76*MG_w3Ln788Yndf1u5U=U#TlN z#|6J_Tw=!VjPnV!{;%D_DyZ4-Bh4nB?Ze#;_hh{6_C6#(ANW(~{qhGb{2~l!Ok|@I z0t$;kkj@iz8yt=CDe>iiOY4gw&BEgb@z@YFR{uuzYDR^8F)^=T&4Z}e;EL(OfItMF dlZ9(G85;`;Zs4#>aLe?Wcg%=+&lJoY&JJA!Cz1dF delta 599 zcmZvY%SyvQ7=_O?8B5aGnxerVMJQfs>_x5huDB9Jmm+pkXf-bLI3llP#b@L`u6q~mP0PFV+$KXtR9HrwDM#j5!)?^u=3%fYo|UhI0vLS& zcV57{WFnZQb>w%5Ir7H9&m#k<3=42*s$mgX+L<9=6diTEEhjZ8sUe5FpD2V0C_Yu| z!6?(w@echU14f4emI6Qtst<_ukSHfjLWpV3|8y`VL@emA93YBe2dm#<@_&a32@qal zB>+er?6Q-bq7H4&bMiH82@yka@D8gXLOgQoT27>fBovhV=UKx#sR0ff782y5*r16+ alPJ>Igif diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class b/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class index 6fd0d473eaf8da9a69d201d406eeae771f437c42..108ed5337886b0688b5b76fbd94a1dfab936772d 100644 GIT binary patch delta 76 zcmcb_{E><4)W2Q(7#J9A8H6Tsy`5~s=xVCPzyyR03|v~<85p&+w=%GA1o9Xe_<y_FU6$xlwq2}>->Oiap24FM613@jxXnZ=9@Y7;le zOw8kCw4V6YJguM%UctjUQW!CC z1KmM9=bRa*7d&n*r&s*htfMjhW7et@1h@C2%Ui6dIz_1A1*0aQ;T@q;mX$nWC8?Uf zT9Fvxlw2nOl4#;0O0iMaCnej-cDNzF$W4^UjtvzK)}b6_IE^!&u8s%8ai5PX{H%{h z*|I}EO_gZQ;rx_5q?4XS?r~s$Lu4d@Jh#xU6M|MpucF)a9LDW(Z1x8bNnt_ zg?FIS<0<~(tnziyEc_a-d%T{T%M*KwC$d9$4qYCv&7Ui$M?N6cl5~!#bEs}9agL{F zuwg>>iz|19_52fgmFxQ=vBOHys2h>LMky4tkz}?#k|?-|Uil~GHTtCPE(U}Q;i-K2 e{8=H67UIi7e2q7vccjw7I3}gnx0uFzxc>qAYkq$K delta 1242 zcmah|S#J|p6#lNq%XqNIPTGXH1!KuPByLiI3hF}wa*GrZ6llb%CcI4SQ9O;ejweu- z6uLrNws2VrgnjK6mZYQ&4RoPwr4oOjQXhFi3Qv_Ns(R+evg`-MgOATW_k7>^&benM zqbD1bd;g7J2N1`fmzBTWGpjpt2`#-^GYzdLt*^8VgVRbG1%?=()by>MSJMF8ra*hF-SM) z;J`+*ZgHVv6ZyWWBy7e2oj!mItrXcn{#HJ!wlD{uRBIO4nK3xYHWxE(?|p0$=w@ui zeB!oa^N2%&7a!uIB2NeJ4Ak=afdBRK>LF3RR-ozx6Twl3kBNz15T8`wqZQc5bFiOc zTdDT0KqdB-XJEJEGg0?*d{M+c;P(SLCh^u_XqDanJem!VENM+*2X<1f9ot1{yZ8ekWw57c@qklb`>?;HEg!7Z*7gi-2XIhm`x1wW*fo4OIQxzAc`gyy z2-OBcC5<5*7FauWgggf+7{bva%Ub>@*igZ;tc)dGVhQ7zm=36~POBYJ$=mLe31d^=KvNoY?Ec_^4AarTjfc-L#LroJqvYoZl z9`>;ApV&*Kz4UET`;ekdpuJ7nUo`EZ?ARe8S&=49k*@7?@A=MmzH`papRa#C25=h( z0rWuN5G8ovWf&@(a#ek7n2*wndzNj=ioI&eCDml`&TG16FEA{{@(1!aa#}OeYkIA2 z7j09OtJ$`(P`Cff8sFmZF$}mk6luMK;w^&d^DWx?&q7#B6N$4aZI>Q!Q6i#ZGrP5%3Tq9K#YW;T?vNGp6U9W{@;% zQBhRO()KDuUWmna9E8gf-bIuYvQ)csUySWIijH+DTG%@v7LMDvgb7?_=+)K7Ym|tr zD+D^(l}7V)mn5eqju^x6n|;wL5J!UH!dXJgPZYIgYliN}G?E-C32D67MXmU)Wvf-n zOEpQ)aJzFhsRvr^?FOO#z3BHe;WHz9hlf>n+? z64r2+A>^v7Q+j0@iS#BxGV~Z_hU__cb#`ZStXgI5LdbIDY2dq|3pG_QxYY|_0|kyv z3HR_xOW-!Z3h|)%>UTS;J?#uDr+nH69j@6^Ms4F+loqpp-6c-z+?Vjc=^KG`bI5!u z;WKR0lvB*kD~4h9{|D^^q9M&eaF)*{eBsnyFzeJiV$LYhyae-_u5Q$;d#ZU~cE_@> zXv@l@b-Ct#bL^2!=ZMb`XwQVjK~T+UadIxScPLI()+pRy*Ic#=xJ4*Mx2+uMX_lLf zl5)z2QR3V~_c49zof5mi1Y(|iK*%2E3g;z&hQnj&b1E=fYZ&%oMh>nJlHIG z2WaQ1=LmdT2>FZKVyL&6XX{fN$>TXunDc}^Vex0&ONKo&8E?dUh`tPuaPbKJbiSw9 zz=e!2;%ngIPw+>4VgnxzkA^rtV5DGzwM79J!h1_pSi65y9j`(*H$DU`+>=r3Ik+Mq&Gx>x#v;G@$+fxE5 zeTZdxe0+%YmncqmS+-tbXCv9bu2a0G3}f)o`wZdF(*MWCN;t>tRmy4 PN6irGAjj~~h0y*1?M($A literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class index b620eba70f1019f74d33e9e25e25ad547c923846..f2320239d5bc63d6fefe1b4353f58398d413542e 100644 GIT binary patch literal 3454 zcma)<%Xbqu6vnT3se~j>+R_pzP#`T%fDG?PdFKTIH>7bIT3+qgC}v0xMRm zSg~Toj#XEzIH!yL0sW(T`bm?K$2OK&cy31e>6@#2HJ_b-|NHwNBDzd|A8n$|oVN7S zR@%mB=&8Tvd!ZlIygQYrqM9(;b}5L0` zq~W?G&5X)fZF$+3)1u1gs4c}5%8T`>{IazJT4}Z!Rj7{#8U|w>twcS)BE#BNpdS@+O3gy*w@v^mP zXYW1Y^pc=NU_wAHP4TdPm{UulbBNOoMu&T6(dJY*vu*dBZZR6`y*P6q^Y}u?2&bQ|6>c{p zl(2n((*jOV@8@@U52N9(F-~P`1={Qe6==KXgfA;g6OD+OIXYX#jiN*ezh+>9$$b7J%(@W6QwylPa=R?E!!TZma_AARTh4 zJpnN4#v))pkm{^8w*pS1mdvz zo;-Q-#Lbf@PCSnXe}F%Vhw7e>o!!~)${|zf+N$?`ySk=p{(t%Je*ka~+Cwk^M=Tf| zhNEzd!Kqzm-?2T%Z`zOQySx!GICj_d-DsY{ky5#4!D|dIH@VM+6Y(v(y5}|2W5Ee| z#SJ6*iv>drF7^pZ0~ic023wrLXvOvUTDw)}V$-R6=s8^p8je?Uge%vHb1>R*Lk8oO zKA3spIR?YrkGNPDK~p#_1~a98IqQxHxtK_z76VK>zd%WRpyIc?ovbe)4C?q5bGQX^d zJOez#CEj2#Z7M(W=*_lSe|*xz}y=z8x6Tr zciMLg!f8C^_|h2rE{V!>n>wy1Jn6WMYBX2vYScpV8>XGd<&uGU{u#sGiy5-XvdYJt z@tLn~$1CHR$3b~^)0uZiCug4W#J&D_$MtwjY<%0YxIDM%Z7U=sy`K5;22<7F;89!n zu>@oFJAru(rs@|nlInMUkgDVxw|uZCVhzULPs8#GOugS5pY(p}PHQ07JPh5yCpxeb zm{(w`K`|q#LFb3`-do=1;+KuK93@kwN+6oH<42yb_ix#v?MH5l+wtu$WAglm4o-R? zM>MkUhHkXUMa%UaPfr{P&h0d84F{kaIfK3$g&O{14(?R(EejC{iNc^{O3vaG+tvOx zQ8b-Me9fvsTQv9zzF7>;$}yiGw6pRv0sCOp$8o>tIbp~{3)WFdp9$S}+FG!|;Jh{( zH`zU%E%*xOvNnDq8-U4~;-^fn%Yv_s5ZMIlK=isS_>RGKy^5{@g^kj+w%`W_Wqoow zOfve>9*+fBb3=u@2L+a}+hM^L_NJb{aL+RsEBGvE8Y|FsU1J5h))wpu>e0X3@SSJQU) zLW^JE_&k9t8!bb7bn*qT=lIV64C7P&3~&-g@Hrd@;A#|C*zPcfPnmoh{|2P5H}Q;0 zJQx3%B+As&@H##joS`8u5D;hK9Hrul7UB)1;!PUj8Ub-0E>J3_wGbDTinnNpn*_uq zc$-pjM+BUs{Mym5O^b#4`foJ}giw{?$7sJn r`z_ihXun7MBif(P*3mZ5a{>qf1N>1g_k0M+OmaKv%j}smXP?>ko^#Kc*Kc0F0%bR(roLRn@9HwB$k!+p5)6*1kY7U+xhm zT(_Evy-F?Dm(ToOLIg%CcGI=|wqk5^kYLs7qQH2l=AP54Th6-N6S$)bapb2}G&fj? z4jq*P*|7I)$vkUy9Qpl!9qACEj?>|O)GW0w8v@I^l|)Wj1+xS2!_P+ry3uwUtE%Y< ztmp!~bJI$=K2U^EL{y<`Jb!;n|34};_R>nwR%J3ks9>Ta3l)E#B35H1)kIv^~b}Shw(4LDUKdlJu`AmoC$jFXlpK&u}J|zQ8U^4P1hyHD=zk$N404DMh*g_l~!9d#3Na^G>?A(R#F>jZpObSLUu5De#GEVSOyO!K z&PvSrlALSEXX0$coN00jn90O>5OcmF=WEPn;#6afNzQf5W#T-EIrHRvgBzJR^_X)L z!|~lMd>dBN0=^^Gk;82)p@SZh4L0kMN^6-rfPlLgiBbuY~p6aga1mu z==1o&AK;Jj@oY9gb~ig&{E(gO%-lKW&b@c;>_7kh^*4ZJxWni}zkz`foWr2P!FJ$pp>9`Nk5#jAI(YQZ50l%o>>XD-3UibBWDeU+TW{8O^n512 zZyuUi+jOeg7v+6j@#YPTDO~RYcfxZZ$Ds=2dCSq8&4aRbi)PuT=2E^^G3}D+TK;=m zIpFPC4TW3zE+IQ+Ft2bmJp9-CafmxT#x4|#^NS2H(#pY>TdTU}fx_Zsw{fk!yAy4% zT+Q+Hk=HE|T!)Hxq%f5}io#IAsye3EbeWFqS@1apg|XHIp4qjsX|L&Bg=HzkiJv%$ zdjkDf1clkNA$HI%)OE$$wKR9KNc+U^f76ad=s`Q?pJ~xP-^w<(>zb}8Jdq|IIEjQa zLY~9J6=u$W)uI}l?)9cqS#hg8O-oXMV>glRv_Ll+K;gle@LH6E!??;)_gZ^B4rAL( zBrF}n$oL*dFXA0+hVhQgQ1A}Octx6Xu%f=BNcz5z<#-6*8)wAq*vA{Y0c~*~2Tmeo zX&;A&_t?i_=OD{LfqThYN(XGkN^#;R5|#>FEJBY;5%cfd9NU_8-AS=IP8~(!(&mVV z=&?EC0|M$n<#>8jcLU;LX~F5s%`jqexrIc05Fn zY{v%#)awhy$MKeGQE0`I+QFcw=~g~ULBDw1^b8kjO}C=gd88CB`^{lTS2g3ecWjI{ z9CnX6+iWy+!@zTe$u8Yk*Urem3x#Wm-t1Yzos@xXwoHls6VaAK;X+hp;A=5N^g3sV zsLH@M3U`xPgf3)-(a^hrR|=Wr!IA5cop3~B;72jT;R}c<3@Z$9$)=O>V;6_Q#hA{( zj+lW^b!G-a?*^*k3Pj5!S0Jh~urE#`RF|eq7+wHv?n1$mdAlfJ=CjZTGW)l&n1cYhY z?%{qagt*_Vhcm~in2giq%2Xsr2LlhJIe1Vf1vz{@@L92Wrb2x?o#eiT9mITZAyo-M)?bd F{sRpo6vzMo diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcLexer.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcLexer.class index b66f3db142ac3dacd690466e54a003b23ef9fdaf..037e9281b870ec96a88445b90517c4e255b13594 100644 GIT binary patch delta 452 zcmeBizwN?x>ff$?3=9mmjL{ppu8B{UlrWoIEwOB~s$?Tux(ov&5Hc{ZY+{(b0Z214 zdIL!|uvi46E0E2==mrsCbO&)5eHs0Lq!*Blq<0~@-Z-EMD;ZWnRa#FrR8Xsjn9aw) z4Ah&DU097Xqbq%x70dxa1fJy=x9zzu(S$zmyWj0Vv5EdirkD{y0 z1F8(hX6A8pm4!f+A=p%&LRVP=R2j+`1|-pfXstZD(sBk4#&Cw45T%S+lm95bWn`NC UN-32wVsehMBzq(ff$?3=9kojENh$u8Erq`Q#@j=7c2{WhN%&q=tY9Mh2FWjLc$21}UHP z)V$Q9#FEq${osO}WH8~AT9I00J^7xv1t)7}UO{OIBZJ~(M=`OtRTi%l>B2wihF zl4cgT=5Q?b9!1xhholu@Zv>jXU~7+WU;x^W90i3)ni2L!V$*yI-Qp6gdZQSlQ9KN` zcr9G71~l%=v1sOCjA6J5(ahL3`MJVdM&`*^6;owFsRR@`F$|83v5Znc-d+Y32#Yap PvbB;VdpuB#i7^2Hw8COY diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcListener.class index b148f03886f3d1e08f4cae981b41b8702c2ecf85..f4567f9ecb793e6c375c1adcedf5fcdb99da7a4f 100644 GIT binary patch delta 29 lcmca3ct=p+)W2Q(7#J9A8A8|@m>3zPCl|5^Z&cpN0RWZt2$28) delta 29 lcmca3ct=p+)W2Q(7#J8F7(&3zPCl|5^Z&cpN0RWaL2$TQ- diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class index 2b4a981d0d51c5b430f119f71adec73a20c83eb3..6ab375ac87ecdcca69d64085e3dc2baf2f29c3a7 100644 GIT binary patch delta 443 zcmZvXyGjE=6o&tqiP>x{Om>N~f*2J+*D4o{x42%S7TWs=w!VSSAk*4d+a%2O%%zEr{KZpu@)rX6{RaosXXNd2&7O_+ VabUebi#}j2!|jLg`2>#O{{n%7GG_n) delta 783 zcma)(yGjF55QhJAcFmeZFj+~&NJI+@V=RpKTjKp1uL<^10xl%p5=3ppN03w4*yI5O zZA2_AEqnz<5J5#z-$0z*tZ^e2vM^_M&V2v;oH;5#uW(&|UR(m`M_d7Cs5;11oi?mX zHEMKiIgwgSY-)+6R5Gpy206Q;Wf%g{gPc#)@^Wz~9lMyuz$O@^?knRFvKpreB zO=+2Iay7Zh&?MYawMfgV*q1e@vZZCT>>AaBM*WSu{5=fb;)y%!-%~?Im%pS^Jj+*m zAxL24xHRCZmChiYP|ndp(Wck=4O%HL%lDuS?exdcfo6&!$}N1|U;OQ#d?&hS3h@&p z#0_yJpxV#i{5}89!Yk(dZko%{Ls%zzO&<}_Z}WCoo!=XzmpTEbN$Oc2!o)Cm;4|5< z*sytu*ar*iD6kGhXtO#yfI*XuiJZ+pEEzB6&}Z>SxcQTXR|~v~Aq*2YLXPOw-IR_N z33;dLI8KdQeFJ&D7t(wEuihBO$%MX`v}jc7cV&yQcc}csBIGL=^U)qA$;}jT`Bm$c j=#Nzu`8S^?-!s(2F^f6lWSFN@rHV}L3$WA25QF^-wCZCR diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class index 0e6d746a7ff1758f28b0d8db3ddd105a9fe417b4..14c4b3d3a7a2e7464bbda87fe9552c1418c43aa8 100644 GIT binary patch delta 360 zcmca0_>!0F)W2Q(7#J9A8JstA^)gR>$ZRs%i^YEO5tj7Hn^>RLD>E=NFaqVdwS*X% zw=pmuU|`$;J~^FTR)Yy_Jr_tT(`E)irY#I+Ky5&m z3IdgxBPl+Crg%G0@eX9g77Ug^Q$P;4pRCED8iH){ZU!NyJut;W3|2rzObpgQYiz(Q hTLwEY&BEK8vxSnzXXH#8x81&?=8ay(}o2 z{1BQ{6)RA-ZDp-oiuPLEy-?!-L-p^DyXo()Q8%kbrj)mQ7X%my4H!BTmk^I&1)6fS z)9ACe_z9vE2a9RwKqt)@y3kEy8^uuDYc zVVIYwI-{9aLcu{)7qeUh<)a6^1Yzhyzbj_hW$ES<>JCwEKBCUJK|P1f6wa~yHiw@h z%r81TV7&y^F@Qk=4ml+(OyTfP2Wk2mC%vRAB3=I%G(vxZJNLFJ)4t}s;*oR*o!@&v zk&>ba#xPDYCP-27CG3^SAB{SuoI9JQGtM~CEan`qVV-=%c_a-B(4dgT$USup7{{OSCU%a^+1U8sy7S`*VjfDeY7V)dv)rk0YM||@*AcQ5Qpe zoF5_UpT{ztp~oD9=FI)y0$Crj$v`dC599Xi>N4*8jDvh2j$DN08J zbgxdwC?;r>-FP?e-1U`^fu1u#9j>3$RkJc{tIR#QO$^-ODl^=a^Q=e z%S@n|R8N!YY2uO^=eEh5g7O&aPZo>mNyNjSIaf%gE~+(q58Akzqd8e9sw5U^ASMwX?vRrTko&C3T zUX%4s!)jsOoYvVy=~UyH8{3I+B3dfN$KnyRNZn#}(JssLrdoEFx`65_bWEi%Zjqd< zITxxmnAg)5>X=*eC2DTZde!i*2RekSqYpP5p~7Gf>3*~i;O!u3cp_>U?H<-vNV|z= zK@Xz!tMA$^w8uI62uHsP`XP=U;pp3-ALi%-9Q_*T6LgY%uJ1wg%6DKi*t9~eTW#N^ zNARPMPPv2PXw_neuvj1Zb_@!wP{$o=+B)!cpb5^?Am`}~(5D$s-TPOlXRGv^o~JQ) z&>7E@3V`y20PKgSh5)<;?ks0$4`=8d&`FNo%hB(GKF86m9Q_{X6i2sl^!uR4Il7Od zKL9bC&e0!(zQEBP9Q_ICG)H%G^rxU7<>)Ss{tWa*j_&5@ z&p~H6x`(5`0G;LNAV+@*I>*ty9Q_sOJV)>1=&wOfarADE{s#0Vj&9-TZ$TG0`Y=a- z2fE17Lmd4*=n_ZwbMz0OFLU$&NB;;K{~4oQty&r?L|`e|eheD$-(|#YRNqp`# zP@m*i>d}6qCzL3O9t?l-zeEl-iu?|dKQ@XyMNeZEwZ=1^lL0sxzCoREG7KjpKDrr2 nKZ<^fqdzIA{k19<^h)b9u=lJBK1YVz3z|XS2FFeKD^u$~hc~cs literal 4636 zcmb7{X>%Jz5Qg8;%90QHQW7VzbH@pil|&>22$3*RWXBQF;Yf0v_up4<0XPTK z50Aj^vSw(eYH4%PLakD=n`zaoYi2jR=pZN(Dk zENfP=x}X^X$3m%8I9)Z%QPr?2W_0;<)Lb$weNl^Arlv)Unz^VOY9(8p(_(Vb?f`la z5a=fx`K5~H8m$W)4yCWF%WAZu8s%uRqSouNursn`>6K_&uUoc-z5x0$Akeqbfau!M*_Y;{a`|MrUNMpP9hDp)|ufE43bOEIcF49SY#E zG}ouC=+?S5KaL0tGv;RWx^7iT$tdm#AcQa}S(an#tUzLmN}9qUH+x+xS+O2OaLkY6 z0h~ZoV2s^(JML`%iWGsaGJ#%OPjX(b%$YKB&$KxM8<&w`hpc<{c1*e=1iDjmw9Wc8 zT{B5U=&s{mz?-CdKzozc4K2I0IIEdOb+$qy!F08xR%TRFm+$VN*P7QU1dng&04dBI z%W}1Ol@$8Y(~10KmUL^4yG$#R?oDw`kzdfuhH5RDBq`A{A-*Lc<1rb0bbFY1X&Zh5 zLZ@GfROemQ9m!lKlaSYYv*0*?i&_(ploF9r+6T;rL?xi4vPo(uCaLvKr>_(QIx?xO z?3HY;NP~r9B2O=g%(R@BnxQt6n-K7%>93yjBsEj=X-Ym#UY4BQCbDu;j#yu!P)JSD zx%krO^NHjo>9hNwOvp7l68U`YDh=0E3Rz2_O~^XC*__QN+;wBQx}Y27f<^gXAmC=p zlrg8RkeE=I_PEQ=7811cMEl)oT&K01LwSPgK*h~KGDf!olRT1DTF9t1H`F_2qH%=y z)KW>Sk+}~|Q$%3L~Xybi+p|*A>Pi?_YJW?#iWb9?) z#j~y1Y4fEb_*{KQc)hFZw65ArYOKkYERMIDJb*=bdC*-DyvX#(z6HmQR|cA%4;}H&jDu+ z?#Bc4Ch#D~AL01dS^f;iALaO4EdLP4@8kG4SpF-)X}A zuKRJC?!m)^oy9n{(##{YjUMWI$jrzpdT+zK+0>i1sUc^YYl;9u&yf*I#GFt2IiKEY z64lu_lk<#E1AA97xLL^CP54Hik|g6iCS0H5u1^#id&#Gk(0HfGp*0y4NDYT3Ifr&~ z4!zf;Xw8zq1&-gv@$a+z6vuaQ{0A(5k>k5L{zH~ear_X+f5h^Sa(oZRf6VfiIDUlV zKVkVa#|Jq6Qx5 zIsR*wFL3-ej{k<`iyXh5UD-z@EvX~2MvokyU{mjhWaCT_NUcVk50hDoSf@yI0yW#YfUvyqHF8H(Y z!9N2Xei=OD=jK~J1qO}Krfchc1a2wSP@pp?%4`K2lrwD7Z5>;5=INg1SD~4%AGb;` zMdS!6-hHChAEIkYv?NL8u_$z+15wwu=K6>ZU`=+DBWPvp()HQIl6}M{(FJ8wm8@-L zv#4xBZY)VQ(~~SQX%Y(xohGzSO_^?X{tix$($Uxvbg5ZZLXe38YN#tlf}&U`GjD#t zqg__0zJpzbE6}iFTs!-O)HSBE1Ek!0EHMZZCci;MAXp7?R!4)XI^n^MFRoBl^7 z^IN4sDowx29`;FIh*Wten(6p0TdB1#ksV6>x^MNJi5A z)88f2D7Bu~8kJhdsy%Decb$bHV!yPy46{OyWJO%k#ZY=LGmC*0MLROo#|qmDPMvwrh4>RHK!++OWEIy;<)toGFQ)Y+4MXN41h4ToV1LHKpuX zUCVA!N`91*G8s~TYrSoc)aFK6)1oRX;+XuacMcqk9;f6CX@KZQI&v(~Dm!7G$3;3% zc_~=LCAuxSIR%QH$1<%K=zbXz)d4ZWWCw_SgEWph>!MO#nvX&cF|1HEb%**pPahpx zNGdTwYVJ^}RTs1NuT;X5N{mbO<|kQ&q}C@$>E-~*aniz}QX8bRj!j>x;CD*R>1K8y z4ivc;ZunxzM;&zuYS1JTCwx$mKoT`e$;}@Bgmj;d9_WbEVqSpEmtELNFD-y6*uqtU zP${la?~Bd^6tV4d^Rzo3x$+@Edc&|1dLs964A)WeE6d`IYHmpG_;?blNb8sYcj*bV-$Gx3hX4Qo diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$GlobalDefContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$GlobalDefContext.class index f8307170854262e8f952e1e8c8b581868a327759..0be78512543559c4e647426cdfd16fabc919935b 100644 GIT binary patch delta 975 zcmZvb+fLL_6o&sE=nON_9!zK|Gt7`dqQ%7MjR(LHIf)J^if09lG2VFPg}3t%eGL^5 z7>y(olmv_r$3)(M_b~q5Em}JJX8-Np-&$S!U#mZh`>yrl&zB~EVLZz~Rp13@b#M99 zjK1sx&c$fxN=aziq@M@E}V#D{S?PF@L0xvqNh;~#lam8C1m z(yfxdBBRSPdX4l*J6-p!UK!pXeifrog%2faXk5m3>;{gdZTO5a9;z4@K@(g<^Fp^( zD&4lbh1+&Ia2>q=B(5bQ;{LcSiv4lZ5lx~~?bqq_4~9>;Zkq|F6Vvpw?cE z7ggh>tJx%4;*|WquqIp@D11WqG9RPv=7bMh9I*=2XSFMmcw2V;8gBM7Nw&Qm?=0y_T! Db`xT9 literal 3790 zcmb7H`%@cL6#j04Ssp2rs6`&O#bTQWB`vmE8>CPQZ8T6M5#Ns`T*AV#$?R?z{8Rcr z=!lNuYo^nVGwP@_I-`G&eX84-Wy%z|s(57_4xM z+q%owv&EWOmX~GScDSvfgCX7W7V$d{n#?giDw#d6?bxk+# z@C}7z=&f*frEYS6V=7tL(s%W&sauuooT)obE}tq??Mha+T+`0(Ud!5b%Qbd*)>9im z=Y*1Y9H-FB&`Hdt>Nd9+#*_J09InlIw#4ln!_v*A>N?M9IL(l19sNSxD$m*#M=92j zXd80Tr4;XQ%MB#!nK+)s8HT>&!8;5Wnxjv7`KY^wnJpNOO9G!`xYSzUs&3!mWnbP9 zL#FlN`MsLW9ml9zzP=GWuiTxwO2CF4j5vQvD|aQ!nHG7Li@WUGc_ zxK)yo#^pFBkR=(rV$X*%%$!U{z~A@Rws_gi_24QdHM|tZHC!h*h2~s3RmN5#&njIM zhg37SX_)J_@cNAw>6dWPE7Ii3RIea)nuM4?*NO){k+p4DcDyJ?W!$J@NaPw-*=7`pT8WC1yPC`+WUb)t^7G`X{| zJi9W#L{niywJ*cvwjnmOIYk&-Q5>@f)TirISij0mSu7+pcTIYKV(PWAQ zcF7STfDBh!kRNZP!$Cvif!txLu|w`?V=li7eK5%*S>^3Ty`~)ADdvkOB&L_kyhhQ| zplIz_pH#JWF0@BA+3rEmyO;m?NQ_e1eBm{so& zgwW@O(AOy8s{lohFX48WgmYmMz7F7zLYND~pAW--6NXAB5uPu|S0qCAdnf zsG^om^dI2q#_+!jz%>>AT{<4YJ%Y_6uQGXyDjA`DGDH8cG(&$Q)sK?ujCV{?5dg2_ z4I*JEU{R3;$}-@UWuTGlVL;bWS(d`mG7^@SM*;j%S?-77JHzmgL-EUavpIx8FNDFy z5Pk|!9ECtXKov!vQW}+&$&7r9;V)&@MQ?S>6#h&-_KT!A?;Z0~s$m61BB7$9M9CEe zehaILcAQr6S)}7LpV8~qUju?7zSZBxI|^AOCQ;)=<}pSe;8f-jM$_NpLIgrvRQA26 z?RWI!56R}0JK<|f;9a~&eD6yH>!;ff{_h2snqTlIz2L7WeZhzLh;$3H@2CidD1!6@ z^il+AieNl~{S2*FXr)sffk^(Qq4!VVMMHihL--hl7Ye%sq;5AB_QnOBn rBH-AND?^3WNh+Y2pqum`q$q$vYagv!w2HiJ(>g$_N$Vi3JLvikal&>r diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class index b835967bcd4b62961b009117b4c6d754c5343ecc..499bc835362d3a938157261965c9af35dfcd11f0 100644 GIT binary patch delta 581 zcmZvYJ4*vW6ot>u=CRon>#i8ls1bu8YhmFdzG93TpV3B33&FylVQ-|MeNn>z?4?(J07c4_baj(FUv;! zMAi~thdG!qNF{yC3}C+S*T6JuLT!t4))`E)PH}HIf-S#ms1tobu7KHy&dX*plhxfW zc{2CsCd*d$seUebK92>6@U|TLZ#2&d;I>D*!XhIH&Zk66tSVxj5e0kN_nd5i^aq@F z;Wg1xE5(sMRHD;RH^h4}5c!YLUHRMoD|-C#0DX0?^dWA!T1GkI3-Tc~I3~g;wUtub z!4>ydp^7i>5?lQTXD0Fj%2U@oQuCy1)=(j!1}@2Cd-OnupW%sG3-+Q{TIX#Wq3b5L Y!fs%jy`TFrhS))hpMff?!@i5u52KGfK>z>% delta 1036 zcma))%WD%+7{$+>nIq%!sMTn#iS>nxSON}2D@_nx&EAC~ z7r_T8DCpL1qIFT~)<40&!L4*5h-V&7#xM&B+1Kj4#?ubUim{a;J|Q54o0B{Sqj$@HV1d#Ie>=As<-Q-KpWNs7Q+ zT&hG|s+SR0y;Qp}9Jq1Qxo%R{C+xIJUF=@tQ}k|Mk-+)Bn^X{t0#tCyGjkee0$448 znWe8Nyuh~7CJNR%iV9q)>U}UNcbxJXS>;V6r5SQf%;PM1=RAeT@>qotPLRKng}Er{ zElKbGmvkN%INrU?J90+f=V%d2?_nw*BA|R|DUStQq>n}F{BPW?TtNpY%c`w1t1;Zwv-2OABux5t(EXBnUFzKzeh)~svqvrb|P665Uo)EG88MD9Oa$21{{8E2YhjZA}_ zAgQ^)=)Ms7XXsyJJs#5_+l`)-L($;{qx}ykws?(q>Tp2^-0hH^GUgIPFE!drs@oqn z4nAUk9t#Oqw$1i|Vd>r%XC0$}6D-ojZzvF3`U7{3`4Z9mwC9YT^R%aeWdhM#tG1?x lw$gAD2AAKkNj|8`X)7*u6>ClfYE;9R43}7k<`LL{{sN*&F0B9n delta 873 zcma))OK;Oa6ot=>tr(M5Nv2XDNkMFoz-c8?-ZZp4!Xpr9X`=28vcMuZB{7j&1QG06 zRI`C)5laws69fwsR!IB>cKitzNL8=Lsq0oOkR{*o%stU!PQL)W`s_if*i6@77JPt)!Aj_0%)CaJR^|8i5l(oOkVcauif z?YMr6)+W^2FFiBPklkr!d1=eg)DVzPl#7kV^o-olfAmVwz$lYpajg&S6Ad{^^iHVh zCZ=dS61LztPS6*_Nt~jtV>B*N4due@Be`4d{X>45WE^J{=4_8jz?mf*oNCe%W}%PN z0OoGiW5vpbZ9^+0z&T74gkc}{4`Ee;X#_K@;`nEbt*Z@#Ona5sr)*CY>=1gYFQOSJ z<2+GFiy7hu;b!T+Lz5F!gEg+bkC5Rpbz?bsbW9gkA6J ziol(wPCRtCj0{#{QAK1<;4&%%yrL8=L&K}vJIFtY1C==F8G)YvFX$SslfmF79?7zC zctwvndI5o#F;G5olt&de$i_|5h5tw}Q``0^5Z?AJig=rvIOZ^~D#IPBf@XATUw}yu HLmlQOUF>k8 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class index 72a99680192c5cf9730e6f989697830124de0a41..f54d0fe473a1d4f1760a2e4a35f95f6dfb8e5c24 100644 GIT binary patch delta 400 zcmZ1>w3d(S)W2Q(7#J9A8C*7UO<7->{Kq0 zG0YMSg3OW(=0H)Pj|72wED$;;D{#naAS;#uDwai7Y{_5+GzH{I`^k+Qsv*dV6&Qq= w6=8~n7_7k-+W@Vx1+(lJ?7=i6g9DJ30*bQ$ZFgkg1VTmzCm;z5MP~+10QQn4r2qf` delta 738 zcma)(O-lk%6o%jH9n?`Vy`_|B)S}H~RF-|&hn0O>EsFLgLIake618&E4=C=YRlA@~ zP!I+!qIEx_eSac4Gfp-}ix@cf+{1gG^WHOe{#)UB`+R-@kjD0d=Yn^OY$=~B?&ZpQ zZogRAH3EZDJ=K1O=L)@(0Fd^Uhyw6?KE7ihLp-f`QSXjO) zel=^=QZlCKUe}3U(W@m=#4SZAmSPCE&OJN+o}I8%QF*R>)P}*q$gWFs@jCcDr49^J zbQ)zIK!S2#LxK^E(v2aBF^WT!C#`m`CRFP8zC!(t5H^Iji5SPAfv6E9VKLlVAo`bw z4jaJT1hk{m@-Rz|9mMfyPiWKn>j*v2&HjpzNeDMo7J>AbKyZ>E3{yy1upL=)hGp96 z%5ZZH9;1nOBFMXJ5YdDPOk;+6XK5sDGDzuM3oOjJ?eLz!g#O6tPSMY(~LZ!UJ%> zTDJysR62={D14gu;CJsbx;2WPAw3jDw}ohzAk-}5Fh-ySx6~v{OKhWnc-WG8It!v> ze$hCiSkun=HJ;ThN)}LCgb^-WB03RLaeWypLS{9Pkr$YNSR0bDN-|bhW`k%pBqJ(` zQ~`Bi*xd?b#NRB$H<1y4!f2&I(37FYkrn?s7jisZJ26@ znOV#Q1x-A~VXeZw{Dw;lx62>%SO~xj8^|1X`Vq}%s7)8q?A)S7gNSJUqLxJVV5xm9 zGRu9oSibaMlXhw1{O)qVE{Ek^ma#$^v1HtPtLa=Wmpp>4j=x|#@Nt#;YyNEO*ziw< SO`bN}7#wR0amaW%#6JNL8CJCb literal 3478 zcmb7HT~`xV6x}xoOn~7lwp96Ou~N(j8l|?iCL$1^q=u+TplYk_5Uz0~OtK~u7X2yy zhd$UBy6QuheeI9x>bZ9&(}dh8d0=KTxqF{|&fVwS@Xx<*{{pazvW5V|r3$yWZ8-cO zS*%yf^77EI8{8g72m=}hb!Z4P#CtAWDAsw|d|`4sQ?nd?;xL3O+$q%#xy7&)&1Pe{ znq5g6mQ%Hp$G4Jp({juso^))^lO=8+nU+z_*A93}#2nT!0-a%;I10@w_edKISE9LB z#<7vC8dfElsTz$&D(1dvI%YMQGaHU%7}GJ135Kyw28MJuK`(7?4cg+TG(;G#_O8O7 zVQ=uVr&c8Lk&cfs#W2(=2BmNzN&#gO?UFCzl7?v=Gni#qRMx6X55r*Ev`lA3lvrKg zE=(#L+tctV!;B&gQ9j{?5zJv;$7Os@738#`w!gm&$!Jaibpv(zAQjsaWD7dJ5M-nL z#B_Wv4Obba6=Zv6!*psSV-YbOaU@8_v3Tc08CLs~(Po%M}NsZtdu4_o@xPhBw zZe`7-KV@zua;m3`@{npWFU{(KEgXKkNBJdOI7nLC+ji+)PXt3Sn=euH=(!t&A(Wv; zq3+0;7SA`2_PJd$_N(+JlB<=CD!I@UpS_nM=cP%uTk2=mM2zjV0vW7WD(q%R;BfYU zj38T_-saW|Yne@YD0mM;jn)7l6_m>ve^Un(&5C6>O`Bw{b}dNvBW@)nOh`?na8559 zGBA_=vLyLfHYvm1zEpIyc1lQ~srEhzod7CmadU^lrxj6qJFjChil7M*^qlJ{*SbOW zq+#5{o^G|;CmdPZw2o_srd26AbR;n7-UQ8B2mFNW8jVpFLvknxAj6Fw>8V$Wm+^qBA`uYbUgb~v04ix4i-uL@ui49obEuD9sZ zO$6x)(Bh%sDS~h4F@Ue=Iw)SVHGECay1NA5;5L0?_*MZQP{G%g@H-0lpbDN*!c#tc z*%Kd*Pb{eL8*TWouRg89&#Um8O8i|F{;~?crNpn`9@W?_e!we!By@_Qv&G+TgKM7r zRoZ|6)(EzOb-D_gdsK!1-ACe)(99`D-yw9C>b|6!a+i5j1V9EGM8dGC(ln{il<%o& zOVWJTt!dKLGR%n`-J;jByM8%$(vZQ7k-+P+UUY*D;v!toZ?7MA(T6O`# zev#ZizjCPz$d@UO%Yu)EGo<%V~{2FaA%iz^W*=yMd-gP(MLZ~X`aca=lEIP U8GfOAguV;WasxwhUhZS)Kejjx8vpJ3x~xQ}f$I(z7`?LOn1o`2Y30Hu LzNMhYJ4f^b#VZu) delta 409 zcmYjMJxc>Y5Ph?k+nDo|5M%s`F@7}O1w6}wdq|MiVK+)r!tisqOqh$4o6c37T%4p~%5(}w2NdM2R(dAf2sXmDz+fR5_No)?idUG4rOPc9g0j z9<-Zlx)>NcV!K%`Dd`@glG-$P&iI~9?Q~)PA75+I z&YR{>nC7>r7fd>1(rxNRlb(uoP5aai`I3njVy@|X>SdG8n{=1jg~u2iV{kB%Iq4sl zMjIHcvknhE4U6Ri65^4a6|6=pMwo+ZvJ%&^4KL`4{WVk~S5aT7u^Fqs&v4c=T=9Z+ zuHr?zWE&bjbN=Et;&&ZyVv9Qp_FPpRr*NcC{(vVwf3b({V0--IBzF5%6?^?Gu+N<4 Kn{7S^aDD(fqCtBA literal 2645 zcmb7GZF3S=7(Ev#OJGS1sj*_}YgAsM*r=@)OpU0ON-zUVzHi_b*KBr~Wntn^@jvu~ z{Zd<}wdu=DJ8fs$U)1Sy?=F;-%M?Gb_wMDM^PJ~-&b{#4->=^QxQlHKA%>G3Zgbc0 zc)QT(S}pn5HryU}IamX(>~EW();xuMo{ur8==dqySn2trH7%nLVO~4qUCDS&&4UvaBi3tpe+R^YX!zo3% zs%Fm<)lOgu%Q{ZrJ%$9Qs=0mzWgG?0k8-rk#q5rtN$WTzXyW|9^n4Z#?=z$oG&^R` z^c;%5f-^eK;v7XEh_zw#JDI8irj9<=jVHU$c*`p$Z~?0tF6y|1%M3YXk!9B%q1f`Rkt_m4{9_S$P>emCw;S)oM80;A89l< z>w@oIeY5i8Lz0lcYH7ZwpFD0DOd7(is{)#%6yCP$m{7HX!{u&FE9%Yio s13V=8pAy19hhpW?zqzGQp|3*tj7sxZ&Z^jwBSVeGIBkv4=LzQi0VuCczyJUM diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class index ffc16859ecf14d70a871b6492c099922b3e9a0d6..1fdd107e0586b6b3f4a0e57c2c0308a15ab92595 100644 GIT binary patch delta 522 zcmZvY+e*Vg6h-%Bn%J2jI8hOyf>Z<<-$boeYrJ3TO*J*=<@?Z? zDm@q}5!2%846)4ud|iSA!b3%P3)}3HZ8Auv bhfE8fvqKy~p~7r474w+YFi)6c%u}czg={pQ delta 854 zcma))%TC)s6o&utnD|B{Y#>NnDkQ`vkVO%fLedZ@P%hyTFtl9;6bVZKDiR@BMSX_p zb5x)R7Az3!z6CG93M53!<=8R7Ko)G~KjU-$Z+?6H+blQhfA3Gv0HpBaNWbD8R(fY6 zn_tWBI@$Gn&UP0Dxwz>R7-Hf=ii!XHSm7JReTH7zw~0g6ApXeXVKwg*in;CFE)Ax| zN8Y8S{ReSzDLeJbo>Op&JJjxV+tCkkhRDm)4t_qJ*yoLe5TL}ZShTN8PjX|pGD`ObKC)zO#V}#azssjkEg3w+gZfYXpNR)g=pC3bw zHnbBX{2Fi@0I1arpOJX$S8MtI)$}K!jXu4E=u{%H;A`InEJpRn7PR}0q{t}ELqW%b z=ZMh919acvRw;~;hhZFFeD8|*rF2Yi?<4E(JeOc{9`IXLzl8}*l5dKrbXO*oUtfSC zb6paSysmp`6<&yV%6oa!n4u8vU2X|O?JmiIU^*;r1VF9TV6B+N9HmKSSJHef@8Ou9;{kv6W8m{fctZ6f^+?GagMXD|Q& diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class index 1223c5cf99a6d827cfdddc2490fbed6fb0012e78..5e298fcd64d8fab82f454681a4d1187e70a9f843 100644 GIT binary patch delta 543 zcmZ{h%}T>S6opS_YGYa?O^RYHSW#S1K7r~31Prfk@TXubE!UMLtSM; zRT?@|R`%<33K9m%VZUI?Cge5u1{N8!y}D>KE@7T=fwcrZnMOa5TgFOE&!`J?te$jx zV=25oqk7ztYN{9BX+dOD$}l4FMG!VxdnV3pHzDBt|oq!PQ7|GK==*HuDjzUp5sy1^@s6 delta 860 zcma))&r2IY6vw}_vt*M^aFZ27Nr*jpi7D1ttu-23oBFG^S`8kBD1k1-Dkc5XI+|OZxt9`afOuV|eN5ZL;zJf=M$#2Ektl zJY+bLJc2ET@oo%HyD^+fdVfp*3KL+q`x6p_;V~Ew8O|h+HbXC-H0F?{sVOuMJ$Zyk za{IRF3v diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class index 8c6b6910c035d7a4028c65dc48438538b418953a..0c9f9641a673b6335bcb5daf3f81daa7a92522b1 100644 GIT binary patch delta 1043 zcmZva-Ahw(7{{OIIXk+I)cI18Z)oa#EpnRqwlT}pEzQ?$&a^b4v^PP5AP9wu=q89C z{t+6Hb}GUPFX|>Ds0=T>5Tu}+ZtB8rg6O-Q5qk6t&gbmx^Lw7}^ZRYX;MsY0zW=+t zLPTB}UvfSwQL813T2)!O`s{AzGb**TL_ID&sveek)Q_@ShrN0H+T@MNn?7T*JTrMF zmlz)++jE*<1X+BzC&l0ONIjlO8q7D+2(tL41$Qr=x2=6kwC^stY&Fxyk?akurI*vpw%nmMB43~{4US+JDx-%SeOM&Y zF9WJ8S~wNLw=0xFYqTI?a&R6P0UN1cM(CFW?4Z3>bn?hXxYJBwlC;To{6)CX#r^g?gbziQsd-?`u1Xz4)HD=bZO> z-t#`^oI_{%r!;%Md35C(5e4PVi=HF%=M=XM^@n5K;bb)27mI9EA0|g?Fgnas(q=Rl z&*Fe_V*aHHw49TwtVpQ@P7H?3*tY zYGC&CRk5MIaBO8{$BLnNDsmtN25ZJh%=AL$6W`*6j!-xT6$vGnJfTE58HuM%(n9-B zS1O!>o^iofQKE+u$;du)`kByhDx6H&vx`hYqqk(TGbeJQ#A|%#dr2y-$-jN8d7e={ zWrk6;pl|_pklY)Ktcedqumd-E2kcm1-XDv`qp2n)j;31|Om&UCNQluy$0a)ZDNv*d z-vV>2LxPA4t$Asd7EIS;gk%{$SR)NUmKCxR-$uj}*e>L=bxRN{o?s&$k(cEaJGs&> zMJrC{=Wd&jtBF|&l2-BUr*+5jb9*P`Ic+!VdSjm>7-$1%;xdZN761G5Z-{%x#awp>Roh)1CObg#6{=u zhuFp5K9_XrvJs0M#O#G^0fSV@YQJF23GYjBqI_89P3|^!sY1qIUd% z`fTn^Ic|PC!_7%>cbnX!b>(e&+#cC%anoY7Or8G%zjm3I3l5xS6v~tZa5l#?^la@$jwZrWeZ$z@p+nSy5NFe_wAZgv=y^VPX1B0(LG3e_^!N) zF^y*O*QmG$J1ga{q!*Es%6VK~!)yUM^k+l$>`wO+-V}1B-J#-ibHJxMG`ReDwnNM4 zn0+R0Ig&ee)3MAFCs}4rla- zrmH+^9@w(aIsLe0Ovhfv)?U=i%X5T^xPm?~8|BhIq;4y6EVVC`%W*R^=8V#MYgTSL zPnkyR`mk-Zt|aX}tH?H5Kb)D|___vED;jud>aopE3;1I9@ vm;mkuz78A$CV@@BVc;k*1xy0>0`~*=0S^NA1K$E303HIq0elB|klgqepFoG)W2Q(7#J9A8N%2Zm>3zPCSDZYsJw_90F7}7wg3PC delta 28 kcmX>qepFoG)W2Q(7#J8F7{b^Ym>3zPCSDZYsJw_90F9vtxc~qF diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class index d80a4fd46c12ed3111edf406c30d56f8e2d8e6fc..5c76839aeb5412a60dede2b3c063fedf6cd9ff51 100644 GIT binary patch delta 450 zcmZ8d%Su8~6kX?G_jb982nJeSvCMq-(##%K^a1q?l?4(_g6KhzA8|%P^Cm$B;h;gI zMtwr_sE?>!Q9Cg(kCh{R!m#vbzQ(S*UB^Rsv^oJuH!9%Nmh?Q6ZeP>3}YW5 z96%t0DPo#Tf?m)E@{h3Y8T_RUbw8WLEXIk0(%|iY^oXJ;Mtaf$clp+16aB@G$tB?R z6o-&dtWhyrfn+P{cQ4X97;VGSH_*!OAp3SWg@rSOan3#$$dPrSE&B^83-*S;Me2Xl zEHnMB!hYQjlHp{NQE+E)>MPzQ4_;QHfMT~{2{ZII(`RW_)cA^!w^70p94uoMYl!^< D0WCIN delta 670 zcmZuvO-~b16g_v|D^rK^kuhjSVoR|iRJ1BEKnqAg6BkX`G$ihv)`@L1*g7^QY-I1! zw=n(!HpEE61{bF1Jx>_|$Ee7FZf-7SXj6-;UNsc<} zM*bF?-0On6lF2wtyVl5K9Ajdj_gjWwSehqtI?+QD(mOX-7 z9rCi;l*zf?ejj=mH@p4rBH3Yl<>~ZtuKFfZqqp_Q(|iswYT!FexeF=u6hfUyXXnxk zw`+!rX*^=J5v1{$4KmmOusza@pW&W~_^P%e-Cb}gvWv~uy$+Eg45wff$?3=9mm3}zd--Z4%#V5(p=n7oonk;RyiL42Zs_~fTdB@s#tObm=b zRa`=hT00no4=^xp0P+|a)PN)#SjHBpLYhGaNU8$G(aFhm>ff$?3=9ko3|1St-Z7d9`Q#@j=7c2{WhN%&q=tY9Mh2F=#9SaH;1Yne*wO&FLM7=ea! z2{CHzU=TjQz_UBlHzo@?X;;v5ibKiK-h3jSp-A-6YYy;H1{&QbmAGH~OdBg*{-1u407BJTNBeBaRb{X~97 f{eO!Wu3w|4Q1^4l4P1~7RY=`J#4m=pye;ei&F&&T delta 487 zcmYk2%}N4c6o%h3qm5cvO(?mT(tf5It4S*t38C~uffAIq2wIFbq#_9>ZG$%Ln@ech zBEbp@x`1w=yNS+xGYdIz{y5M3o%0Qp$8hB5@ADf#0l9u8N19sd)UEcp)oog}wq0=@ zA<%0yZwU#fOw*KicIk?iooC9Wy1l=jg+GUn|?wTR@j(5ag lI3GUcVrZ|BuO?$%OqtjaF@sHxDsv%Zu*LrsPS&uPT#+ZSLff*>lueF_lQA>L(1G|>Y rRtDaUKq1D-a~UNSnHfZYY$gU#1~D)#&L9b-xfmE3I2gnkq!_pW;v5ds delta 184 zcmZ3${Fj;Q)W2Q(7#J8F8002$9WfR1$xlwq2}>->Oiap24FM613@jxXnZ=9@5VVXrK@S3j+h=MFtke zOAMThml^mNuP}%J#T6Ksfh0eJD1#V~2C=vqco-PLEPe(71}31qIFQH0Ai*FBrllBU QfHW6S4F`i1gDe9V0Nh$58UO$Q diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class index 174f2398228651ea8bdeb446619bc9ba95c23e47..34613e72e2fc20bc560d1778717c7984b2f1de0a 100644 GIT binary patch delta 408 zcmZ8cO)mpc6g}_FbY_gUWRfA04q+iR(yb_|itn#hRqYLt5Ed4~vOnVe1tn=jNTdl1 z3pOH_{y^6fOAA4qsV=0ObMC$GoO9oO?f8h=&p&tf05T|E+pg4XNHri+4K7M0vq@Fg zTvgDj@!0xNu)UuP4okt-!Hz2FzF1XdJrHB6uJ@M(rkUeFC!P{3Xu}y?oFmJL#0&&x zF-M$Y?~w&L;@`l$V)17;8pA4a9t$+JN}X2eWix#-PLGFPV(6);x5%E5YQq>xF0qe6 z`-W$tOLTuCLD4AEP3Z~OXq2SYi{WWCjHq`bL2J9&b3BYkDjyI=M4_A37Y0pOli}Yp y@S6!KCWN=R;Vm_cclPbFa&9ppuzA6U|F=DH*)nGmE66oCj{@1I%0eD%uzvxe)ICQ4 delta 766 zcmZuuO-~b16g}^~8K#yJ$;7siw0;m{vxZzN=^BNuP-o%flV^-|xB*TXrKLsO|+#+m~x1#}?#QVKHBhYKI>QjMHf*G>T6sKE)n9LlVz% zfjWmED5h``6O>iej|5m)?IRS&C93~)iqttz9gfR{n#2`~WAvS;tXO((4aTbwpk(_% z+XAbh*3J|?(qfoGiRS#vHhbBM{PI8KofXO?nZOuVIEg8ORPES4nX`u)5fS-p#s9CAa?M2-&8alktm zc#lDRAg?}R1fOt*@~%8_e>+=11y!1y#8F%$w|OX^fM&#g;+TP0Q8{=Pxk!DK5bFH2 zaq$=oCg}RO#VXomODK AFaQ7m diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class index 96f1ea9b034df7991b0a675a3755e87df43b190f..4154413c5b07bacc817b8bbaa7b86a945afc638a 100644 GIT binary patch delta 388 zcmYjLy-or_7@XZby<<@njGEKjMK}ap5dRfTd0@IG^VqZx@=I*nQ&krG_EH(IB@o*y72APobPOa9pv@bEslUSSvJxl~b5O)< zc(_3Zx9paX5LeiZ$bvj!Uf@6TF|tgi%{yWq1)`Hy$xb@sr08 z(?6jHNi@bDdT9?$|CIg>)pQm&guJ|&`DW((X5Rbz{AX1E^Z5M-fEsFjeVSwxF_ojG zf#0Rw&3N5wTJC|>b*zSK@B4l~Iz2W&HrjTxS0#kJUd!&P-&7$}Nl}Qs)bR?h!zhg*felp_zi3na z6M5QJS!vK)RhJ)&83}bQ6G!tLO+QtUL!J@$A&M~&p9K`yW;kaK zFc30s5WePwK$h(@P6Lb!G!zG2D_C6}1Z!Al@2kJyTgDcnILkz^h6?{-6>snkssE8POrrn* diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class index 12579828619262e18e38d17ef5d12a353ccbdd16..85696d6193d9359c9db7c692e08874d35edcdd2e 100644 GIT binary patch delta 2264 zcmZvdTTE0(7{|Z)mb1(59u(GUS(eKp3bI@lM6|1-3oPIT6})f}u!33?6T~gI zI`7~TK{@hHo_|(lPj}yzexrL7G4Z8(+)|HW7l(MhgBR$$kjvz$^ab|CI%yo1^~qk( z(%c3G{o^7xSLz($D)}V6&0eGP5?(6XGn(zob*|+V@_I&_eU;92TracyE%r4!ujO^} zpnsjcQRgOZmcRPj>@7OCa+|EkY_z|u^G0ruUdT)q@~`O)@^n_M&B5K$9mtStGSlQE zpC@`f@FR;i<*|ZoaqkQA%9HWl=#;`bQPY7~Y9zGp{R9egg#?RtU|9ZkSkC1jbRhSu_lT(U2Y>Z_4i*sgf2kRo+DES>U$Cqrn z?|?5hHRdipm!rjZj1jkIw}|cXN=c`NwK=+?*>e^MpHy#kS>g%4GP4@S9cw=jn6 zTXYVAk;T1k9GIDIuZ)Dtjp(6pM!HJDO*~3T4r+W%K0r8TbMAkm55gN_PPG+#;gnjL z<3>T4PQ!9#WuM`6qp~DbIXNk=pu!=F68u0=L?(DfMk1{ScrlXaQ(!#VVju|Aoyi@R z-l{bQ*He}A9EVahxi)#HD!33!hf@lUlWd2{X**83?Fc2lfR^_UNgGSt4WSC^BRmyBH)zshoQ zXcd&CRZ_ARp-ip%|5YYUhUFjhz?`EFEtPtDY>Id#1H`}P#{<$NR4Vh;wW|&`Ebd_qF^V5cS(fl|A z^v0QF`3OzBN}=ZbA*Pi^D4{@w^3}0p!E$xWJg>^gPI1l`bG^vv-q^VumG@ef86{oP zT9OhgNX;4VnG}yRp)sslo^Q=CuxqVj%X7vjmgBDO8Fy}KpX@4!iU~C*egV6LU$tVZ zt=L+A&5B(HR$Zb`?@47`$GfcHl~%@Uxz~zaZN)Zmp9MR>4OVa~@3w$>y#-6Bd5;B4 z(u&>8d!JEa#Y+wJAan)4#~xvw%SW delta 5611 zcmaJ^33yc16+ZXOd$VOBiD6C1LL!ijuuBrwu!e-quow_!NQN*tnZ(Hi35bJIx3-G- z)E1XorHdl1V2~h)MXlIki?t$FYwL!JyY1KZ^HXU1-+SK-A&!3YeRIyc_n!ak=iT?o z1LDLH;XU@>gHI9BRQ|_a@5r3AB=I6W@8ywnuZu?s8fLv+m}hOt@#K!AGguZ6%D>m- z-vKXQ#1mXxk<67`Wj&Nr<(!mECQr5&4H%eFQ?yhb`r1oLJS~~4dAgOEyV5x`nP>5A z>#E!aXH7EC|I_O_4{{$J4wSjg)d3Ax7wqW`6)|R$F&>t?W z_qX^$kwD|LkT2M|(I2j|jtyxjaEATu9l?m8e&<7Vw#DEIt=fV@E5BgALr|&pv?t5D z&qzzD66B2dn(I4TAZop2_M0fkg@wfs)ZBbui!#R73}e!L!C-wP+|d}3_5}SAYzeG8 z8Y3G76)RZh&_0!dQrdiBUrT+PzfnVZ)U)PA08%xA^qQ@pJ<#QvApjtST;tPiTzNXHaP+g!Mm~Q`uws1{oO{<^* zy@EN@-hq@SytcijeYro3W9)}FL#+i_*|%qS7a@5sJR?b4uqPkCIc$9#ow~p zA3hgLuU^m=*$>*NB>x5|fZ$?Zv!JvL#bi^8b5X${Y`ezTig6$U(8W?P_J`qo1pBv)^Kw;FKwVo?hx-m z(|p>h>@a94ZQ}K?!=wh z(OMlN*EtCDr`5OVPrz7{_9r8{lJQ5L-lQS_Lr9%2N^;REmw3@d z*Sf63qff}ZIL3C}HKs$Ta!DO`k1Cg2DV26ogztbNH$94Q-zkGkhiN(Ag*7kTOn2xY z(@gr3f20Z`KqvUeyn_tdOh@=`RX8_LH{S!doMI%U@V(e|iRFl=#28h6 zJQ`K8F6K43PQK5sD>*n6F#iN8)4&!|)@tn<*Peu1m#%)=VGSQY&EY_w1;^*ki1k?^ zPRd%4bvr(W53ZB%hn$R367d;IchR!1C<{xt(P=*NP*k33|QRlCHh*v36*Xj&=i$nZI^WaHwTxF1&LPK_lrrHA|3aVxWd_H!G}MO-JnCl*NpQ&hfM(zkRCsd~<e++n|AWUXbUG##|YUa$48Vejj`fux`iK+>e!^Myc?W@H{+{B z9duymtFCc6mQz3e75|z%yhFJ7Q6;exie-;F_#JwR_sH(zFK7?%g(IdTownJs6VS`D zgI&f9g%?Fb8h6=%UdLWh!jDNn$03og0Ue*yr`#oN#i%=?piQHg9#haxqn5Vowl*R* zwA&Okk@rayvo+2=OGWnDSsJT3XEjZV+H40#zf|II-i88K!p>b-dt9!$me5zcpS#I$ zpQJlA=PAIzKY;mcdPdMBJ*mCxsX}pv^99E#enOhye8urP9|VWS_a2PZ3Aj!^gpwF6 z-&mL|I!l!4x%a&x(>*8V-sM~_R|8UF_WLsH+^TndX#<?nbTKRrQ(?Pe zmOM=rz3x6{MGr(Xj%aE`z>J6r+?~{QZWaO}=dQb?^a&op)EjD&g3`AkcO1&izd`ba zl;b1d7{7PuT^sXC^^E&w$$l18($DN-mB{Wkr!cbF_Z9ByrVBbCgbhQ}tY^ zuBBwNjxI3gQMS3Dhw7ZT>YVdcCrj1)soPflH8Ku2s9CEvOQqg1M=4XPMJS3TE#1F> z_Q{R0M`m31s% zr-SBQq^_-#QB&hEGM>Rebm0D;#Lpr<2CmFr{;lj+X1KP8SerANKG(E09+R5wbE;t;Ftip@mD&fbB`)NWb2 zU>v(0vg&$PK_^nNi9F`jlxAK-8RoS;Qjy8g*!M|h51r^Vk2`G|SMyOj7bER5aLRa1 z?bY$(RRyU(Rh-%jNYCQu6G_iFPdbVlL}Kx|{JTWrbIue0R_Xct`$W=py``gxm0!%q z5{WPDEuL6x0Th4z-Bz{Q(@o!4w#qq}k(qtu;j`qqLHSzI8 z;;R#j_malP*^3FJ`Ob8~k_NAyPIgU}0QF?L%V-%zD->Oiap24FM613@jxXnZ=9@iarxP zFi9Yp{D diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class index 13489823b433627955555f2499ab97a76a8784ba..43eee171e68c4c85cb06a64bba2d13a6bcb02711 100644 GIT binary patch delta 552 zcmZvYOD_Xa6vzK}Onb*vi%?X&s#B4AB*ezTMq(os5#3=is8>5WrS&YW#~0wPdYju6zX_L1JNH(Zu6SiO8_H=W);Pob$i;tl_>^eR$8`0T{yZmD($dq}(a4<-Er| znbPNCW4am9XX8=v0(Ue6n|EyT*4w4mY|Wf>doXCc}M65{E`BO zC|PIe@|o;1R=!95M%{Mw1z*!+)KWvw{5!omdu|*5N>u&7tk;ef2@U*+Zl}x=ty-e< z^aj}Fd{909!xvBn8KO_kFiBjfJpqH7s~~&iH~2Y%9D_v+P|Fmi$y)z1E;Ls+(GxBo zGsKC@tG7|bTB=w}Z!u$&$eL)yD%B+lRO4DLOmIP}WFN6eO_+6~h$mqa0Zr H;0V4?SI1LK delta 941 zcmZvaJ8#oa6vzM9v17-y6iP#zsueMmSD*y7Y*i)H35g(vRFxQbT&E`Q2aXdcuMk=& zZ-zS{z5-%sCB%RbVqoH1ure?(FfdTgO@bTJ4nF7j`2POqoO}Fv==F&C_0NY-08ZoO zx_Lq!A54@}ys*ICEVm2Jyfh4|m&sNcM#Z;4M4e$cD7d$mRKEV_*t6S4oY3wKhWFtr;LtaKZ&Hc2&=Qeb^g)*t{!7SO{7IwewY2nvak+Z}NZ%c=J>EByvf)Du9pAtLLeUM%Ud9!&^0KDL%Y7MgU+;0TXJR(i)xXhESFzN( p)tk5_{Yl)$T`56A4SF76mEK0FeS^L{f{8hb9wUS&c!n2<`~^J(k-q={ diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class index 136b7cb4d638f3a40048fe5e6400a44686caa5cf..3367597fb3dd503de36bd1bfc526d13815a0377b 100644 GIT binary patch delta 190 zcmZ3_b(xdv)W2Q(7#J9A8Jsq9*)UD6V=85|nf!%Gk;R^oL1dzU$YfpS&Ilz2CI&{J zDlQ>LtsM+92N)PP0C|iIMnIAcB*Ul-RH4G43M37IV)6{kK*+$ruB9!rok3|MhGG+- z2orel)W2Q(7#J8F7~I$ym>3x(CqHBo*{Gt#WG3X3pPZNzmROXTn3R(m0wNe0 zSn?8cfs~L>R$^JAeokUux_)p;QD$DcHBhc3BeQt23sX6x!{j|oij2;a?=dZ4G?`q_ zELzXRU<9;;je(JYfl-;k1jyzAu^G4+Oc~68G!ugggDQ|T1hNeon1PUifn7^mW;=t@ zMzAz??d%NZKtmZAEWm0k1-KaW81#V#gN(6eU;&a049XmP879AHHfFYBu$-*QQm+qD lY|UT;lw@MCWv~O&_6&|dS_mlO#9+_h0(2Q8kmc$i2>|J8E}#Ga diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class index f50fa8695f35375c41a48e39af7a0adfd60e22ef..5d1c1ca05ff4e7cf42886c51e408cd20f5e20778 100644 GIT binary patch delta 262 zcmcc2F^8S&)W2Q(7#J9A8T2-CIWtafVqC?jFAk?pa!PZ88m^k5Kx4JL7hR1fr~*K$kKI? F1OSPo8iW7< delta 436 zcmbQkewl;o)W2Q(7#J8F7z{UZIWx)%`Q#@j=7c2{WhN%&q=tY9Mh2FWjLc$22C>QW z8ATbbCwnulVbq@dgHek`pOHaw@&ZQ5$@WYRj17|;m{b{=CNE=Btd{{AX~Mt?B&8T+ z8RUR8h{eso!@vk;@iPc8Fo9XZ3?dB7V3s(81Op3DUY9vSadTpsDo8$Fld5lEe0JREd=y12ZI)aE&~^X9*||=APE3O)GGJ@ diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class index fa4c6b0f94dfc6f73c1da8d001fa21c18a80bc81..c3ff7cafbd3d7d0d718373850d9b1b010f9d8911 100644 GIT binary patch delta 749 zcmYjPOHUJF6g{^(9XeCmnPS9R3syr3A~E$5qlk~HER2cK5G$H!YFZ^?Qbf8@B0&nM z_~iQFT@{xuBod<}n##h3|3TMo-5N38=}em0+2GlPjw;eyPC^&=X*NRmkEBmZqM}|$zI~$Rau(gl&_2C zxa6CsPR?jMiFi_Ls3vTH7lc7k=-?k(Ya`*d)FG?}C8-s37=NpqK!L(d3XtC6hFiEsLmqD}~K#X@N2lM=&bU(!Ihf`T^l;^G72VR~6_l zA}SKnzk|CDs-3_36Ps<8farm)BS3voIT)n^4+d-WC$3&Gn5=hiKZPhwqmgE?o#wEMim+$K zD>EPYw9zem%SMav?K5LKiEP5jwhS8w+<*%b6i{4NRRIeHzh zFzWJP++Zx>$yE delta 1707 zcmb_cO>9(E7(I7pUZ?Zs$J)}?VVr9D8A@v%2{j-!+7yjwS{AgC6~b#NFm`6z%uG$1 zXd0D*3W{joncRaaPGZtuA_D7=HB`5ndvH2yYe_WkdZQ@wJ?; zKO@FvI?^Koa!X|81FzG%7zEeV*o#^20{5ei>#Ka;CHF>pnRz{utjT=DX700@p8PY? zJrl%htZGDvFxwCpFQ8RyN4xOwH_tM^dOtIR5bdOTgXD%V%Uy|aI_J>(B_9GBQR#u$ zS%czO4R7Ktzj$62-6uszUUJhjimwNbUQJ)>{QwSX_#V8CcZjWGhwvsYfPlnlu`Zqj!nL3D^R5~6~Y zVoLX5lx6%LSZ|eOtg?(%cHbgpDx#DL9K{E|mebTi-_g-IkG{>_T?_KL=yJMIjHb6K zH#*I!H2G-lL>#D@h=kAZGBX4Ci0VGZ318y{*%j+o zUc}N{l@|{ZIgMtV)ZGH>th#l+y6O~|tf~Vs1aH9&W6P?WbuD0R0O~U~h(kfY9>)dq;~y0O5D{%{3f?2w$hXD67BknSAbcbRqu7chi=3MjVCmo z>cnKJ{>_D_*E(=QOLZqOyUAUaa6b6&bFqzgwt*LEI zwbojDt?&1vzO4a4a3Kh;+_~+4;Z{XGwQj1&%-rAi-E+^mAG4hPoU%Usc=sMa4^|r1 zYAhWqhfWX*HVuSM?nuAm4?4qzyuwjItNtKKy&`6lLRHYEUq`w&3#`6MF7Jn~S1K!< z&~H?4?UW$t7X8A`Ua#o8g?!M_SMh^=r4dhIN?>o)2CBtjukh!d)Blk>_PeFS3NwP# zU+yp%&4q(ipF^JIkW}@Uk&$zH$!P64|4-Zj&n<=dVBK&*uw`T1-XL(Q>*7WI#Yl_R z33GSivV|+Ss&Fli5nR^?&5v?ZC#^>Gxu8>zo1Oe8F9jKv8Qs#{mTg0X574x|`z@rw zN>Ju%{oYL>2Aew}y4eR5XY^F_H;L$4{7`L_=XN0a6D|z3_Kqpo3K@lVg^EH}p&$5) zUEi^dB?}y*CCb3#T*p~Qa1u3gE8@sv0+SfRH0n5mSIOYa{BGbDy8sDP zP;AF-n6w$V!+D3uyW|9UkDMg$lXda|IZHky=g3FoJh@CRkdMh}COp|=^XfXDGIx>6 LTK^0$@Cx=XO{bfJ delta 814 zcmX|7NlX+$6n!-`T|Lca3;||g&_I+7F=X`M!GvJ&W=~>*n3$+Z1Fd%GS?p;PP{du_ z(Lz)N1Q*;;7&jCJH1VQ0;?0@WtGX@`OPZEpZ(ztyIlApI$f@>NW5Qx6 z(!_hYFwdpTc(RqKm74g#io`fm*HY6m+6UPQ%2E@3>FHt8cF5(iQpY9St53ZmAz39Vr^kV=+7{+bfC0-%TJ^CNx2~{@o z(T#FErTayQ8>iQ5Ae String.format("%s = zext %s %s to %s", result.llvmName(), ty.llvmName(), value.llvmName(), ty2.llvmName()); + case zext -> String.format("%s = zext %s %s to %s", result.llvmName(), ty.llvmName(), value.llvmName(), ty2.llvmName()); default -> null; }; } From 7ec4202cb08d1d9d1075c13aa5e2f401ecd8ee58 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:45:11 +0000 Subject: [PATCH 3/9] Implement LLVM IR code generator for Splc compiler Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .gitignore | 3 + .../impl/Compiler$ArrayType.class | Bin 1383 -> 1383 bytes .../impl/Compiler$BasicType$Kind.class | Bin 1069 -> 1069 bytes .../impl/Compiler$BasicType.class | Bin 948 -> 948 bytes .../impl/Compiler$ExprInfo.class | Bin 416 -> 416 bytes .../impl/Compiler$FunctionType.class | Bin 1654 -> 1654 bytes .../impl/Compiler$PointerType.class | Bin 1258 -> 1258 bytes .../impl/Compiler$SemanticAnalyzer.class | Bin 20716 -> 20716 bytes .../impl/Compiler$StructType$Member.class | Bin 504 -> 504 bytes .../impl/Compiler$StructType.class | Bin 2624 -> 2624 bytes .../impl/Compiler$Symbol$Kind.class | Bin 1235 -> 1235 bytes .../impl/Compiler$Symbol.class | Bin 924 -> 924 bytes .../impl/Compiler$SymbolTable.class | Bin 3891 -> 3891 bytes .../impl/Compiler.class | Bin 3153 -> 2253 bytes src/main/java/impl/Compiler.java | 1076 ++++++++++++++++- 15 files changed, 1068 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index e5083ed..1e9c808 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ src/main/java/generated project5_testcases/bin project5_testcases/ir +# Compiled class files +out/ + *.tar *.tar.gz .myapi.key diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class index 5c76839aeb5412a60dede2b3c063fedf6cd9ff51..5b8eed13fbd8d083ccfd9480f0b5f1f7869b101f 100644 GIT binary patch delta 67 zcmaFP^_*+NQ)b>61{Q``22O@J20n)P$)A|D7?UQ;vS=};P4-~1V9cJ}$P&q0z`)K> X$RNN_#30I0Jo!0`J7dLUeO3zqQ0Ne& delta 67 zcmaFP^_*+NQ)b>I1{Q{722O?)20n(=$)A|D7&9izvS=~pO!i>0U@V;6$P&q0#=y={ X&LF^0!63>|Ir%w@J7e8seO3zqS_}~D diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType$Kind.class index 162358a534a7c28be9c9a576f17e4305aba1b396..aa345210386cce183b830bb1378cb82973538663 100644 GIT binary patch delta 41 scmZ3>v6f?lFf*h1WD#b4AnC%a10)NX?SSM4W;a#~1}O&f$-kM60Ms-J5&!@I delta 41 scmZ3>v6f?lFf*g=WD#b4AnC%a10)NX?SSM4W;a$l1}O&H$-kM60M^I~HUIzs diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class index 890252e8d2ed33f959454ae39355138a2b4bdd9d..7104aadeef046199500500b4f66019db391e5947 100644 GIT binary patch delta 57 zcmdnOzJ+~5B@?GD0}F#411E$1Tu N#ca80svqK2ND1P diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class index 34613e72e2fc20bc560d1778717c7984b2f1de0a..5cb16597d15ca04addac0bf6248a8d99d01684a6 100644 GIT binary patch delta 103 zcmeyy^NnXi9t-b01{Q|-44e!L7(^KsPOfG#Vq7wL9g7y@ipe)wx@Ffga4@W6kY-rV zpvAC(!IWVmgAb4$#ITtml3~l_M%F^noeb;@yBGu*b_4bAVbEsS%V5E9PkY?D* zpvAC_!IWV;gAb4$#ITbgl3~~6M%F^n{S5332N(nx4g&QbV$fzd%wWNAXfivS595i+ HA#6$j5vLrq diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class index 4154413c5b07bacc817b8bbaa7b86a945afc638a..68d8003187440403b7ae5941b3497a5aaac2cf45 100644 GIT binary patch delta 57 zcmV-90LK673F-;3y8{V-00aPl00{trlf(lm0fdw912h4NlOzO24UPZ@0FM9=0FVF` P0Fje-1Udnhld=Rj>wORp delta 57 zcmV-90LK673F-;3y8{V@00aPr00{txlf(lm0g99F12h4TlOzO24U_-}0F?j`0G0q1 P0GE?@1Udnnld=Rj@!b$h diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class index 85696d6193d9359c9db7c692e08874d35edcdd2e..7329f47c59cfe5f8d821e6a02dd0f920466bcc4a 100644 GIT binary patch delta 2165 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class index c3f0776ef2332b95559e7bdfb24e48903b921fbe..2546e25474301f114829fafc8dd121b151cc99f1 100644 GIT binary patch delta 25 hcmeyt{DXPJK}Oz-3@i+n7&sX&Gw?B7nS72>3jlYa2xkBQ delta 25 hcmeyt{DXPJK}O!|3@i*c7&sYjGVn3nntYB?3jlbj2!8+o diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class index 43eee171e68c4c85cb06a64bba2d13a6bcb02711..9f692d2e00f168f2a6f20ff3f05f4ff5b9512d28 100644 GIT binary patch delta 172 zcmX>gazJE*2fOGE1{Q{!44e$N82A`&GYB)>VUS?BJ2{r!RrCQ+<{?n#5rZhhV+JXP zCk*loPbY6@H)4D-`4zhsZ<2~KlHu}NGG0H<~(wEzGB delta 172 zcmWNGF-t;G97oR&-s|3HDdBq;BMiy0hQP(uMesu?O(D32-^Bms+S<_O>e#0!Q_xay zaAy=>1d?WxWtg=XttPtz KNxR8K%vu0C_6tM+ delta 57 zcmbQkK8Jn7MkY}M1{Ov`22MsJ20lh(24O}M21!QK$;X(q7%e7$1d=wBWtg=X9VWX2 KNtek*%vu0J!V7=^ diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class index c3ff7cafbd3d7d0d718373850d9b1b010f9d8911..e86077c446e1725fbaeb77150fb6d0af6326078e 100644 GIT binary patch delta 281 zcmWO1J4?d=7=__;zz#{9XoMoISS@%P3Sy(HlVU|$s25DA7Qu=xtq59lQU{kPI(%Li z?}IKP#6|GB`UiCNpZKlMa9&QB3R6#WMq(Td97ZEYkYo<+978Ab=w(6b#UT~lpt1fj#Q6TPgKuT&&9A# z(-*3js#kD%jUnD3$6I*3Ly7k&^Fh8WkB^eHvyo6+&r-Bk<1hN`70rCpXYc6e2L|{l HKlbcD`9?kH delta 281 zcmWO1y)Od+9LDkINp!fo-f@yfT2Y#K8=8n7tCbLy262ZLNf)F|#LIv%A*lsFB0*TZ z4@hcZ5wC-PfYpEEw|<7_o2MKv#~-prG=mEEqLO`xF^zf-ppk=U<&Z2H!}bWO=%axF z+Bhn|Mz@`X%^Yetfdr={X?o1dq#3x=a5#e~XHm-nQY^~185r}b3uxk^B&~jT86mD{ zYZWfn(9CryS!rWKbyMqG@@IM6mPk17?x2plXyKkN?W2Lom0p^Mk(;SGG=VvKjl@m^kSpN|rAQlTepJxj)!i@fNwH&pXopM9X6pXlJ1 H{5a$Pz$ZUe diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler.class index 206f1eec896872cd4ce9057612cabea55eaab44e..ba19036fe19bbd014705a11b8796080827083c33 100644 GIT binary patch delta 772 zcmaKq-A__s9LK*8FXuU6##$^S5h`&JXqLTg4NXHc5-J5TA~ldBV!TCG*4F$Zp1Za# z`U}jhX^YkBs@2v-7yUJD*7rbHU377NpWpk-v-6|p`yuDI{r4XMjAC=gxo(}17!~L% zR~wb#SiRaPSBz#bJ{PMOjcKE1H1iwvrV~+EO)-7|6Syj%mpUOsU?`-vEn&;4jQVOn zXS*&CP@lySwJjW)#0`OvdSeNxq~;PywW!4g=L81+J1m&VH{-R{x`E*@M`jCNN3qYf;V4 z5yT({aE96?gqasX0;iG2F!J=SVFcG$<%jr9LrUlp(-K|@zeK-8T;eR_GyJw}TsXls zZ_=>f7H+o-5Asi$Wl{?BSU?szEMl3>S74xoGIO58g*f`L4hQpeJm4cl$qJbwtK>Xc vBNxaznIjwIGWn3qLqCrul@&T3kp{Uz&a%~GGRx8@<6aKW;VB1|m_hpwR>zei literal 3153 zcmb7G`&SfY7=Avv%(9H4cwG}jMFj;{yrhDbNTB3`B#5EihGl?}*_my27Qt?2re$Vk zH?^|6cK38n2U5=I^mD&-`ae3Se(rR#=bPDGcLlP}fqB3E-uHXH_wvm9&d-0}{1Lzo zTn}Of@)YE&C_tgW;(kYq=|^p6DBReaa2+k`HrcVbVd{=R;da9^-1`K|sv?u^b~{?1 z?le?)7a@Qm1wj?XPz7chvA7w|LK*N3dDrwHLCivlg4rtOpj2SdbhinV4CrpBophpl zr|aliOkiPEb>xUPtc49b+-k*>uCHhaVjkuzSfFAd770|?&OlhRT+;~;Zwfm}%Qa$p zxM@&xeEWnzu-~y`Y1pk*Q=(Q!?t;^xU@;>Y&@J83T)i*c88@TeBchM!P7on1k;yL; zsI0mxSar98r2?y_zSNGzY^%#2(k5tjV@qeZ*z5HwcvHFs`ywkFm~1w9(Sc(PJ`*I^@a6W)=5hi$KA! zkuY3=ZPTQPvFKqh0bN`*r08X8)oxU6eNdA8eib{>NEhOcVbO*8DVBNQETUlzcuA~7lZpq>EKo|q?>6mT&CEb? zGtK#=YnWk~+lFH7#vTQ&DjvjMfmz-wkx>f-3|A7;=6k&$=X7gop9pPeSFle-hm5QA zHbUBjWn!@HOuV$+uc8xO0{IplRtfB{ph{_n-*@x}~ zNhL&@KBD4LJm#BrjmBvz-}~Er!n;%|7{(LO6!fZyO6<8)*a#H$Crz_M)}WMqQCHEA z0Yb*KA)VBUYVJY99pozEl1eOSx*KHI$?p%@JK0Q0`5u5FAc6r5kqj+KE9x3Vm1L+x zOof$O;*5a|BCg^|89{N}(Oq}c^Oo6evilf)NyM=9_GGMAce*6MNGba2unsdjT`fA) zrp3K|1xE#zPTf8-y-&fYK-GVJ>DVZnN1}S%i$uZG%yFjw?#pOs<@f0p4ikEn9ti8C zErV*;6K{ZA-(o}|nrN%KhDX|?)o1uw8c;0;R%xaT;~yUc>5BaGJgNj?=D_ zjJlF43SMSzrqfpX-YIy6qbt`aT_zvo)kz+7*d!JURhlwiaa>MH`&8Lf@D1nJznc=*Pd%3LOKS%E z75HRMP{^mlU(5Mh?ia3EI}Y(3R{{w><;Nbdh?XJlxLC{Iv=^t5hazhJSo1xUG0gk{ zb0ZT7_3-pPZ4)T(sToH_`vg|>)Q)3ieSRo^3{^E_sF91>`hp46^~j^+*jQf}Dhw5j zVbj4-;TX1F#uce3-9Co<`y^ zf^r2b6pSdSQ#ds7CpP|tGA_BmF&@chX`bTq8PB@&x6_l&2^^p*%zRDdkzp l&nVAPUZp%wd5!WU5kB7;;?1Y<1#vG>BY%I1ukkHH{{U-lZW#ao diff --git a/src/main/java/impl/Compiler.java b/src/main/java/impl/Compiler.java index 1a2f598..c182cc5 100644 --- a/src/main/java/impl/Compiler.java +++ b/src/main/java/impl/Compiler.java @@ -3,6 +3,7 @@ import framework.AbstractCompiler; import framework.AbstractGrader; import framework.lang.Type; +import framework.llvm.*; import framework.project3.Project3SemanticError; import framework.project4.Project4SemanticError; import framework.project4.Project4Exception; @@ -13,6 +14,7 @@ import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.misc.Pair; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -40,18 +42,10 @@ public void start() throws IOException { SemanticAnalyzer analyzer = new SemanticAnalyzer(grader); analyzer.visit(program); - // If we get here, no semantic errors were found (or only Project 4 errors) - // Phase 2: Print global variables and functions only if no errors + // Phase 2: Generate LLVM IR if no semantic errors if (!analyzer.hasSemanticErrors()) { - grader.print("Variables:\n"); - for (Symbol symbol : analyzer.getGlobalVariables()) { - grader.print(symbol.getName() + ": " + symbol.getType().fullPrint() + "\n"); - } - grader.print("\n"); - grader.print("Functions:\n"); - for (Symbol symbol : analyzer.getGlobalFunctions()) { - grader.print(symbol.getName() + ": " + symbol.getType().prettyPrint() + "\n"); - } + IRCodeGenerator codeGen = new IRCodeGenerator(grader); + codeGen.generate(program); } } @@ -1409,4 +1403,1064 @@ private boolean requiresImmediateCompletenessCheck(Type type) { return false; } } + + // ===== LLVM IR Code Generator ===== + + private static class IRCodeGenerator extends SplcBaseVisitor { + private final AbstractGrader grader; + private final IRBuilder ir; + + // Symbol info: address + type + private static class VarInfo { + final IRValue addr; + final Type type; + VarInfo(IRValue addr, Type type) { + this.addr = addr; + this.type = type; + } + } + + // Symbol table for variables (maps variable names to their info) + private final Map globalVariables = new HashMap<>(); + private final Deque> localScopes = new ArrayDeque<>(); + + // Current function context + private FunctionBuilder currentFunction; + private BasicBlockBuilder currentBlock; + + // Struct definitions (maps struct tag to list of (fieldName, fieldType)) + private final Map>> structDefs = new LinkedHashMap<>(); + + // Track struct types for LLVM + private final Map> structIRTypes = new HashMap<>(); + + public IRCodeGenerator(AbstractGrader grader) { + this.grader = grader; + this.ir = new IRBuilder(); + } + + public void generate(SplcParser.ProgramContext program) { + // First pass: collect struct definitions and declare all functions + for (SplcParser.GlobalDefContext globalDef : program.globalDef()) { + preprocessGlobalDef(globalDef); + } + + // Second pass: generate code for all definitions + visit(program); + + // Output the generated IR + grader.printIR(ir); + } + + // First pass: preprocess to collect struct definitions and declare functions + private void preprocessGlobalDef(SplcParser.GlobalDefContext ctx) { + Type specType = buildTypeFromSpecifier(ctx.specifier()); + + // Handle struct definition in specifier + if (ctx.specifier().STRUCT() != null && ctx.specifier().LBRACE() != null) { + String tagName = ctx.specifier().Identifier().getText(); + List> members = new ArrayList<>(); + List irMembers = new ArrayList<>(); + + for (int i = 0; i < ctx.specifier().specifier().size(); i++) { + Type memberSpecType = buildTypeFromSpecifier(ctx.specifier().specifier(i)); + String memberName = extractIdentifierFromVarDec(ctx.specifier().varDec(i)); + Type memberType = buildTypeFromVarDec(ctx.specifier().varDec(i), memberSpecType); + members.add(new Pair<>(memberName, memberType)); + irMembers.add(convertTypeToIR(memberType)); + } + + structDefs.put(tagName, members); + structIRTypes.put(tagName, irMembers); + ir.defineStructure(tagName, irMembers); + } + + // Handle function declaration (without body) + if (ctx.funcArgs() != null && ctx.SEMI() != null && ctx.LBRACE() == null) { + String funcName = ctx.Identifier().getText(); + List> params = new ArrayList<>(); + + if (ctx.funcArgs().specifier() != null && !ctx.funcArgs().specifier().isEmpty()) { + for (int i = 0; i < ctx.funcArgs().specifier().size(); i++) { + Type paramSpecType = buildTypeFromSpecifier(ctx.funcArgs().specifier(i)); + Type paramType = buildTypeFromVarDec(ctx.funcArgs().varDec(i), paramSpecType); + String paramName = extractIdentifierFromVarDec(ctx.funcArgs().varDec(i)); + params.add(new Pair<>(paramName, convertTypeToIR(paramType))); + } + } + + ir.declareFunction(funcName, convertTypeToIR(specType), params); + } + } + + @Override + public Void visitProgram(SplcParser.ProgramContext ctx) { + for (SplcParser.GlobalDefContext globalDef : ctx.globalDef()) { + visitGlobalDef(globalDef); + } + return null; + } + + @Override + public Void visitGlobalDef(SplcParser.GlobalDefContext ctx) { + Type specType = buildTypeFromSpecifier(ctx.specifier()); + + if (ctx.LBRACE() != null) { + // Function definition + String funcName = ctx.Identifier().getText(); + List> params = new ArrayList<>(); + List> paramTypes = new ArrayList<>(); + + if (ctx.funcArgs().specifier() != null && !ctx.funcArgs().specifier().isEmpty()) { + for (int i = 0; i < ctx.funcArgs().specifier().size(); i++) { + Type paramSpecType = buildTypeFromSpecifier(ctx.funcArgs().specifier(i)); + Type paramType = buildTypeFromVarDec(ctx.funcArgs().varDec(i), paramSpecType); + String paramName = extractIdentifierFromVarDec(ctx.funcArgs().varDec(i)); + params.add(new Pair<>(paramName, convertTypeToIR(paramType))); + paramTypes.add(new Pair<>(paramName, paramType)); + } + } + + currentFunction = ir.defineFunction(funcName, convertTypeToIR(specType), params); + currentBlock = currentFunction.rootBlock(); + + // Create local scope for function parameters + localScopes.push(new HashMap<>()); + + // Add parameters to local scope with their types + for (int i = 0; i < paramTypes.size(); i++) { + String paramName = paramTypes.get(i).a; + Type paramType = paramTypes.get(i).b; + IRValue paramAddr = currentFunction.param(paramName); + localScopes.peek().put(paramName, new VarInfo(paramAddr, paramType)); + } + + // Visit function body + for (SplcParser.StatementContext stmt : ctx.statement()) { + visit(stmt); + } + + // If no return statement was reached, add a default return 0 + if (!currentBlock.hasTerminated()) { + currentBlock.ret(IRValue.consti32(0)); + } + + localScopes.pop(); + currentFunction = null; + currentBlock = null; + + } else if (ctx.varDec() != null) { + // Global variable definition + String varName = extractIdentifierFromVarDec(ctx.varDec()); + Type varType = buildTypeFromVarDec(ctx.varDec(), specType); + IRType irType = convertTypeToIR(varType); + + IRValue globalAddr = ir.defineGlobalVar(varName, irType); + globalVariables.put(varName, new VarInfo(globalAddr, varType)); + } + // Skip function declarations (already handled in preprocess) and struct-only declarations + + return null; + } + + @Override + public Void visitBracket(SplcParser.BracketContext ctx) { + localScopes.push(new HashMap<>()); + for (SplcParser.StatementContext stmt : ctx.statement()) { + visit(stmt); + } + localScopes.pop(); + return null; + } + + @Override + public Void visitVarDecStmt(SplcParser.VarDecStmtContext ctx) { + Type specType = buildTypeFromSpecifier(ctx.specifier()); + String varName = extractIdentifierFromVarDec(ctx.varDec()); + Type varType = buildTypeFromVarDec(ctx.varDec(), specType); + IRType irType = convertTypeToIR(varType); + + // Allocate local variable + IRValue varAddr = currentBlock.alloca(irType, varName); + localScopes.peek().put(varName, new VarInfo(varAddr, varType)); + + // Handle initialization + if (ctx.expression() != null) { + IRValue initValue = generateExpression(ctx.expression()); + currentBlock.store(varAddr, irType, initValue); + } + + return null; + } + + @Override + public Void visitIfStmt(SplcParser.IfStmtContext ctx) { + // Evaluate condition + IRValue cond = generateExpression(ctx.expression()); + + // Ensure condition is i1 (bool) + if (!cond.type().isBoolean()) { + // Compare with 0 or null to get boolean + if (cond.type().isPointer()) { + cond = currentBlock.icmp(cond, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + cond = currentBlock.icmp(cond, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + } + + // Create basic blocks + BasicBlockBuilder thenBlock = currentFunction.newBasicBlock("if.then"); + BasicBlockBuilder elseBlock = ctx.statement().size() > 1 ? + currentFunction.newBasicBlock("if.else") : null; + BasicBlockBuilder mergeBlock = currentFunction.newBasicBlock("if.end"); + + // Branch based on condition + if (elseBlock != null) { + currentBlock.condBr(cond, thenBlock, elseBlock); + } else { + currentBlock.condBr(cond, thenBlock, mergeBlock); + } + + // Generate then block + currentBlock = thenBlock; + visit(ctx.statement(0)); + if (!currentBlock.hasTerminated()) { + currentBlock.br(mergeBlock); + } + + // Generate else block if present + if (elseBlock != null) { + currentBlock = elseBlock; + visit(ctx.statement(1)); + if (!currentBlock.hasTerminated()) { + currentBlock.br(mergeBlock); + } + } + + // Continue with merge block + currentBlock = mergeBlock; + + return null; + } + + @Override + public Void visitWhileStmt(SplcParser.WhileStmtContext ctx) { + // Create basic blocks + BasicBlockBuilder condBlock = currentFunction.newBasicBlock("while.cond"); + BasicBlockBuilder bodyBlock = currentFunction.newBasicBlock("while.body"); + BasicBlockBuilder endBlock = currentFunction.newBasicBlock("while.end"); + + // Branch to condition block + currentBlock.br(condBlock); + + // Generate condition block + currentBlock = condBlock; + IRValue cond = generateExpression(ctx.expression()); + + // Ensure condition is i1 (bool) + if (!cond.type().isBoolean()) { + if (cond.type().isPointer()) { + cond = currentBlock.icmp(cond, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + cond = currentBlock.icmp(cond, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + } + + currentBlock.condBr(cond, bodyBlock, endBlock); + + // Generate body block + currentBlock = bodyBlock; + visit(ctx.statement()); + if (!currentBlock.hasTerminated()) { + currentBlock.br(condBlock); + } + + // Continue with end block + currentBlock = endBlock; + + return null; + } + + @Override + public Void visitReturnStmt(SplcParser.ReturnStmtContext ctx) { + IRValue retValue = generateExpression(ctx.expression()); + currentBlock.ret(retValue); + return null; + } + + @Override + public Void visitExprStmt(SplcParser.ExprStmtContext ctx) { + generateExpression(ctx.expression()); + return null; + } + + // ===== Expression Generation ===== + + private IRValue generateExpression(SplcParser.ExpressionContext ctx) { + // Identifier + if (ctx.Identifier() != null && ctx.LPAREN() == null && ctx.DOT() == null && ctx.ARROW() == null) { + String name = ctx.Identifier().getText(); + IRValue addr = lookupVariable(name); + Type varType = lookupVariableType(name); + IRType irType = convertTypeToIR(varType); + + // If it's an array, return the address (arrays decay to pointers) + if (varType instanceof ArrayType) { + return addr; + } + + // Load the value + return currentBlock.load(addr, irType, null); + } + + // Number + if (ctx.Number() != null) { + int value = Integer.parseInt(ctx.Number().getText()); + return IRValue.consti32(value); + } + + // Parenthesized expression + if (ctx.LPAREN() != null && ctx.expression().size() == 1 && ctx.Identifier() == null) { + return generateExpression(ctx.expression(0)); + } + + // Function call + if (ctx.Identifier() != null && ctx.LPAREN() != null) { + String funcName = ctx.Identifier().getText(); + List args = new ArrayList<>(); + + for (SplcParser.ExpressionContext argCtx : ctx.expression()) { + args.add(generateExpression(argCtx)); + } + + return currentBlock.call(IRType.int32(), funcName, args, null); + } + + // Array access: expression LBRACK expression RBRACK + if (ctx.LBRACK() != null) { + Type baseType = getExpressionType(ctx.expression(0)); + IRValue index = generateExpression(ctx.expression(1)); + + IRType elementIRType; + IRValue elementAddr; + + if (baseType instanceof ArrayType) { + // For arrays, we need the address of the array and use 2-index GEP + IRValue baseAddr = generateLvalueAddress(ctx.expression(0)); + elementIRType = convertTypeToIR(((ArrayType) baseType).getElementType()); + IRType gepType = convertTypeToIR(baseType); + elementAddr = currentBlock.gep(baseAddr, gepType, 0, index, null); + } else if (baseType instanceof PointerType) { + // For pointers, evaluate the pointer expression and use 1-index GEP + IRValue ptrValue = generateExpression(ctx.expression(0)); + Type referenced = ((PointerType) baseType).getReferencedType(); + elementIRType = convertTypeToIR(referenced); + elementAddr = currentBlock.gep(ptrValue, elementIRType, index, null); + } else { + throw new RuntimeException("Array access on non-array, non-pointer type"); + } + + return currentBlock.load(elementAddr, elementIRType, null); + } + + // Struct member access: expression DOT Identifier + if (ctx.DOT() != null) { + IRValue structAddr = generateLvalueAddress(ctx.expression(0)); + String memberName = ctx.Identifier().getText(); + Type structType = getExpressionType(ctx.expression(0)); + + if (!(structType instanceof StructType)) { + throw new RuntimeException("DOT access on non-struct type"); + } + + StructType st = (StructType) structType; + int memberIndex = getMemberIndex(st.getTag(), memberName); + Type memberType = getMemberType(st.getTag(), memberName); + IRType irStructType = IRType.structure(st.getTag()); + IRType memberIRType = convertTypeToIR(memberType); + + IRValue memberAddr = currentBlock.gep(structAddr, irStructType, 0, IRValue.consti32(memberIndex), null); + return currentBlock.load(memberAddr, memberIRType, null); + } + + // Pointer member access: expression ARROW Identifier + if (ctx.ARROW() != null) { + IRValue ptrValue = generateExpression(ctx.expression(0)); + String memberName = ctx.Identifier().getText(); + Type ptrType = getExpressionType(ctx.expression(0)); + + if (!(ptrType instanceof PointerType)) { + throw new RuntimeException("ARROW access on non-pointer type"); + } + + Type referencedType = ((PointerType) ptrType).getReferencedType(); + if (!(referencedType instanceof StructType)) { + throw new RuntimeException("ARROW access on non-struct pointer"); + } + + StructType st = (StructType) referencedType; + int memberIndex = getMemberIndex(st.getTag(), memberName); + Type memberType = getMemberType(st.getTag(), memberName); + IRType irStructType = IRType.structure(st.getTag()); + IRType memberIRType = convertTypeToIR(memberType); + + IRValue memberAddr = currentBlock.gep(ptrValue, irStructType, 0, IRValue.consti32(memberIndex), null); + return currentBlock.load(memberAddr, memberIRType, null); + } + + // Postfix increment/decrement + if ((ctx.INC() != null || ctx.DEC() != null) && ctx.expression().size() == 1) { + // Check if it's postfix (expression comes before operator) + if (isPostfixOp(ctx)) { + IRValue addr = generateLvalueAddress(ctx.expression(0)); + Type varType = getExpressionType(ctx.expression(0)); + IRType irType = convertTypeToIR(varType); + + IRValue oldValue = currentBlock.load(addr, irType, null); + IRValue one = IRValue.consti32(1); + + IRValue newValue; + if (varType instanceof PointerType) { + Type ptrElemType = ((PointerType) varType).getReferencedType(); + IRType ptrElemIRType = convertTypeToIR(ptrElemType); + IRValue offset = ctx.INC() != null ? one : currentBlock.sub(IRValue.consti32(0), one, null); + newValue = currentBlock.gep(oldValue, ptrElemIRType, offset, null); + } else { + newValue = ctx.INC() != null ? + currentBlock.add(oldValue, one, null) : + currentBlock.sub(oldValue, one, null); + } + + currentBlock.store(addr, irType, newValue); + return oldValue; + } else { + // Prefix increment/decrement + IRValue addr = generateLvalueAddress(ctx.expression(0)); + Type varType = getExpressionType(ctx.expression(0)); + IRType irType = convertTypeToIR(varType); + + IRValue oldValue = currentBlock.load(addr, irType, null); + IRValue one = IRValue.consti32(1); + + IRValue newValue; + if (varType instanceof PointerType) { + Type ptrElemType = ((PointerType) varType).getReferencedType(); + IRType ptrElemIRType = convertTypeToIR(ptrElemType); + IRValue offset = ctx.INC() != null ? one : currentBlock.sub(IRValue.consti32(0), one, null); + newValue = currentBlock.gep(oldValue, ptrElemIRType, offset, null); + } else { + newValue = ctx.INC() != null ? + currentBlock.add(oldValue, one, null) : + currentBlock.sub(oldValue, one, null); + } + + currentBlock.store(addr, irType, newValue); + return newValue; + } + } + + // Unary operators (prefix) + if (ctx.expression().size() == 1) { + // Unary plus + if (ctx.PLUS() != null) { + return generateExpression(ctx.expression(0)); + } + + // Unary minus + if (ctx.MINUS() != null) { + IRValue operand = generateExpression(ctx.expression(0)); + return currentBlock.sub(IRValue.consti32(0), operand, null); + } + + // Logical NOT + if (ctx.NOT() != null) { + IRValue operand = generateExpression(ctx.expression(0)); + IRValue cmp; + if (operand.type().isBoolean()) { + cmp = currentBlock.icmp(operand, LLVMIcmpPredicate.Equals, IRValue.constFalse(), null); + } else if (operand.type().isPointer()) { + cmp = currentBlock.icmp(operand, LLVMIcmpPredicate.Equals, IRValue.constNull(), null); + } else { + cmp = currentBlock.icmp(operand, LLVMIcmpPredicate.Equals, IRValue.consti32(0), null); + } + return currentBlock.zext(cmp, IRType.int32(), null); + } + + // Dereference + if (ctx.STAR() != null) { + IRValue ptrValue = generateExpression(ctx.expression(0)); + Type ptrType = getExpressionType(ctx.expression(0)); + + if (!(ptrType instanceof PointerType)) { + throw new RuntimeException("Dereference on non-pointer"); + } + + Type referencedType = ((PointerType) ptrType).getReferencedType(); + IRType irType = convertTypeToIR(referencedType); + + return currentBlock.load(ptrValue, irType, null); + } + + // Address-of + if (ctx.AMP() != null) { + return generateLvalueAddress(ctx.expression(0)); + } + } + + // Binary operators + if (ctx.expression().size() == 2) { + // Assignment + if (ctx.ASSIGN() != null) { + IRValue addr = generateLvalueAddress(ctx.expression(0)); + Type lhsType = getExpressionType(ctx.expression(0)); + IRType irType = convertTypeToIR(lhsType); + IRValue value = generateExpression(ctx.expression(1)); + + // Handle null pointer assignment (0 to pointer) + if (irType.isPointer() && value.type().isInteger()) { + // Check if rhs is constant 0 + if (isConstantZero(ctx.expression(1))) { + value = IRValue.constNull(); + } + } + + currentBlock.store(addr, irType, value); + return value; + } + + // Logical AND (short-circuit) + if (ctx.AND() != null) { + return generateShortCircuitAnd(ctx); + } + + // Logical OR (short-circuit) + if (ctx.OR() != null) { + return generateShortCircuitOr(ctx); + } + + IRValue lhs = generateExpression(ctx.expression(0)); + IRValue rhs = generateExpression(ctx.expression(1)); + + // Arithmetic: *, /, % + if (ctx.STAR() != null) { + return currentBlock.mul(lhs, rhs, null); + } + if (ctx.DIV() != null) { + return currentBlock.div(lhs, rhs, null); + } + if (ctx.MOD() != null) { + return currentBlock.rem(lhs, rhs, null); + } + + // Addition/Subtraction (including pointer arithmetic) + if (ctx.PLUS() != null) { + Type lhsType = getExpressionType(ctx.expression(0)); + Type rhsType = getExpressionType(ctx.expression(1)); + + if (lhsType instanceof PointerType && isIntegerType(rhsType)) { + // Pointer + integer + Type ptrElemType = ((PointerType) lhsType).getReferencedType(); + IRType ptrElemIRType = convertTypeToIR(ptrElemType); + return currentBlock.gep(lhs, ptrElemIRType, rhs, null); + } else if (isIntegerType(lhsType) && rhsType instanceof PointerType) { + // Integer + pointer + Type ptrElemType = ((PointerType) rhsType).getReferencedType(); + IRType ptrElemIRType = convertTypeToIR(ptrElemType); + return currentBlock.gep(rhs, ptrElemIRType, lhs, null); + } + return currentBlock.add(lhs, rhs, null); + } + if (ctx.MINUS() != null) { + Type lhsType = getExpressionType(ctx.expression(0)); + Type rhsType = getExpressionType(ctx.expression(1)); + + if (lhsType instanceof PointerType && isIntegerType(rhsType)) { + // Pointer - integer + Type ptrElemType = ((PointerType) lhsType).getReferencedType(); + IRType ptrElemIRType = convertTypeToIR(ptrElemType); + IRValue negRhs = currentBlock.sub(IRValue.consti32(0), rhs, null); + return currentBlock.gep(lhs, ptrElemIRType, negRhs, null); + } + return currentBlock.sub(lhs, rhs, null); + } + + // Comparison operators + LLVMIcmpPredicate pred = null; + if (ctx.LT() != null) pred = LLVMIcmpPredicate.SignedLT; + if (ctx.LE() != null) pred = LLVMIcmpPredicate.SignedLE; + if (ctx.GT() != null) pred = LLVMIcmpPredicate.SignedGT; + if (ctx.GE() != null) pred = LLVMIcmpPredicate.SignedGE; + if (ctx.EQ() != null) pred = LLVMIcmpPredicate.Equals; + if (ctx.NEQ() != null) pred = LLVMIcmpPredicate.NotEquals; + + if (pred != null) { + // Handle pointer-to-null comparisons + Type lhsType = getExpressionType(ctx.expression(0)); + Type rhsType = getExpressionType(ctx.expression(1)); + + // If one side is a pointer and the other is 0, convert 0 to null + if (lhsType instanceof PointerType && isConstantZero(ctx.expression(1))) { + rhs = IRValue.constNull(); + } else if (rhsType instanceof PointerType && isConstantZero(ctx.expression(0))) { + lhs = IRValue.constNull(); + } + + IRValue cmp = currentBlock.icmp(lhs, pred, rhs, null); + return currentBlock.zext(cmp, IRType.int32(), null); + } + } + + throw new RuntimeException("Unsupported expression: " + ctx.getText()); + } + + private IRValue generateShortCircuitAnd(SplcParser.ExpressionContext ctx) { + // Short-circuit AND: if lhs is false, return 0 without evaluating rhs + // We use alloca to store the result since we don't have phi + IRValue resultAddr = currentBlock.alloca(IRType.int32(), "and.result"); + + // Initialize result to 0 (the short-circuit result) + currentBlock.store(resultAddr, IRType.int32(), IRValue.consti32(0)); + + BasicBlockBuilder rhsBlock = currentFunction.newBasicBlock("and.rhs"); + BasicBlockBuilder endBlock = currentFunction.newBasicBlock("and.end"); + + // Evaluate lhs + IRValue lhs = generateExpression(ctx.expression(0)); + IRValue lhsBool; + if (lhs.type().isBoolean()) { + lhsBool = lhs; + } else if (lhs.type().isPointer()) { + lhsBool = currentBlock.icmp(lhs, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + lhsBool = currentBlock.icmp(lhs, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + + // If lhs is true, evaluate rhs; if false, skip to end (result is already 0) + currentBlock.condBr(lhsBool, rhsBlock, endBlock); + + // Evaluate rhs (if we get here, lhs was true) + currentBlock = rhsBlock; + IRValue rhs = generateExpression(ctx.expression(1)); + IRValue rhsBool; + if (rhs.type().isBoolean()) { + rhsBool = rhs; + } else if (rhs.type().isPointer()) { + rhsBool = currentBlock.icmp(rhs, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + rhsBool = currentBlock.icmp(rhs, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + IRValue rhsResult = currentBlock.zext(rhsBool, IRType.int32(), null); + currentBlock.store(resultAddr, IRType.int32(), rhsResult); + currentBlock.br(endBlock); + + currentBlock = endBlock; + return currentBlock.load(resultAddr, IRType.int32(), null); + } + + private IRValue generateShortCircuitOr(SplcParser.ExpressionContext ctx) { + // Short-circuit OR: if lhs is true, return 1 without evaluating rhs + // We use alloca to store the result + IRValue resultAddr = currentBlock.alloca(IRType.int32(), "or.result"); + + // Initialize result to 1 (the short-circuit result) + currentBlock.store(resultAddr, IRType.int32(), IRValue.consti32(1)); + + BasicBlockBuilder rhsBlock = currentFunction.newBasicBlock("or.rhs"); + BasicBlockBuilder endBlock = currentFunction.newBasicBlock("or.end"); + + // Evaluate lhs + IRValue lhs = generateExpression(ctx.expression(0)); + IRValue lhsBool; + if (lhs.type().isBoolean()) { + lhsBool = lhs; + } else if (lhs.type().isPointer()) { + lhsBool = currentBlock.icmp(lhs, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + lhsBool = currentBlock.icmp(lhs, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + + // If lhs is true, skip to end (result is already 1); if false, evaluate rhs + currentBlock.condBr(lhsBool, endBlock, rhsBlock); + + // Evaluate rhs (if we get here, lhs was false) + currentBlock = rhsBlock; + IRValue rhs = generateExpression(ctx.expression(1)); + IRValue rhsBool; + if (rhs.type().isBoolean()) { + rhsBool = rhs; + } else if (rhs.type().isPointer()) { + rhsBool = currentBlock.icmp(rhs, LLVMIcmpPredicate.NotEquals, IRValue.constNull(), null); + } else { + rhsBool = currentBlock.icmp(rhs, LLVMIcmpPredicate.NotEquals, IRValue.consti32(0), null); + } + IRValue rhsResult = currentBlock.zext(rhsBool, IRType.int32(), null); + currentBlock.store(resultAddr, IRType.int32(), rhsResult); + currentBlock.br(endBlock); + + currentBlock = endBlock; + return currentBlock.load(resultAddr, IRType.int32(), null); + } + + // Generate address of an lvalue expression + private IRValue generateLvalueAddress(SplcParser.ExpressionContext ctx) { + // Identifier + if (ctx.Identifier() != null && ctx.LPAREN() == null && ctx.DOT() == null && ctx.ARROW() == null) { + return lookupVariable(ctx.Identifier().getText()); + } + + // Parenthesized expression + if (ctx.LPAREN() != null && ctx.expression().size() == 1 && ctx.Identifier() == null) { + return generateLvalueAddress(ctx.expression(0)); + } + + // Array access + if (ctx.LBRACK() != null) { + Type baseType = getExpressionType(ctx.expression(0)); + + if (baseType instanceof ArrayType) { + // For arrays, we need the address of the array and use 2-index GEP + IRValue baseAddr = generateLvalueAddress(ctx.expression(0)); + IRValue index = generateExpression(ctx.expression(1)); + IRType gepType = convertTypeToIR(baseType); + return currentBlock.gep(baseAddr, gepType, 0, index, null); + } else if (baseType instanceof PointerType) { + // For pointers, evaluate the pointer expression and use 1-index GEP + IRValue ptrValue = generateExpression(ctx.expression(0)); + IRValue index = generateExpression(ctx.expression(1)); + Type referenced = ((PointerType) baseType).getReferencedType(); + IRType elementIRType = convertTypeToIR(referenced); + return currentBlock.gep(ptrValue, elementIRType, index, null); + } + + throw new RuntimeException("Array access on non-array, non-pointer"); + } + + // Struct member access + if (ctx.DOT() != null) { + IRValue structAddr = generateLvalueAddress(ctx.expression(0)); + String memberName = ctx.Identifier().getText(); + Type structType = getExpressionType(ctx.expression(0)); + + if (!(structType instanceof StructType)) { + throw new RuntimeException("DOT access on non-struct"); + } + + StructType st = (StructType) structType; + int memberIndex = getMemberIndex(st.getTag(), memberName); + IRType irStructType = IRType.structure(st.getTag()); + + return currentBlock.gep(structAddr, irStructType, 0, IRValue.consti32(memberIndex), null); + } + + // Pointer member access + if (ctx.ARROW() != null) { + IRValue ptrValue = generateExpression(ctx.expression(0)); + String memberName = ctx.Identifier().getText(); + Type ptrType = getExpressionType(ctx.expression(0)); + + if (!(ptrType instanceof PointerType)) { + throw new RuntimeException("ARROW access on non-pointer"); + } + + Type referencedType = ((PointerType) ptrType).getReferencedType(); + if (!(referencedType instanceof StructType)) { + throw new RuntimeException("ARROW access on non-struct pointer"); + } + + StructType st = (StructType) referencedType; + int memberIndex = getMemberIndex(st.getTag(), memberName); + IRType irStructType = IRType.structure(st.getTag()); + + return currentBlock.gep(ptrValue, irStructType, 0, IRValue.consti32(memberIndex), null); + } + + // Dereference + if (ctx.STAR() != null && ctx.expression().size() == 1) { + return generateExpression(ctx.expression(0)); + } + + throw new RuntimeException("Cannot get address of expression: " + ctx.getText()); + } + + // ===== Helper Methods ===== + + private boolean isPostfixOp(SplcParser.ExpressionContext ctx) { + // In postfix, the operator comes after the expression + // We can check by looking at token positions + if (ctx.expression().size() != 1) return false; + if (ctx.INC() == null && ctx.DEC() == null) return false; + + int exprStart = ctx.expression(0).getStart().getStartIndex(); + int opStart = ctx.INC() != null ? + ctx.INC().getSymbol().getStartIndex() : + ctx.DEC().getSymbol().getStartIndex(); + + return opStart > exprStart; + } + + private boolean isConstantZero(SplcParser.ExpressionContext ctx) { + // Check if expression is directly 0 (optionally wrapped in parentheses) + if (ctx.Number() != null && ctx.Number().getText().equals("0")) { + return true; + } + // Check if it's parenthesized zero + if (ctx.LPAREN() != null && ctx.expression().size() == 1 && ctx.Identifier() == null) { + return isConstantZero(ctx.expression(0)); + } + return false; + } + + private IRValue lookupVariable(String name) { + // Check local scopes first (from innermost to outermost) + for (Map scope : localScopes) { + if (scope.containsKey(name)) { + return scope.get(name).addr; + } + } + + // Check global variables + if (globalVariables.containsKey(name)) { + return globalVariables.get(name).addr; + } + + throw new RuntimeException("Variable not found: " + name); + } + + // Get the type of a variable + private Type lookupVariableType(String name) { + // Check local scopes first (from innermost to outermost) + for (Map scope : localScopes) { + if (scope.containsKey(name)) { + return scope.get(name).type; + } + } + + // Check global variables + if (globalVariables.containsKey(name)) { + return globalVariables.get(name).type; + } + + return new BasicType(BasicType.Kind.INT); // Fallback + } + + // Get the type of an expression (simplified implementation) + private Type getExpressionType(SplcParser.ExpressionContext ctx) { + return getExpressionTypeImpl(ctx); + } + + private Type getExpressionTypeImpl(SplcParser.ExpressionContext ctx) { + // Identifier + if (ctx.Identifier() != null && ctx.LPAREN() == null && ctx.DOT() == null && ctx.ARROW() == null) { + return lookupVariableType(ctx.Identifier().getText()); + } + + // Number + if (ctx.Number() != null) { + return new BasicType(BasicType.Kind.INT); + } + + // Parenthesized + if (ctx.LPAREN() != null && ctx.expression().size() == 1 && ctx.Identifier() == null) { + return getExpressionTypeImpl(ctx.expression(0)); + } + + // Function call + if (ctx.Identifier() != null && ctx.LPAREN() != null) { + return new BasicType(BasicType.Kind.INT); // All functions return int per project spec + } + + // Array access + if (ctx.LBRACK() != null) { + Type baseType = getExpressionTypeImpl(ctx.expression(0)); + if (baseType instanceof ArrayType) { + return ((ArrayType) baseType).getElementType(); + } else if (baseType instanceof PointerType) { + return ((PointerType) baseType).getReferencedType(); + } + } + + // Struct member access + if (ctx.DOT() != null) { + Type structType = getExpressionTypeImpl(ctx.expression(0)); + if (structType instanceof StructType) { + String memberName = ctx.Identifier().getText(); + return getMemberType(((StructType) structType).getTag(), memberName); + } + } + + // Pointer member access + if (ctx.ARROW() != null) { + Type ptrType = getExpressionTypeImpl(ctx.expression(0)); + if (ptrType instanceof PointerType) { + Type referencedType = ((PointerType) ptrType).getReferencedType(); + if (referencedType instanceof StructType) { + String memberName = ctx.Identifier().getText(); + return getMemberType(((StructType) referencedType).getTag(), memberName); + } + } + } + + // Increment/decrement + if (ctx.INC() != null || ctx.DEC() != null) { + return getExpressionTypeImpl(ctx.expression(0)); + } + + // Unary operators + if (ctx.expression().size() == 1) { + if (ctx.PLUS() != null || ctx.MINUS() != null || ctx.NOT() != null) { + return new BasicType(BasicType.Kind.INT); + } + if (ctx.STAR() != null) { + Type ptrType = getExpressionTypeImpl(ctx.expression(0)); + if (ptrType instanceof PointerType) { + return ((PointerType) ptrType).getReferencedType(); + } + } + if (ctx.AMP() != null) { + return new PointerType(getExpressionTypeImpl(ctx.expression(0))); + } + } + + // Binary operators + if (ctx.expression().size() == 2) { + if (ctx.ASSIGN() != null) { + return getExpressionTypeImpl(ctx.expression(0)); + } + if (ctx.PLUS() != null || ctx.MINUS() != null) { + Type lhsType = getExpressionTypeImpl(ctx.expression(0)); + Type rhsType = getExpressionTypeImpl(ctx.expression(1)); + if (lhsType instanceof PointerType) return lhsType; + if (rhsType instanceof PointerType) return rhsType; + return new BasicType(BasicType.Kind.INT); + } + // All other binary ops return int + return new BasicType(BasicType.Kind.INT); + } + + return new BasicType(BasicType.Kind.INT); + } + + private int getMemberIndex(String structTag, String memberName) { + List> members = structDefs.get(structTag); + if (members == null) return 0; + for (int i = 0; i < members.size(); i++) { + if (members.get(i).a.equals(memberName)) { + return i; + } + } + return 0; + } + + private Type getMemberType(String structTag, String memberName) { + List> members = structDefs.get(structTag); + if (members == null) return new BasicType(BasicType.Kind.INT); + for (Pair member : members) { + if (member.a.equals(memberName)) { + return member.b; + } + } + return new BasicType(BasicType.Kind.INT); + } + + private boolean isIntegerType(Type type) { + return type instanceof BasicType && ((BasicType) type).getKind() == BasicType.Kind.INT; + } + + // ===== Type Conversion ===== + + private IRType convertTypeToIR(Type type) { + if (type instanceof BasicType) { + BasicType.Kind kind = ((BasicType) type).getKind(); + if (kind == BasicType.Kind.INT) { + return IRType.int32(); + } + // CHAR not supported per project spec + return IRType.int32(); + } else if (type instanceof ArrayType) { + ArrayType arr = (ArrayType) type; + IRType elemType = convertTypeToIR(arr.getElementType()); + // Build array type with proper dimensions + return buildArrayIRType(arr); + } else if (type instanceof PointerType) { + return IRType.pointer(); + } else if (type instanceof StructType) { + return IRType.structure(((StructType) type).getTag()); + } + return IRType.int32(); + } + + private IRType buildArrayIRType(ArrayType arr) { + // Collect all dimensions + List dims = new ArrayList<>(); + Type current = arr; + while (current instanceof ArrayType) { + dims.add(((ArrayType) current).getLength()); + current = ((ArrayType) current).getElementType(); + } + IRType elemType = convertTypeToIR(current); + int[] dimArray = new int[dims.size()]; + for (int i = 0; i < dims.size(); i++) { + dimArray[i] = dims.get(i); + } + return IRType.array(elemType, dimArray); + } + + // ===== Type Building from AST ===== + + private Type buildTypeFromSpecifier(SplcParser.SpecifierContext ctx) { + if (ctx.INT() != null) { + return new BasicType(BasicType.Kind.INT); + } else if (ctx.STRUCT() != null) { + String tagName = ctx.Identifier().getText(); + if (ctx.LBRACE() != null) { + // Complete struct - build the type with members + List members = new ArrayList<>(); + for (int i = 0; i < ctx.specifier().size(); i++) { + Type memberSpecType = buildTypeFromSpecifier(ctx.specifier(i)); + String memberName = extractIdentifierFromVarDec(ctx.varDec(i)); + Type memberType = buildTypeFromVarDec(ctx.varDec(i), memberSpecType); + members.add(new StructType.Member(memberType, memberName)); + } + return new StructType(tagName, members); + } else { + // Reference to existing struct + List> existingMembers = structDefs.get(tagName); + if (existingMembers != null) { + List members = new ArrayList<>(); + for (Pair m : existingMembers) { + members.add(new StructType.Member(m.b, m.a)); + } + return new StructType(tagName, members); + } + return new StructType(tagName, false); + } + } + return new BasicType(BasicType.Kind.INT); + } + + private String extractIdentifierFromVarDec(SplcParser.VarDecContext ctx) { + if (ctx.Identifier() != null) { + return ctx.Identifier().getText(); + } else if (ctx.varDec() != null) { + return extractIdentifierFromVarDec(ctx.varDec()); + } + return null; + } + + private Type buildTypeFromVarDec(SplcParser.VarDecContext ctx, Type baseType) { + if (ctx.Identifier() != null) { + return baseType; + } else if (ctx.LPAREN() != null && ctx.varDec() != null) { + return buildTypeFromVarDec(ctx.varDec(), baseType); + } else if (ctx.LBRACK() != null) { + int arraySize = Integer.parseInt(ctx.Number().getText()); + Type arrayType = new ArrayType(baseType, arraySize); + return buildTypeFromVarDec(ctx.varDec(), arrayType); + } else if (ctx.STAR() != null) { + Type pointerType = new PointerType(baseType); + return buildTypeFromVarDec(ctx.varDec(), pointerType); + } + return baseType; + } + } } \ No newline at end of file From 2a589cd3b02273809b56bb4968624cb7b0315efd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:50:25 +0000 Subject: [PATCH 4/9] Add 10 test cases (test100-test109) for project 5 Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- project5_testcases/test100/01.in | 2 + project5_testcases/test100/01.out | 1 + project5_testcases/test100/02.in | 2 + project5_testcases/test100/02.out | 1 + project5_testcases/test100/03.in | 2 + project5_testcases/test100/03.out | 1 + project5_testcases/test100/04.in | 2 + project5_testcases/test100/04.out | 1 + project5_testcases/test100/05.in | 2 + project5_testcases/test100/05.out | 1 + .../test100/Your_own_test_begins_at_100 | 1 - project5_testcases/test100/splc.c | 31 +++++++++ project5_testcases/test101/01.in | 2 + project5_testcases/test101/01.out | 1 + project5_testcases/test101/02.in | 2 + project5_testcases/test101/02.out | 1 + project5_testcases/test101/03.in | 2 + project5_testcases/test101/03.out | 1 + project5_testcases/test101/04.in | 2 + project5_testcases/test101/04.out | 1 + project5_testcases/test101/05.in | 2 + project5_testcases/test101/05.out | 1 + project5_testcases/test101/splc.c | 45 ++++++++++++ project5_testcases/test102/01.in | 2 + project5_testcases/test102/01.out | 1 + project5_testcases/test102/02.in | 2 + project5_testcases/test102/02.out | 1 + project5_testcases/test102/03.in | 2 + project5_testcases/test102/03.out | 1 + project5_testcases/test102/04.in | 2 + project5_testcases/test102/04.out | 1 + project5_testcases/test102/05.in | 2 + project5_testcases/test102/05.out | 1 + project5_testcases/test102/splc.c | 34 ++++++++++ project5_testcases/test103/01.in | 2 + project5_testcases/test103/01.out | 1 + project5_testcases/test103/02.in | 2 + project5_testcases/test103/02.out | 1 + project5_testcases/test103/03.in | 2 + project5_testcases/test103/03.out | 1 + project5_testcases/test103/04.in | 2 + project5_testcases/test103/04.out | 1 + project5_testcases/test103/05.in | 2 + project5_testcases/test103/05.out | 1 + project5_testcases/test103/splc.c | 54 +++++++++++++++ project5_testcases/test104/01.in | 2 + project5_testcases/test104/01.out | 1 + project5_testcases/test104/02.in | 2 + project5_testcases/test104/02.out | 1 + project5_testcases/test104/03.in | 2 + project5_testcases/test104/03.out | 1 + project5_testcases/test104/04.in | 2 + project5_testcases/test104/04.out | 1 + project5_testcases/test104/05.in | 2 + project5_testcases/test104/05.out | 1 + project5_testcases/test104/splc.c | 43 ++++++++++++ project5_testcases/test105/01.in | 4 ++ project5_testcases/test105/01.out | 1 + project5_testcases/test105/02.in | 3 + project5_testcases/test105/02.out | 1 + project5_testcases/test105/03.in | 5 ++ project5_testcases/test105/03.out | 1 + project5_testcases/test105/04.in | 2 + project5_testcases/test105/04.out | 1 + project5_testcases/test105/05.in | 6 ++ project5_testcases/test105/05.out | 1 + project5_testcases/test105/splc.c | 47 +++++++++++++ project5_testcases/test106/01.in | 4 ++ project5_testcases/test106/01.out | 1 + project5_testcases/test106/02.in | 3 + project5_testcases/test106/02.out | 1 + project5_testcases/test106/03.in | 2 + project5_testcases/test106/03.out | 1 + project5_testcases/test106/04.in | 5 ++ project5_testcases/test106/04.out | 1 + project5_testcases/test106/05.in | 3 + project5_testcases/test106/05.out | 1 + project5_testcases/test106/splc.c | 46 +++++++++++++ project5_testcases/test107/01.in | 2 + project5_testcases/test107/01.out | 1 + project5_testcases/test107/02.in | 2 + project5_testcases/test107/02.out | 1 + project5_testcases/test107/03.in | 2 + project5_testcases/test107/03.out | 1 + project5_testcases/test107/04.in | 2 + project5_testcases/test107/04.out | 1 + project5_testcases/test107/05.in | 2 + project5_testcases/test107/05.out | 1 + project5_testcases/test107/splc.c | 50 ++++++++++++++ project5_testcases/test108/01.in | 2 + project5_testcases/test108/01.out | 1 + project5_testcases/test108/02.in | 2 + project5_testcases/test108/02.out | 1 + project5_testcases/test108/03.in | 2 + project5_testcases/test108/03.out | 1 + project5_testcases/test108/04.in | 2 + project5_testcases/test108/04.out | 1 + project5_testcases/test108/05.in | 2 + project5_testcases/test108/05.out | 1 + project5_testcases/test108/splc.c | 58 ++++++++++++++++ project5_testcases/test109/01.in | 2 + project5_testcases/test109/01.out | 1 + project5_testcases/test109/02.in | 2 + project5_testcases/test109/02.out | 1 + project5_testcases/test109/03.in | 2 + project5_testcases/test109/03.out | 1 + project5_testcases/test109/04.in | 2 + project5_testcases/test109/04.out | 1 + project5_testcases/test109/05.in | 2 + project5_testcases/test109/05.out | 1 + project5_testcases/test109/splc.c | 68 +++++++++++++++++++ 111 files changed, 643 insertions(+), 1 deletion(-) create mode 100644 project5_testcases/test100/01.in create mode 100644 project5_testcases/test100/01.out create mode 100644 project5_testcases/test100/02.in create mode 100644 project5_testcases/test100/02.out create mode 100644 project5_testcases/test100/03.in create mode 100644 project5_testcases/test100/03.out create mode 100644 project5_testcases/test100/04.in create mode 100644 project5_testcases/test100/04.out create mode 100644 project5_testcases/test100/05.in create mode 100644 project5_testcases/test100/05.out delete mode 100644 project5_testcases/test100/Your_own_test_begins_at_100 create mode 100644 project5_testcases/test100/splc.c create mode 100644 project5_testcases/test101/01.in create mode 100644 project5_testcases/test101/01.out create mode 100644 project5_testcases/test101/02.in create mode 100644 project5_testcases/test101/02.out create mode 100644 project5_testcases/test101/03.in create mode 100644 project5_testcases/test101/03.out create mode 100644 project5_testcases/test101/04.in create mode 100644 project5_testcases/test101/04.out create mode 100644 project5_testcases/test101/05.in create mode 100644 project5_testcases/test101/05.out create mode 100644 project5_testcases/test101/splc.c create mode 100644 project5_testcases/test102/01.in create mode 100644 project5_testcases/test102/01.out create mode 100644 project5_testcases/test102/02.in create mode 100644 project5_testcases/test102/02.out create mode 100644 project5_testcases/test102/03.in create mode 100644 project5_testcases/test102/03.out create mode 100644 project5_testcases/test102/04.in create mode 100644 project5_testcases/test102/04.out create mode 100644 project5_testcases/test102/05.in create mode 100644 project5_testcases/test102/05.out create mode 100644 project5_testcases/test102/splc.c create mode 100644 project5_testcases/test103/01.in create mode 100644 project5_testcases/test103/01.out create mode 100644 project5_testcases/test103/02.in create mode 100644 project5_testcases/test103/02.out create mode 100644 project5_testcases/test103/03.in create mode 100644 project5_testcases/test103/03.out create mode 100644 project5_testcases/test103/04.in create mode 100644 project5_testcases/test103/04.out create mode 100644 project5_testcases/test103/05.in create mode 100644 project5_testcases/test103/05.out create mode 100644 project5_testcases/test103/splc.c create mode 100644 project5_testcases/test104/01.in create mode 100644 project5_testcases/test104/01.out create mode 100644 project5_testcases/test104/02.in create mode 100644 project5_testcases/test104/02.out create mode 100644 project5_testcases/test104/03.in create mode 100644 project5_testcases/test104/03.out create mode 100644 project5_testcases/test104/04.in create mode 100644 project5_testcases/test104/04.out create mode 100644 project5_testcases/test104/05.in create mode 100644 project5_testcases/test104/05.out create mode 100644 project5_testcases/test104/splc.c create mode 100644 project5_testcases/test105/01.in create mode 100644 project5_testcases/test105/01.out create mode 100644 project5_testcases/test105/02.in create mode 100644 project5_testcases/test105/02.out create mode 100644 project5_testcases/test105/03.in create mode 100644 project5_testcases/test105/03.out create mode 100644 project5_testcases/test105/04.in create mode 100644 project5_testcases/test105/04.out create mode 100644 project5_testcases/test105/05.in create mode 100644 project5_testcases/test105/05.out create mode 100644 project5_testcases/test105/splc.c create mode 100644 project5_testcases/test106/01.in create mode 100644 project5_testcases/test106/01.out create mode 100644 project5_testcases/test106/02.in create mode 100644 project5_testcases/test106/02.out create mode 100644 project5_testcases/test106/03.in create mode 100644 project5_testcases/test106/03.out create mode 100644 project5_testcases/test106/04.in create mode 100644 project5_testcases/test106/04.out create mode 100644 project5_testcases/test106/05.in create mode 100644 project5_testcases/test106/05.out create mode 100644 project5_testcases/test106/splc.c create mode 100644 project5_testcases/test107/01.in create mode 100644 project5_testcases/test107/01.out create mode 100644 project5_testcases/test107/02.in create mode 100644 project5_testcases/test107/02.out create mode 100644 project5_testcases/test107/03.in create mode 100644 project5_testcases/test107/03.out create mode 100644 project5_testcases/test107/04.in create mode 100644 project5_testcases/test107/04.out create mode 100644 project5_testcases/test107/05.in create mode 100644 project5_testcases/test107/05.out create mode 100644 project5_testcases/test107/splc.c create mode 100644 project5_testcases/test108/01.in create mode 100644 project5_testcases/test108/01.out create mode 100644 project5_testcases/test108/02.in create mode 100644 project5_testcases/test108/02.out create mode 100644 project5_testcases/test108/03.in create mode 100644 project5_testcases/test108/03.out create mode 100644 project5_testcases/test108/04.in create mode 100644 project5_testcases/test108/04.out create mode 100644 project5_testcases/test108/05.in create mode 100644 project5_testcases/test108/05.out create mode 100644 project5_testcases/test108/splc.c create mode 100644 project5_testcases/test109/01.in create mode 100644 project5_testcases/test109/01.out create mode 100644 project5_testcases/test109/02.in create mode 100644 project5_testcases/test109/02.out create mode 100644 project5_testcases/test109/03.in create mode 100644 project5_testcases/test109/03.out create mode 100644 project5_testcases/test109/04.in create mode 100644 project5_testcases/test109/04.out create mode 100644 project5_testcases/test109/05.in create mode 100644 project5_testcases/test109/05.out create mode 100644 project5_testcases/test109/splc.c diff --git a/project5_testcases/test100/01.in b/project5_testcases/test100/01.in new file mode 100644 index 0000000..54aba62 --- /dev/null +++ b/project5_testcases/test100/01.in @@ -0,0 +1,2 @@ +1 +5 10 3 diff --git a/project5_testcases/test100/01.out b/project5_testcases/test100/01.out new file mode 100644 index 0000000..ea0aedf --- /dev/null +++ b/project5_testcases/test100/01.out @@ -0,0 +1 @@ +1 15 -5 50 0 5 \ No newline at end of file diff --git a/project5_testcases/test100/02.in b/project5_testcases/test100/02.in new file mode 100644 index 0000000..f2fa003 --- /dev/null +++ b/project5_testcases/test100/02.in @@ -0,0 +1,2 @@ +2 +6 7 2 diff --git a/project5_testcases/test100/02.out b/project5_testcases/test100/02.out new file mode 100644 index 0000000..69589f3 --- /dev/null +++ b/project5_testcases/test100/02.out @@ -0,0 +1 @@ +2 13 -1 42 0 6 \ No newline at end of file diff --git a/project5_testcases/test100/03.in b/project5_testcases/test100/03.in new file mode 100644 index 0000000..24ae661 --- /dev/null +++ b/project5_testcases/test100/03.in @@ -0,0 +1,2 @@ +3 +10 100 7 diff --git a/project5_testcases/test100/03.out b/project5_testcases/test100/03.out new file mode 100644 index 0000000..8980d11 --- /dev/null +++ b/project5_testcases/test100/03.out @@ -0,0 +1 @@ +6 110 -90 1000 0 10 \ No newline at end of file diff --git a/project5_testcases/test100/04.in b/project5_testcases/test100/04.in new file mode 100644 index 0000000..1fe29e9 --- /dev/null +++ b/project5_testcases/test100/04.in @@ -0,0 +1,2 @@ +4 +0 50 8 diff --git a/project5_testcases/test100/04.out b/project5_testcases/test100/04.out new file mode 100644 index 0000000..60016e6 --- /dev/null +++ b/project5_testcases/test100/04.out @@ -0,0 +1 @@ +24 50 -50 0 0 0 \ No newline at end of file diff --git a/project5_testcases/test100/05.in b/project5_testcases/test100/05.in new file mode 100644 index 0000000..d28e6b0 --- /dev/null +++ b/project5_testcases/test100/05.in @@ -0,0 +1,2 @@ +5 +1 -10 3 diff --git a/project5_testcases/test100/05.out b/project5_testcases/test100/05.out new file mode 100644 index 0000000..6b4a76b --- /dev/null +++ b/project5_testcases/test100/05.out @@ -0,0 +1 @@ +120 -9 11 -10 0 1 \ No newline at end of file diff --git a/project5_testcases/test100/Your_own_test_begins_at_100 b/project5_testcases/test100/Your_own_test_begins_at_100 deleted file mode 100644 index 82fa4db..0000000 --- a/project5_testcases/test100/Your_own_test_begins_at_100 +++ /dev/null @@ -1 +0,0 @@ -quq \ No newline at end of file diff --git a/project5_testcases/test100/splc.c b/project5_testcases/test100/splc.c new file mode 100644 index 0000000..c66d872 --- /dev/null +++ b/project5_testcases/test100/splc.c @@ -0,0 +1,31 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 100: Basic arithmetic and function calls +int factorial(int n) { + if (n <= 1) { + return 1; + } + return n * factorial(n - 1); +} + +int main0() { + int n = readint(); + int result = factorial(n); + writeint(result); + + // Test some basic arithmetic + int a = readint(); + int b = readint(); + writeint(a + b); + writeint(a - b); + writeint(a * b); + if (b != 0) { + writeint(a / b); + writeint(a % b); + } + return 0; +} diff --git a/project5_testcases/test101/01.in b/project5_testcases/test101/01.in new file mode 100644 index 0000000..5c8f9ea --- /dev/null +++ b/project5_testcases/test101/01.in @@ -0,0 +1,2 @@ +10 +42 diff --git a/project5_testcases/test101/01.out b/project5_testcases/test101/01.out new file mode 100644 index 0000000..f9a0bf7 --- /dev/null +++ b/project5_testcases/test101/01.out @@ -0,0 +1 @@ +0 25 33 56 61 65 69 77 81 93 \ No newline at end of file diff --git a/project5_testcases/test101/02.in b/project5_testcases/test101/02.in new file mode 100644 index 0000000..51a3e80 --- /dev/null +++ b/project5_testcases/test101/02.in @@ -0,0 +1,2 @@ +5 +100 diff --git a/project5_testcases/test101/02.out b/project5_testcases/test101/02.out new file mode 100644 index 0000000..533554e --- /dev/null +++ b/project5_testcases/test101/02.out @@ -0,0 +1 @@ +14 18 61 62 92 \ No newline at end of file diff --git a/project5_testcases/test101/03.in b/project5_testcases/test101/03.in new file mode 100644 index 0000000..39cdd4f --- /dev/null +++ b/project5_testcases/test101/03.in @@ -0,0 +1,2 @@ +15 +7 diff --git a/project5_testcases/test101/03.out b/project5_testcases/test101/03.out new file mode 100644 index 0000000..2245115 --- /dev/null +++ b/project5_testcases/test101/03.out @@ -0,0 +1 @@ +6 13 13 30 31 34 49 63 64 65 68 74 74 85 90 \ No newline at end of file diff --git a/project5_testcases/test101/04.in b/project5_testcases/test101/04.in new file mode 100644 index 0000000..dd4d207 --- /dev/null +++ b/project5_testcases/test101/04.in @@ -0,0 +1,2 @@ +20 +999 diff --git a/project5_testcases/test101/04.out b/project5_testcases/test101/04.out new file mode 100644 index 0000000..7d2915c --- /dev/null +++ b/project5_testcases/test101/04.out @@ -0,0 +1 @@ +3 5 7 11 11 27 34 39 39 52 62 64 79 80 84 86 86 87 88 91 \ No newline at end of file diff --git a/project5_testcases/test101/05.in b/project5_testcases/test101/05.in new file mode 100644 index 0000000..01522ae --- /dev/null +++ b/project5_testcases/test101/05.in @@ -0,0 +1,2 @@ +8 +12345 diff --git a/project5_testcases/test101/05.out b/project5_testcases/test101/05.out new file mode 100644 index 0000000..d2410f6 --- /dev/null +++ b/project5_testcases/test101/05.out @@ -0,0 +1 @@ +17 22 27 41 45 68 88 98 \ No newline at end of file diff --git a/project5_testcases/test101/splc.c b/project5_testcases/test101/splc.c new file mode 100644 index 0000000..ffe820f --- /dev/null +++ b/project5_testcases/test101/splc.c @@ -0,0 +1,45 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 101: Arrays and loops +int arr[100]; + +int bubble_sort(int n) { + int i = 0; + while (i < n - 1) { + int j = 0; + while (j < n - i - 1) { + if (arr[j] > arr[j + 1]) { + int temp = arr[j]; + arr[j] = arr[j + 1]; + arr[j + 1] = temp; + } + j = j + 1; + } + i = i + 1; + } + return 0; +} + +int main0() { + int n = readint(); + setseed(readint()); + + int i = 0; + while (i < n) { + arr[i] = getrand() % 100; + i = i + 1; + } + + bubble_sort(n); + + i = 0; + while (i < n) { + writeint(arr[i]); + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test102/01.in b/project5_testcases/test102/01.in new file mode 100644 index 0000000..a5a614e --- /dev/null +++ b/project5_testcases/test102/01.in @@ -0,0 +1,2 @@ +5 +0 1 2 3 4 diff --git a/project5_testcases/test102/01.out b/project5_testcases/test102/01.out new file mode 100644 index 0000000..938b5f0 --- /dev/null +++ b/project5_testcases/test102/01.out @@ -0,0 +1 @@ +0 1 1 2 3 \ No newline at end of file diff --git a/project5_testcases/test102/02.in b/project5_testcases/test102/02.in new file mode 100644 index 0000000..50c6ec6 --- /dev/null +++ b/project5_testcases/test102/02.in @@ -0,0 +1,2 @@ +5 +5 6 7 8 9 diff --git a/project5_testcases/test102/02.out b/project5_testcases/test102/02.out new file mode 100644 index 0000000..6ac0ffa --- /dev/null +++ b/project5_testcases/test102/02.out @@ -0,0 +1 @@ +5 8 13 21 34 \ No newline at end of file diff --git a/project5_testcases/test102/03.in b/project5_testcases/test102/03.in new file mode 100644 index 0000000..589d889 --- /dev/null +++ b/project5_testcases/test102/03.in @@ -0,0 +1,2 @@ +3 +10 15 20 diff --git a/project5_testcases/test102/03.out b/project5_testcases/test102/03.out new file mode 100644 index 0000000..7b8a639 --- /dev/null +++ b/project5_testcases/test102/03.out @@ -0,0 +1 @@ +55 610 6765 \ No newline at end of file diff --git a/project5_testcases/test102/04.in b/project5_testcases/test102/04.in new file mode 100644 index 0000000..9762e75 --- /dev/null +++ b/project5_testcases/test102/04.in @@ -0,0 +1,2 @@ +1 +25 diff --git a/project5_testcases/test102/04.out b/project5_testcases/test102/04.out new file mode 100644 index 0000000..098ce39 --- /dev/null +++ b/project5_testcases/test102/04.out @@ -0,0 +1 @@ +75025 \ No newline at end of file diff --git a/project5_testcases/test102/05.in b/project5_testcases/test102/05.in new file mode 100644 index 0000000..d4a0ecd --- /dev/null +++ b/project5_testcases/test102/05.in @@ -0,0 +1,2 @@ +10 +0 1 2 3 4 5 6 7 8 9 diff --git a/project5_testcases/test102/05.out b/project5_testcases/test102/05.out new file mode 100644 index 0000000..f679779 --- /dev/null +++ b/project5_testcases/test102/05.out @@ -0,0 +1 @@ +0 1 1 2 3 5 8 13 21 34 \ No newline at end of file diff --git a/project5_testcases/test102/splc.c b/project5_testcases/test102/splc.c new file mode 100644 index 0000000..8480c2a --- /dev/null +++ b/project5_testcases/test102/splc.c @@ -0,0 +1,34 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 102: Fibonacci and control flow +int fib(int n) { + if (n <= 0) return 0; + if (n == 1) return 1; + + int a = 0; + int b = 1; + int i = 2; + while (i <= n) { + int c = a + b; + a = b; + b = c; + i = i + 1; + } + return b; +} + +int main0() { + int count = readint(); + int i = 0; + while (i < count) { + int n = readint(); + int result = fib(n); + writeint(result); + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test103/01.in b/project5_testcases/test103/01.in new file mode 100644 index 0000000..1800a9e --- /dev/null +++ b/project5_testcases/test103/01.in @@ -0,0 +1,2 @@ +3 +42 diff --git a/project5_testcases/test103/01.out b/project5_testcases/test103/01.out new file mode 100644 index 0000000..2f5d6a4 --- /dev/null +++ b/project5_testcases/test103/01.out @@ -0,0 +1 @@ +31 11 27 33 6 0 19 43 15 \ No newline at end of file diff --git a/project5_testcases/test103/02.in b/project5_testcases/test103/02.in new file mode 100644 index 0000000..51a3e80 --- /dev/null +++ b/project5_testcases/test103/02.in @@ -0,0 +1,2 @@ +5 +100 diff --git a/project5_testcases/test103/02.out b/project5_testcases/test103/02.out new file mode 100644 index 0000000..967964a --- /dev/null +++ b/project5_testcases/test103/02.out @@ -0,0 +1 @@ +12 23 32 26 17 42 49 45 41 49 11 12 24 5 20 18 12 6 5 32 14 31 30 19 23 \ No newline at end of file diff --git a/project5_testcases/test103/03.in b/project5_testcases/test103/03.in new file mode 100644 index 0000000..945d41e --- /dev/null +++ b/project5_testcases/test103/03.in @@ -0,0 +1,2 @@ +4 +7 diff --git a/project5_testcases/test103/03.out b/project5_testcases/test103/03.out new file mode 100644 index 0000000..ddff96b --- /dev/null +++ b/project5_testcases/test103/03.out @@ -0,0 +1 @@ +14 31 35 30 6 15 13 24 18 34 13 49 24 40 13 22 \ No newline at end of file diff --git a/project5_testcases/test103/04.in b/project5_testcases/test103/04.in new file mode 100644 index 0000000..e6c9d0e --- /dev/null +++ b/project5_testcases/test103/04.in @@ -0,0 +1,2 @@ +6 +999 diff --git a/project5_testcases/test103/04.out b/project5_testcases/test103/04.out new file mode 100644 index 0000000..2e15d62 --- /dev/null +++ b/project5_testcases/test103/04.out @@ -0,0 +1 @@ +34 38 11 11 25 10 2 3 39 14 15 27 27 41 36 48 20 9 34 29 37 1 25 26 7 36 39 6 42 16 12 5 30 10 33 8 \ No newline at end of file diff --git a/project5_testcases/test103/05.in b/project5_testcases/test103/05.in new file mode 100644 index 0000000..3607fff --- /dev/null +++ b/project5_testcases/test103/05.in @@ -0,0 +1,2 @@ +2 +12345 diff --git a/project5_testcases/test103/05.out b/project5_testcases/test103/05.out new file mode 100644 index 0000000..cc59a19 --- /dev/null +++ b/project5_testcases/test103/05.out @@ -0,0 +1 @@ +18 17 38 48 \ No newline at end of file diff --git a/project5_testcases/test103/splc.c b/project5_testcases/test103/splc.c new file mode 100644 index 0000000..b2472fb --- /dev/null +++ b/project5_testcases/test103/splc.c @@ -0,0 +1,54 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 103: 2D array operations +int matrix[10][10]; + +int transpose(int n) { + int i = 0; + while (i < n) { + int j = i + 1; + while (j < n) { + int temp = matrix[i][j]; + matrix[i][j] = matrix[j][i]; + matrix[j][i] = temp; + j = j + 1; + } + i = i + 1; + } + return 0; +} + +int main0() { + int n = readint(); + setseed(readint()); + + // Initialize matrix + int i = 0; + while (i < n) { + int j = 0; + while (j < n) { + matrix[i][j] = getrand() % 50; + j = j + 1; + } + i = i + 1; + } + + // Transpose + transpose(n); + + // Print matrix + i = 0; + while (i < n) { + int j = 0; + while (j < n) { + writeint(matrix[i][j]); + j = j + 1; + } + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test104/01.in b/project5_testcases/test104/01.in new file mode 100644 index 0000000..92e1bdc --- /dev/null +++ b/project5_testcases/test104/01.in @@ -0,0 +1,2 @@ +5 +-5 0 5 50 500 diff --git a/project5_testcases/test104/01.out b/project5_testcases/test104/01.out new file mode 100644 index 0000000..7a2ace8 --- /dev/null +++ b/project5_testcases/test104/01.out @@ -0,0 +1 @@ +-1 0 1 2 3 1 \ No newline at end of file diff --git a/project5_testcases/test104/02.in b/project5_testcases/test104/02.in new file mode 100644 index 0000000..9c95a20 --- /dev/null +++ b/project5_testcases/test104/02.in @@ -0,0 +1,2 @@ +10 +-1 -2 -3 0 1 2 10 50 100 1000 diff --git a/project5_testcases/test104/02.out b/project5_testcases/test104/02.out new file mode 100644 index 0000000..555b8a1 --- /dev/null +++ b/project5_testcases/test104/02.out @@ -0,0 +1 @@ +-1 -1 -1 0 1 1 1 2 2 3 3 \ No newline at end of file diff --git a/project5_testcases/test104/03.in b/project5_testcases/test104/03.in new file mode 100644 index 0000000..2edfca6 --- /dev/null +++ b/project5_testcases/test104/03.in @@ -0,0 +1,2 @@ +3 +0 0 0 diff --git a/project5_testcases/test104/03.out b/project5_testcases/test104/03.out new file mode 100644 index 0000000..f6f83b9 --- /dev/null +++ b/project5_testcases/test104/03.out @@ -0,0 +1 @@ +0 0 0 0 \ No newline at end of file diff --git a/project5_testcases/test104/04.in b/project5_testcases/test104/04.in new file mode 100644 index 0000000..754879d --- /dev/null +++ b/project5_testcases/test104/04.in @@ -0,0 +1,2 @@ +7 +-100 -50 0 5 55 105 200 diff --git a/project5_testcases/test104/04.out b/project5_testcases/test104/04.out new file mode 100644 index 0000000..addb4ed --- /dev/null +++ b/project5_testcases/test104/04.out @@ -0,0 +1 @@ +-1 -1 0 1 2 3 3 2 \ No newline at end of file diff --git a/project5_testcases/test104/05.in b/project5_testcases/test104/05.in new file mode 100644 index 0000000..27669ab --- /dev/null +++ b/project5_testcases/test104/05.in @@ -0,0 +1,2 @@ +4 +100 10 1 0 diff --git a/project5_testcases/test104/05.out b/project5_testcases/test104/05.out new file mode 100644 index 0000000..404f236 --- /dev/null +++ b/project5_testcases/test104/05.out @@ -0,0 +1 @@ +2 1 1 0 0 \ No newline at end of file diff --git a/project5_testcases/test104/splc.c b/project5_testcases/test104/splc.c new file mode 100644 index 0000000..afcb801 --- /dev/null +++ b/project5_testcases/test104/splc.c @@ -0,0 +1,43 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 104: Nested conditionals and comparisons +int global_count; + +int classify(int x) { + if (x < 0) { + global_count = global_count + 1; + return -1; + } else { + if (x == 0) { + return 0; + } else { + if (x <= 10) { + return 1; + } else { + if (x <= 100) { + return 2; + } else { + return 3; + } + } + } + } +} + +int main0() { + global_count = 0; + int n = readint(); + int i = 0; + while (i < n) { + int x = readint(); + int cat = classify(x); + writeint(cat); + i = i + 1; + } + writeint(global_count); + return 0; +} diff --git a/project5_testcases/test105/01.in b/project5_testcases/test105/01.in new file mode 100644 index 0000000..ce7af5d --- /dev/null +++ b/project5_testcases/test105/01.in @@ -0,0 +1,4 @@ +3 +5 1 10 +0 1 5 +-5 2 -10 diff --git a/project5_testcases/test105/01.out b/project5_testcases/test105/01.out new file mode 100644 index 0000000..e8d328a --- /dev/null +++ b/project5_testcases/test105/01.out @@ -0,0 +1 @@ +1 6 0 0 1 -5 \ No newline at end of file diff --git a/project5_testcases/test105/02.in b/project5_testcases/test105/02.in new file mode 100644 index 0000000..324ff63 --- /dev/null +++ b/project5_testcases/test105/02.in @@ -0,0 +1,3 @@ +2 +10 1 15 +10 2 5 diff --git a/project5_testcases/test105/02.out b/project5_testcases/test105/02.out new file mode 100644 index 0000000..c3b6cde --- /dev/null +++ b/project5_testcases/test105/02.out @@ -0,0 +1 @@ +1 11 1 9 \ No newline at end of file diff --git a/project5_testcases/test105/03.in b/project5_testcases/test105/03.in new file mode 100644 index 0000000..2a99ffc --- /dev/null +++ b/project5_testcases/test105/03.in @@ -0,0 +1,5 @@ +4 +0 1 1 +0 2 0 +1 1 5 +5 2 0 diff --git a/project5_testcases/test105/03.out b/project5_testcases/test105/03.out new file mode 100644 index 0000000..e24e93b --- /dev/null +++ b/project5_testcases/test105/03.out @@ -0,0 +1 @@ +0 0 0 -1 1 2 1 4 \ No newline at end of file diff --git a/project5_testcases/test105/04.in b/project5_testcases/test105/04.in new file mode 100644 index 0000000..03c8f90 --- /dev/null +++ b/project5_testcases/test105/04.in @@ -0,0 +1,2 @@ +1 +100 1 100 diff --git a/project5_testcases/test105/04.out b/project5_testcases/test105/04.out new file mode 100644 index 0000000..fa1a4cb --- /dev/null +++ b/project5_testcases/test105/04.out @@ -0,0 +1 @@ +0 101 \ No newline at end of file diff --git a/project5_testcases/test105/05.in b/project5_testcases/test105/05.in new file mode 100644 index 0000000..dd7abda --- /dev/null +++ b/project5_testcases/test105/05.in @@ -0,0 +1,6 @@ +5 +-1 1 0 +1 2 0 +0 2 -1 +3 1 3 +3 1 2 diff --git a/project5_testcases/test105/05.out b/project5_testcases/test105/05.out new file mode 100644 index 0000000..4976ae2 --- /dev/null +++ b/project5_testcases/test105/05.out @@ -0,0 +1 @@ +0 -1 1 0 1 -1 0 4 0 4 \ No newline at end of file diff --git a/project5_testcases/test105/splc.c b/project5_testcases/test105/splc.c new file mode 100644 index 0000000..5b5c686 --- /dev/null +++ b/project5_testcases/test105/splc.c @@ -0,0 +1,47 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 105: Short-circuit evaluation and increment/decrement +int counter; + +int increment_and_check(int limit) { + counter = counter + 1; + return counter <= limit; +} + +int decrement_and_check(int limit) { + counter = counter - 1; + return counter >= limit; +} + +int main0() { + int tests = readint(); + int t = 0; + while (t < tests) { + counter = readint(); + int op = readint(); + int limit = readint(); + + if (op == 1) { + // Test && + if (counter > 0 && increment_and_check(limit)) { + writeint(1); + } else { + writeint(0); + } + } else { + // Test || + if (counter < 0 || decrement_and_check(limit)) { + writeint(1); + } else { + writeint(0); + } + } + writeint(counter); + t = t + 1; + } + return 0; +} diff --git a/project5_testcases/test106/01.in b/project5_testcases/test106/01.in new file mode 100644 index 0000000..8ddd738 --- /dev/null +++ b/project5_testcases/test106/01.in @@ -0,0 +1,4 @@ +3 +0 0 10 5 +5 5 15 20 +-10 -10 10 10 diff --git a/project5_testcases/test106/01.out b/project5_testcases/test106/01.out new file mode 100644 index 0000000..4b4f79e --- /dev/null +++ b/project5_testcases/test106/01.out @@ -0,0 +1 @@ +50 150 400 \ No newline at end of file diff --git a/project5_testcases/test106/02.in b/project5_testcases/test106/02.in new file mode 100644 index 0000000..89eb790 --- /dev/null +++ b/project5_testcases/test106/02.in @@ -0,0 +1,3 @@ +2 +0 0 100 100 +50 50 75 100 diff --git a/project5_testcases/test106/02.out b/project5_testcases/test106/02.out new file mode 100644 index 0000000..63fd225 --- /dev/null +++ b/project5_testcases/test106/02.out @@ -0,0 +1 @@ +10000 1250 \ No newline at end of file diff --git a/project5_testcases/test106/03.in b/project5_testcases/test106/03.in new file mode 100644 index 0000000..9ba6d2a --- /dev/null +++ b/project5_testcases/test106/03.in @@ -0,0 +1,2 @@ +1 +0 0 1 1 diff --git a/project5_testcases/test106/03.out b/project5_testcases/test106/03.out new file mode 100644 index 0000000..7b57bd1 --- /dev/null +++ b/project5_testcases/test106/03.out @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/project5_testcases/test106/04.in b/project5_testcases/test106/04.in new file mode 100644 index 0000000..19a33f5 --- /dev/null +++ b/project5_testcases/test106/04.in @@ -0,0 +1,5 @@ +4 +0 0 5 5 +1 1 6 6 +2 2 7 7 +3 3 8 8 diff --git a/project5_testcases/test106/04.out b/project5_testcases/test106/04.out new file mode 100644 index 0000000..fd27f7f --- /dev/null +++ b/project5_testcases/test106/04.out @@ -0,0 +1 @@ +25 25 25 25 \ No newline at end of file diff --git a/project5_testcases/test106/05.in b/project5_testcases/test106/05.in new file mode 100644 index 0000000..b780041 --- /dev/null +++ b/project5_testcases/test106/05.in @@ -0,0 +1,3 @@ +2 +-5 -5 5 5 +100 200 300 400 diff --git a/project5_testcases/test106/05.out b/project5_testcases/test106/05.out new file mode 100644 index 0000000..a5fba61 --- /dev/null +++ b/project5_testcases/test106/05.out @@ -0,0 +1 @@ +100 40000 \ No newline at end of file diff --git a/project5_testcases/test106/splc.c b/project5_testcases/test106/splc.c new file mode 100644 index 0000000..ac8595e --- /dev/null +++ b/project5_testcases/test106/splc.c @@ -0,0 +1,46 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 106: Struct with basic members +struct Point { + int x; + int y; +}; + +struct Rectangle { + struct Point topLeft; + struct Point bottomRight; +}; + +int calculate_area(struct Rectangle rect) { + int width = rect.bottomRight.x - rect.topLeft.x; + int height = rect.bottomRight.y - rect.topLeft.y; + if (width < 0) width = -width; + if (height < 0) height = -height; + return width * height; +} + +struct Rectangle rects[10]; + +int main0() { + int n = readint(); + int i = 0; + while (i < n) { + rects[i].topLeft.x = readint(); + rects[i].topLeft.y = readint(); + rects[i].bottomRight.x = readint(); + rects[i].bottomRight.y = readint(); + i = i + 1; + } + + i = 0; + while (i < n) { + int area = calculate_area(rects[i]); + writeint(area); + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test107/01.in b/project5_testcases/test107/01.in new file mode 100644 index 0000000..4d2bde7 --- /dev/null +++ b/project5_testcases/test107/01.in @@ -0,0 +1,2 @@ +5 +42 diff --git a/project5_testcases/test107/01.out b/project5_testcases/test107/01.out new file mode 100644 index 0000000..57b3df2 --- /dev/null +++ b/project5_testcases/test107/01.out @@ -0,0 +1 @@ +1 204 2 324 3 195 4 295 5 233 \ No newline at end of file diff --git a/project5_testcases/test107/02.in b/project5_testcases/test107/02.in new file mode 100644 index 0000000..d1b0adf --- /dev/null +++ b/project5_testcases/test107/02.in @@ -0,0 +1,2 @@ +10 +100 diff --git a/project5_testcases/test107/02.out b/project5_testcases/test107/02.out new file mode 100644 index 0000000..72fa770 --- /dev/null +++ b/project5_testcases/test107/02.out @@ -0,0 +1 @@ +1 201 2 206 3 138 4 142 5 286 6 149 7 321 8 157 9 180 10 275 \ No newline at end of file diff --git a/project5_testcases/test107/03.in b/project5_testcases/test107/03.in new file mode 100644 index 0000000..dde5d5d --- /dev/null +++ b/project5_testcases/test107/03.in @@ -0,0 +1,2 @@ +3 +7 diff --git a/project5_testcases/test107/03.out b/project5_testcases/test107/03.out new file mode 100644 index 0000000..4272107 --- /dev/null +++ b/project5_testcases/test107/03.out @@ -0,0 +1 @@ +1 200 2 136 3 111 \ No newline at end of file diff --git a/project5_testcases/test107/04.in b/project5_testcases/test107/04.in new file mode 100644 index 0000000..05fb676 --- /dev/null +++ b/project5_testcases/test107/04.in @@ -0,0 +1,2 @@ +8 +999 diff --git a/project5_testcases/test107/04.out b/project5_testcases/test107/04.out new file mode 100644 index 0000000..e801e07 --- /dev/null +++ b/project5_testcases/test107/04.out @@ -0,0 +1 @@ +1 247 2 277 3 188 4 236 5 199 6 221 7 218 8 127 \ No newline at end of file diff --git a/project5_testcases/test107/05.in b/project5_testcases/test107/05.in new file mode 100644 index 0000000..35512d3 --- /dev/null +++ b/project5_testcases/test107/05.in @@ -0,0 +1,2 @@ +15 +12345 diff --git a/project5_testcases/test107/05.out b/project5_testcases/test107/05.out new file mode 100644 index 0000000..7a49fff --- /dev/null +++ b/project5_testcases/test107/05.out @@ -0,0 +1 @@ +1 369 2 202 3 248 4 365 5 240 6 153 7 336 8 238 9 312 10 138 11 234 12 279 13 276 14 128 15 370 \ No newline at end of file diff --git a/project5_testcases/test107/splc.c b/project5_testcases/test107/splc.c new file mode 100644 index 0000000..552980c --- /dev/null +++ b/project5_testcases/test107/splc.c @@ -0,0 +1,50 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 107: Struct with array members +struct Student { + int id; + int scores[5]; + int total; +}; + +struct Student students[20]; + +int calculate_total(int idx) { + int sum = 0; + int i = 0; + while (i < 5) { + sum = sum + students[idx].scores[i]; + i = i + 1; + } + students[idx].total = sum; + return sum; +} + +int main0() { + int n = readint(); + setseed(readint()); + + int i = 0; + while (i < n) { + students[i].id = i + 1; + int j = 0; + while (j < 5) { + students[i].scores[j] = getrand() % 101; + j = j + 1; + } + i = i + 1; + } + + i = 0; + while (i < n) { + int total = calculate_total(i); + writeint(students[i].id); + writeint(total); + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test108/01.in b/project5_testcases/test108/01.in new file mode 100644 index 0000000..1f8e113 --- /dev/null +++ b/project5_testcases/test108/01.in @@ -0,0 +1,2 @@ +5 +10 15 20 25 30 diff --git a/project5_testcases/test108/01.out b/project5_testcases/test108/01.out new file mode 100644 index 0000000..6f4fcbe --- /dev/null +++ b/project5_testcases/test108/01.out @@ -0,0 +1 @@ +10 1 15 1 20 1 25 1 30 1 \ No newline at end of file diff --git a/project5_testcases/test108/02.in b/project5_testcases/test108/02.in new file mode 100644 index 0000000..41616cb --- /dev/null +++ b/project5_testcases/test108/02.in @@ -0,0 +1,2 @@ +3 +7 8 9 diff --git a/project5_testcases/test108/02.out b/project5_testcases/test108/02.out new file mode 100644 index 0000000..ec42b0c --- /dev/null +++ b/project5_testcases/test108/02.out @@ -0,0 +1 @@ +7 3 8 4 9 5 \ No newline at end of file diff --git a/project5_testcases/test108/03.in b/project5_testcases/test108/03.in new file mode 100644 index 0000000..63bb245 --- /dev/null +++ b/project5_testcases/test108/03.in @@ -0,0 +1,2 @@ +10 +1 2 3 4 5 6 7 8 9 10 diff --git a/project5_testcases/test108/03.out b/project5_testcases/test108/03.out new file mode 100644 index 0000000..79b45fb --- /dev/null +++ b/project5_testcases/test108/03.out @@ -0,0 +1 @@ +1 2 2 3 3 4 4 5 5 1 6 2 7 3 8 4 9 5 10 1 \ No newline at end of file diff --git a/project5_testcases/test108/04.in b/project5_testcases/test108/04.in new file mode 100644 index 0000000..ace1d56 --- /dev/null +++ b/project5_testcases/test108/04.in @@ -0,0 +1,2 @@ +1 +100 diff --git a/project5_testcases/test108/04.out b/project5_testcases/test108/04.out new file mode 100644 index 0000000..a8dea31 --- /dev/null +++ b/project5_testcases/test108/04.out @@ -0,0 +1 @@ +100 1 \ No newline at end of file diff --git a/project5_testcases/test108/05.in b/project5_testcases/test108/05.in new file mode 100644 index 0000000..742ab72 --- /dev/null +++ b/project5_testcases/test108/05.in @@ -0,0 +1,2 @@ +6 +0 1 2 3 4 5 diff --git a/project5_testcases/test108/05.out b/project5_testcases/test108/05.out new file mode 100644 index 0000000..2e83974 --- /dev/null +++ b/project5_testcases/test108/05.out @@ -0,0 +1 @@ +0 1 1 2 2 3 3 4 4 5 5 1 \ No newline at end of file diff --git a/project5_testcases/test108/splc.c b/project5_testcases/test108/splc.c new file mode 100644 index 0000000..ca39a1e --- /dev/null +++ b/project5_testcases/test108/splc.c @@ -0,0 +1,58 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 108: Struct with pointers +struct Node { + int value; + int count; +}; + +struct Node nodes[100]; +int node_count; + +int init_node(struct Node *n, int val) { + n->value = val; + n->count = 0; + return 0; +} + +int increment_count(struct Node *n) { + n->count = n->count + 1; + return n->count; +} + +int main0() { + int n = readint(); + node_count = n; + + int i = 0; + while (i < n) { + int val = readint(); + init_node(&nodes[i], val); + i = i + 1; + } + + // Increment counts based on values + i = 0; + while (i < n) { + struct Node *p = &nodes[i]; + int j = 0; + while (j < p->value % 5 + 1) { + increment_count(p); + j = j + 1; + } + i = i + 1; + } + + // Output results + i = 0; + while (i < n) { + writeint(nodes[i].value); + writeint(nodes[i].count); + i = i + 1; + } + return 0; +} diff --git a/project5_testcases/test109/01.in b/project5_testcases/test109/01.in new file mode 100644 index 0000000..4d2bde7 --- /dev/null +++ b/project5_testcases/test109/01.in @@ -0,0 +1,2 @@ +5 +42 diff --git a/project5_testcases/test109/01.out b/project5_testcases/test109/01.out new file mode 100644 index 0000000..3a24646 --- /dev/null +++ b/project5_testcases/test109/01.out @@ -0,0 +1 @@ +33 40 40 46 61 \ No newline at end of file diff --git a/project5_testcases/test109/02.in b/project5_testcases/test109/02.in new file mode 100644 index 0000000..d330ff6 --- /dev/null +++ b/project5_testcases/test109/02.in @@ -0,0 +1,2 @@ +8 +100 diff --git a/project5_testcases/test109/02.out b/project5_testcases/test109/02.out new file mode 100644 index 0000000..55057b2 --- /dev/null +++ b/project5_testcases/test109/02.out @@ -0,0 +1 @@ +37 41 43 47 56 57 58 72 \ No newline at end of file diff --git a/project5_testcases/test109/03.in b/project5_testcases/test109/03.in new file mode 100644 index 0000000..dde5d5d --- /dev/null +++ b/project5_testcases/test109/03.in @@ -0,0 +1,2 @@ +3 +7 diff --git a/project5_testcases/test109/03.out b/project5_testcases/test109/03.out new file mode 100644 index 0000000..61c7bd4 --- /dev/null +++ b/project5_testcases/test109/03.out @@ -0,0 +1 @@ +43 47 49 \ No newline at end of file diff --git a/project5_testcases/test109/04.in b/project5_testcases/test109/04.in new file mode 100644 index 0000000..ea48361 --- /dev/null +++ b/project5_testcases/test109/04.in @@ -0,0 +1,2 @@ +10 +999 diff --git a/project5_testcases/test109/04.out b/project5_testcases/test109/04.out new file mode 100644 index 0000000..b213f30 --- /dev/null +++ b/project5_testcases/test109/04.out @@ -0,0 +1 @@ +24 38 41 43 44 45 47 50 52 73 \ No newline at end of file diff --git a/project5_testcases/test109/05.in b/project5_testcases/test109/05.in new file mode 100644 index 0000000..cd4f284 --- /dev/null +++ b/project5_testcases/test109/05.in @@ -0,0 +1,2 @@ +6 +12345 diff --git a/project5_testcases/test109/05.out b/project5_testcases/test109/05.out new file mode 100644 index 0000000..10e85a3 --- /dev/null +++ b/project5_testcases/test109/05.out @@ -0,0 +1 @@ +19 44 47 50 58 71 \ No newline at end of file diff --git a/project5_testcases/test109/splc.c b/project5_testcases/test109/splc.c new file mode 100644 index 0000000..89d3115 --- /dev/null +++ b/project5_testcases/test109/splc.c @@ -0,0 +1,68 @@ +int readint(); +int writeint(int out); +int setseed(int seed); +int getrand(); +int assert_eq(int where, int given, int expected); + +// Test 109: Complex pointer and struct operations +struct Data { + int values[5]; + int sum; +}; + +struct Data data_array[10]; + +int compute_sum(struct Data *d) { + int s = 0; + int *ptr = &d->values[0]; + int i = 0; + while (i < 5) { + s = s + *(ptr + i); + i = i + 1; + } + d->sum = s; + return s; +} + +int swap_data(struct Data *a, struct Data *b) { + int temp = a->sum; + a->sum = b->sum; + b->sum = temp; + return 0; +} + +int main0() { + int n = readint(); + setseed(readint()); + + int i = 0; + while (i < n) { + int j = 0; + while (j < 5) { + data_array[i].values[j] = getrand() % 20; + j = j + 1; + } + compute_sum(&data_array[i]); + i = i + 1; + } + + // Sort by sum (simple bubble sort) + i = 0; + while (i < n - 1) { + int j = 0; + while (j < n - i - 1) { + if (data_array[j].sum > data_array[j + 1].sum) { + swap_data(&data_array[j], &data_array[j + 1]); + } + j = j + 1; + } + i = i + 1; + } + + i = 0; + while (i < n) { + writeint(data_array[i].sum); + i = i + 1; + } + return 0; +} From 5ef7a94dca10a588e38964f240a1334924642b86 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 17:52:48 +0000 Subject: [PATCH 5/9] Final verification - all tests pass, code review and security checks complete Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- _codeql_detected_source_root | 1 + 1 file changed, 1 insertion(+) create mode 120000 _codeql_detected_source_root diff --git a/_codeql_detected_source_root b/_codeql_detected_source_root new file mode 120000 index 0000000..945c9b4 --- /dev/null +++ b/_codeql_detected_source_root @@ -0,0 +1 @@ +. \ No newline at end of file From 9334c04c5607c87e5e070980079f06515875e5f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 18:42:46 +0000 Subject: [PATCH 6/9] Revert .gitignore and .class files to original state Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .gitignore | 3 --- _codeql_detected_source_root | 1 - .../CS323-Compilers-2025F-Projects/Main.class | Bin 669 -> 0 bytes .../framework/AbstractCompiler.class | Bin 381 -> 468 bytes .../framework/AbstractGrader.class | Bin 2431 -> 2989 bytes .../framework/Utils.class | Bin 3970 -> 0 bytes .../framework/lang/Type.class | Bin 241 -> 311 bytes .../framework/llvm/BasicBlockBuilder.class | Bin 8296 -> 0 bytes .../framework/llvm/FunctionBuilder.class | Bin 7188 -> 0 bytes .../framework/llvm/IRBuilder.class | Bin 6091 -> 7049 bytes .../framework/llvm/IRType$1.class | Bin 816 -> 845 bytes .../framework/llvm/IRType$Type.class | Bin 1182 -> 1274 bytes .../framework/llvm/IRType.class | Bin 3485 -> 3881 bytes .../framework/llvm/IRValue.class | Bin 1829 -> 2044 bytes .../framework/llvm/Inst$1.class | Bin 1176 -> 0 bytes .../framework/llvm/Inst$BinaryInst.class | Bin 1632 -> 0 bytes .../framework/llvm/Inst$CallInst.class | Bin 2684 -> 0 bytes .../framework/llvm/Inst$ConversionInst.class | Bin 1336 -> 0 bytes .../framework/llvm/Inst$ICmpInst.class | Bin 1228 -> 0 bytes .../framework/llvm/Inst$InstType.class | Bin 1709 -> 0 bytes .../framework/llvm/Inst$MemoryInst.class | Bin 3117 -> 0 bytes .../framework/llvm/Inst$TermInst.class | Bin 1424 -> 0 bytes .../framework/llvm/Inst.class | Bin 4196 -> 0 bytes .../framework/llvm/LLVMIcmpPredicate.class | Bin 1755 -> 0 bytes ...nticError$DefinitionOfIncompleteType.class | Bin 1105 -> 1251 bytes .../Project3SemanticError$MemberError.class | Bin 1140 -> 1281 bytes ...ect3SemanticError$RedeclarationError.class | Bin 1158 -> 1306 bytes ...ject3SemanticError$RedefinitionError.class | Bin 1073 -> 1210 bytes ...ect3SemanticError$UndeclaredUseError.class | Bin 1077 -> 1215 bytes .../project3/Project3SemanticError.class | Bin 1550 -> 1824 bytes .../project4/Project4Exception.class | Bin 369 -> 466 bytes .../project4/Project4SemanticError.class | Bin 4592 -> 5281 bytes .../framework/project5/Grader.class | Bin 2046 -> 0 bytes .../generated/Splc/SplcBaseListener.class | Bin 3454 -> 5014 bytes .../generated/Splc/SplcBaseVisitor.class | Bin 3672 -> 4949 bytes .../generated/Splc/SplcLexer.class | Bin 8795 -> 9100 bytes .../generated/Splc/SplcListener.class | Bin 2268 -> 2268 bytes .../Splc/SplcParser$BracketContext.class | Bin 1948 -> 2488 bytes .../Splc/SplcParser$ExprStmtContext.class | Bin 1769 -> 2256 bytes .../Splc/SplcParser$ExpressionContext.class | Bin 3554 -> 4636 bytes .../Splc/SplcParser$FuncArgsContext.class | Bin 2427 -> 3067 bytes .../Splc/SplcParser$GlobalDefContext.class | Bin 3043 -> 3790 bytes .../Splc/SplcParser$IfStmtContext.class | Bin 2233 -> 2826 bytes .../Splc/SplcParser$ProgramContext.class | Bin 1965 -> 2530 bytes .../Splc/SplcParser$ReturnStmtContext.class | Bin 1837 -> 2344 bytes .../Splc/SplcParser$SpecifierContext.class | Bin 2729 -> 3478 bytes .../Splc/SplcParser$StatementContext.class | Bin 680 -> 935 bytes .../Splc/SplcParser$VarDecContext.class | Bin 2005 -> 2645 bytes .../Splc/SplcParser$VarDecStmtContext.class | Bin 2196 -> 2739 bytes .../Splc/SplcParser$WhileStmtContext.class | Bin 1997 -> 2539 bytes .../generated/Splc/SplcParser.class | Bin 21632 -> 23005 bytes .../generated/Splc/SplcVisitor.class | Bin 3013 -> 3013 bytes .../impl/Compiler$ArrayType.class | Bin 1383 -> 1626 bytes .../impl/Compiler$BasicType$Kind.class | Bin 1069 -> 1161 bytes .../impl/Compiler$BasicType.class | Bin 948 -> 1159 bytes .../impl/Compiler$ExprInfo.class | Bin 416 -> 509 bytes .../impl/Compiler$FunctionType.class | Bin 1654 -> 2004 bytes .../impl/Compiler$PointerType.class | Bin 1258 -> 1475 bytes .../impl/Compiler$SemanticAnalyzer.class | Bin 20716 -> 24660 bytes .../impl/Compiler$StructType$Member.class | Bin 504 -> 606 bytes .../impl/Compiler$StructType.class | Bin 2624 -> 3097 bytes .../impl/Compiler$Symbol$Kind.class | Bin 1235 -> 1327 bytes .../impl/Compiler$Symbol.class | Bin 924 -> 1107 bytes .../impl/Compiler$SymbolTable.class | Bin 3891 -> 4930 bytes .../impl/Compiler.class | Bin 2253 -> 3622 bytes 65 files changed, 4 deletions(-) delete mode 120000 _codeql_detected_source_root delete mode 100644 out/production/CS323-Compilers-2025F-Projects/Main.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/Utils.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ICmpInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$InstType.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class diff --git a/.gitignore b/.gitignore index 1e9c808..e5083ed 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,6 @@ src/main/java/generated project5_testcases/bin project5_testcases/ir -# Compiled class files -out/ - *.tar *.tar.gz .myapi.key diff --git a/_codeql_detected_source_root b/_codeql_detected_source_root deleted file mode 120000 index 945c9b4..0000000 --- a/_codeql_detected_source_root +++ /dev/null @@ -1 +0,0 @@ -. \ No newline at end of file diff --git a/out/production/CS323-Compilers-2025F-Projects/Main.class b/out/production/CS323-Compilers-2025F-Projects/Main.class deleted file mode 100644 index 34cfc56dc9dced7b616c9831f2dd89d5ecae26da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmZ`$ZBG+H5Pqf{EIp1Ffff*vf{3jGXJY(RH8CnkQYcAD6XFN5Jr;7lKBGza6&KZrsUC!)PU=QMiOsM<*8e{Me|}1Ts~rZ@s6_ z{It^!wgMLdo~0Wn6w0*$AvX!*vudT8$0Vi%?s%BS%wL)spHrhEmXc(wtZ)rxAqR}S z5m6N=5Ef3gjMQbKKl-UOuUo0nGBDS~tXgNWz%s$vlVQx}O>&|LleI8b`&rad`cSso9C4yvzF7Y7 zukRta?>+^pW5Og(1=a~Ow*%R&_cL78NHQHLJ0wEhQf}Egtl&Nm-L4$Sj-AgE-EnPtzP3OB9t9`}9-W6t#o@}t!MR9-g8x{s# fii`mFa507ncv!?ZmU+%=9CeuKA@4`*=TQC)Zrqzd diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class index 3dcf784fdd4c4f9a6ecf634226dd7c84263fc2c0..06b4c3cc4f97b08ddda86fb6edf1217adb388ec1 100644 GIT binary patch delta 203 zcmey%bcLDg)W2Q(7#J8F7$hfh?Ftm~$xlwq2}>->Oiap24FM613@jxXnZ=9@GCpZV ziMgre`9<0Kj!DHOMTyBJ&iT0onK`LN){G3S#U+VFC5#MQt`*6t1tppJdByAuViRx0 zB)c&%0U-kem)3R$MlJ2F4D1_$JSGNyAj!wT3?w-jSQxl~BsYTqkS7LF%^=7i1mpqr g0mXS37+Dw@gc;Zv7#T!>Vk|&f6o|!vY$gT?0BQIq+W-In delta 99 zcmcb@{FjOA)W2Q(7#J9A8N?=X?V9*slu>xHC}WJf76TIyGB9vyZD(NA(%#Czz7fb{ qWZ(yqd<@J$l9PdjfeT1-voJCUFt7pT1c9O~Kw1chMSyH322lVIsSRcT diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class index deaa9f5e97c6df11ed6cce114487928bb0aa06ab..e9274fab95e3f361f1897bb5311e287690dd04fe 100644 GIT binary patch delta 1031 zcmZ9KT~8B16o%i~?RMKzXl-N5S1_m%+X9UkV+3QwNB}J%ib0JUUCIJ0ZMSZ>f}i!< zd*^p(#E_bJ;SccETmOJp@(aMT({;O;OlHo^oO$LwZ_ZxgV>>=kb0k5>#dr z1+%D?7B$PzmP-0HXJQE0YetQsx3FSqWqrf6*7K7~HQUmP_Ozuf>(&HA)U4apy1igq zx>jaLaVDjXGISZ%{Jx9M1zRhw&uLY`R#D}HN;k9kxKd+}_$Q@1(pl5XTE#YsQ~ZzI z!$;+Ag&}jiz^ig!|I}ttuiA!LnaC_Mg!O-0hGQZj(oWzz%5YFJEE3LlmEIUbXjxyX zuNKTz2D!wK1S{+({}7yIGXE9KG_nYg5$9mwKCMoaKoU$u>nK4IQJEqc6^iqa_HYIP z6&)%}6%S~D(Qc0}_n%61$_S;PM)L~YU!>0*U^JWif?*n88^~|bfrM3>BjU0T9q7jz z?NhB}Pg~U0#$coFBJ;F5YL)CZ;-5WKP#hi-m}o1Zg$Xb`gmb$=xd9wt*rd%Z%+Tye zG%6(`zM1Fg&_JVALl^l3j8F}uq&DxXBk3`cxQ-hx z~MM&OLr2e0W9{ostk;I|~(;5W{8alsVtuY47he-iW`Q&XvJZgnTQE GdG{B;B%ba7 delta 560 zcmY*VOD_Xa6#nkCGq*F1M=DX`O(boV5nYHkA)&OZ5s7FbQ>t2h3|g;^e_(UhY-~wL z#KOW4u=X3ouTW>&32k!kIp==oJKy`d_VM%f4qy&f&zd5Knv9aUcN90RO*5HG zaby|VvgVnoXNr2XV3kWo=_F<5IdbAbK4qt(U+HiK12JK_y2OW~Nx?1gsf4*_Kb0(} zV?yTzb}#ODlu6>72j_K26->d+;pND19MJ)zSA|S8q7tDD3^MW*52zmy*B*a@Ax*Ug ziDDPL=%#J~MTgTvnNdd$y`c4piW*(1f_-iV3wC`>9XI6@x;t2-XfH5CzdFH~Fw}u2 z8&5cRMBJ*q*EOYPxQIDQi^t%DUY##FykRnB+fqX#FEC!Q{Y;N~zZ38vLW@`bR(2A@ z9%28~n%7Ah+{KckJPt|RXq`j#9;Qib1}&H+P8nwoGa|mU-Ui+Rd0iy0w$}Nd;)+=I g4u+-bXZpwz5Cz9N>207LaU2rj0&AzCi>k-VU#bvKlK=n! diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class b/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class deleted file mode 100644 index bc2a2c87b5652b35d21e02b0c7457ef5b0979c9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3970 zcmb7H-FFms8Ge4rWGC635C|+~A<#e}Y&L|Yd<4ky6_OydNq{5}pjtA?PLoL{Gt2C3 zAW{`AR@-X*s@h=HirT10&xu|HQqEC&JbK}cH{N;SIsO4&dK3|TelxpC_GAIQ$j)zO z-jC;f-j8|nhesd&8o*)vG>kHot57slASAGIOrO+~mTr$EPY;b5!=6CskZGIV5rOh} z6{u0MQo}0L3e>#f z>J!FQ#~n|e^Gqu%P?eF={jOmMoQs#V(dD=!N!|7=H#xaC>E>+DoG_BKZzQE&s`UFa zx|=oJRO9(D)*z~4t%hf?PGCbxYk{#;#a zoraCrRG=isc#>_dt4~ocq-VR#ELqtWU#cGvoN5eA`WjNqXQ^JpW^56tT_B{_7|yv_ zbCS$-#!Cmegan`cMU$uUPKt4F#WocU8nz=Yu)0LT1XSO@Wy|1~hc4+{frN%8>=1~M ztsWP)!K!qo$Q^cUTyH$(~ZNS77~O zUH1kh(|K*!$atn>SE7Z2SFTwm@Jb_#<0@@&84Vb#(o}7suHINB`&FY zQ9~EH1u6?P2s|gi&f}~G4>^|Jgg!3g7}mW3(;MX}>v809lx#0i z8l~z=#Z~6MWQcydbh@tN%4U`GzhA{C1sWbN-EX)Prmb62A%ZEqs^L@kG{-dq?VFky zaxC`d<0$QS#tl0a!3}&?#pg7p6P-o#t9U}iffGTxLw0WJwB?L^KGPM2vL0p0!jki{p*o<5~YB3<~NaOU)R z`tW$Sp7Bkp_!?*F(lMX^OpvWUbHvuYoJ+qKpYFG~stzsd|J0FGsmu$UeY))@#ZG$ZA-osHckw+H-%c)xOq)4%UD#P7m(S5!umKI9!KCl#IyKY&1re|=N-eyUQR>6sM z%C-%+-O{sJBdg-a+%6Wa7r8FRtYU`E`ead#=paCB=J&mflL=5Es-tHLAGaz0I=}-G*}CMAfgLCYtV|dQn^sAE1Uimsc$-7tEbj&af3&DZ)q=m@CZekEueCB(na95? z8k)u`A92Ot0_Ip{!G7ND0Kv@Q)oADzA_em?g<^FTgFe9>15s5OEO^>QPs-q8Y`3t9 z(#jkzD(N|VoUHi41Xddg2$l5vSX(6LdkrZqp_?jcIk4z?f#9WaFQoVbH1fQGrB=tv z*@zhGna9oiRBS;ji|sIz{vub}mw8Q7)pN)1dz8G*b@FG}jbCu%yNA8_ z9rodmXu+SbAAjXm@;6%gJ5qSaEl=QxsKPO^4sBvTIz$ILMHfzpUaoAHxq4Z6LAdA= zIqVVFxk0^#v*I1}`DM2UH4hO}ar6-yR2&py;{#MYgeo3jd-cCjEyP1SuVQCR`xj0= z`v7Hpjj#KmeuD+sM8H804X{vUW!E>c2b%H?(d~Cfz9D)NY>md*1)5f{>wpXFgp2(D zZZ z@*!Mcwt1FXlhde7%;B0mPfcSTWvAwGT_AuvkIx9qvX*YjCm-R)G-`I-#|{7a47A{l z)L#hYIHv=cPX(9xU*{m(T4%n8n9pG(nd1W(VZO%DhH>t&HoD^lJnypHZb4K*VX{ZWkPx;RmkOkxJ ox^F#%@<{nHPG`L9zn|s+0VkWlclh@M{E&BHo_>T6@Ds%T3o5n-(f|Me diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class index 9bedda4959532eddccde471977573d6cc773adba..af974800cde4b8795aa549b32838afe5adc1cf31 100644 GIT binary patch delta 133 zcmey!xSfgX)W2Q(7#J8F7z8JBwHgWeTQge4YbCMM;ihJXl029}bH%wk3cQJ=J; z#N5>K{Gx3AoW#6z{gBFnRO^YoRyKwVj6lf1z^=8Efsv761CYtYzzrnXAi@khKsFDQ Q&C9?C{>e+7#SHh0GW&o+(42IA`B#X JfIKD!UI6f#3JL%K diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class deleted file mode 100644 index 2b1bc83fbc85f7a90f5b00df2cf2e97fb23d1351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8296 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class deleted file mode 100644 index 29b9beaed11976d6d6477ef647ea7999caee45e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7188 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class index 093c92c2bb953626bb0f918713d1b980c081d4b0..04b4c93cecbab0d511f2a8f5e946be20f1bdbbef 100644 GIT binary patch delta 1538 zcmY*ZTWlLe6g_v>UOVfx*RR@jkG-tYIjyaE);E9K7avP~sx=K9V(=bkw; zv$MrkuYO|wz+nJoitW)`dPj8qmYb{f!D?f)I$W;}$bsN#ZW^5+w2OI9ySPv9Tk9FG zj&VM^esgtuwOFr?j}$jF8>8bRs|o&Ey*5@GZ!#cpKH22f{|WPAPS1;3{Si%RP7;!W z0!bf%wi6bMU2Tg+GjLDX+o&}Mc-2#Fj4;`dC>TR3p(SPltHdf}MpHHp6EfmtFeAIAHd)Jrcqp{lqcXcN z%~I%d9be!}AHFhB!q?&&^H}m*f>I_^!zmr#;|CvpH1HFC-n%U9r`)eP0{G3q2ly~7 zf0uLJ8JYXj!25VJjK2vzVr3vM#v<7z|H_ql1MlG7F!q@m5hqA7@CKKXN9>NY$4HYo zpMlr#dYIY>OFMaU7mBkHuSN!;t5f)1 znShta06Z{YB8YZ`kmG0%XAKaKEAcq?@=Tb*J}7vMU#L?I~QbjP{aiwffV1Yot z+o0cV(2u8agz=rcl^Hz4lrAyhD2_RV6;X~a>9zN)S;{ij9uo`&;x2LAAtpSF=Xgzu z*(q*|mv*R@U%FMF<#ss>Zwt%2_`EADkLN96Kpro!2kHV3Wac<$?5&?*J+pYx>2^0X z>rB!IantpMu4T*jWB5`}L7a+591S5xf)xarImOmUgGx5W)sc2}q+K0pM@Nv)_a(f{ zmYzEmxpq#`E3Bx6yBzNhu`=mWO%xYxB1Jr~XvK~N=GC00ehlGNoCJk+c`Y6AWe!*` zbWLODG`3wQ<=O{fn^{I1)-K@FEfy|lGaoKuYwjR7EZ#T2?Gj`bS z7snGD*rkqS+IGnnQ*q%H7hYl0Z87|1aNrm5ET5gfFonty^vXxN@Y-fAN%m9n<0Hn) zXY{dE^$9-Z`3m^(8FPGttG?r1AjTuKR9bg+{?<5N?!6?xjE7)KtZO` LK@_4eMUnasm-Q@^ delta 842 zcmY+C*-ukZ5XQe#QVN&b_9Aox7b+CGXj-val@hC9)Wk^8h#~$1zDbO}nHXZCX?$~D zjBh@w588rNQ4tkU0YSxm-!~N8H;g)mo)}DS=Fa)%H*@C9ImuXGSnK`W(FvdyzfxLK zqke4xZ7kSF&3cj=tz)#wc7PK0G*ua^sMT0cqeiu@U&AE~STLv~ipvx(>~>uhFeQXN z7uPgg#|;Z^>bQm5ZQ7(fQF%{80q*PQ!FfY|b<91M+7lh;aK^whfjNF^Ei9rzyLUQA zU&!c79cR&PAkD%XDGcj4E%A4>P`I2;ERRb0y^d4pGVoEL+)o4fW!6BG-HcrZz6gZ; zNYF?*cwrSLn;J;3qW{ZxhWlR2&zA4966!KniJ?aFB=5NGlv+VWKS#&(t~V2B{brUR%PQFYd{4T^r(0^A2$~f#P|WtV~$^e;##PoWcAi;z3fCI@M0Efn65)L zmSQ&Z{E`$e$0o;@7i`C}F2v+bWV5qlt>A%NV9kV!=;ePsEa+q63Whjx2Y2yc+qY^EoS5s^2tw5%n3^@%1lhkNu9im(S=2ykwJ7~zUX9T zCMU*yliip)#F-g1fLhoX7=dIogC>w<0%EPncbSw7wZS|c23;V{!k`Bv4ZtFL42D2j U2&j??C~D*&#lQjNGYD`108y?MrT_o{ delta 104 zcmX@hwtrX5HU>r@8O@+M u`4^Ltp%#$M#GuWf1Eg6Pbb+KkSVWh>07we~<(Pn?h7M8;96&yU00#iWNf1{6 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class index 682a03f6354168de166458d363a977826676edb4..f803b0ac3caabebcf1633fa9f0df17bbae40a64a 100644 GIT binary patch delta 279 zcmbQo`HNHF)W2Q(7#J8F7@XM|m>3zPCLWa9sKw1>CghW!oR|}qSd^KVl#?0)A{ZH1 z@)C1_l#owWVp*boPGVlVesD=qW?s5AP_85+vv{&GQyGf`BZKI~gQAlUG43zPCLWa9sKw1RIhUz~#fFhVbmBqL$-kKTBa|4J z7#M*Hxr7+Cb}+~sU|`$;Ywc}lT(ONIygNpRQ2SM~nzk=YKA3{((vt47T+lAdZbLRYid*;lU$(1kL^e?~P ze*loei#PfSPjuPtBZsW~KI>S{>d$A>;=`a62XX}l-*GEn%BD{a^D~|)O&PKVX|0C` zT33s&!}jqpRVt>v^T+g1=QP-uN4DH+P- z`^INA&SbvX7fCkT@s%2_f-zDuoToS)s=tG^#8L!jxPTpwKFN>zn#&SKDaK1apdBK! zg)9t*#jyRKg8m}njQBgKZ?R?`p;t7mM|8L%E-r=WF1s+|u8d1dF`_PrZdXL*f5f(h zt+cx^Hn=hxQF7|Hmmk)nW!bKuZr4AFCTyxx{XJcA3Nly|2`{7S$k)**is_*Y0Q81@9kKz}sKr3ptjBdn zG0n$~9%`pgMzk!N(~m~nu$xXr8^*~Jjo68sPQ!L0hy$dR5XA)fB)i#6NWY+}(AZD3 z(ke&B;djv}_AC3f#Z9xnE;X5U8xU85p;#;RN1iZ8D7QItZA35zosx*cnotv}q9{g2 zMFJXb@$csF9V1QScCwYm_BL8Y65xDbj^L@EWrjSEG0Ra=d% z-(I!WT6HB91V0d^6^o!Ne~I8qmx9GJWzeC-fpr#3_2DCM`Sxg$q&U6-im_kLiRODIizX;N^3c#k!pi+2CN zKAiPxw)Ph04Yt2S@dZIiLWSAX{|J3e2sIL>lZ4~RUxZBLNx1Zvqs%id;hL#0R%dIz`PGN5M;8=7{V}lOX+ZdRh0(@B>FhrVu(?$B)WKr z=oAm0Cn)}PQb#NYfNfOjJp~h^eMLY3qH})HAhZ zPQ{g)%*)jcyikbhq3L@OM1*X#u4=!%%@p0?kX?pBZ$3?dgc;0|Z=m7k=wHGLMH;D9 ItRs)W56p!}WdHyG delta 349 zcmZ8b%Syvg5IvLR_G*$oK$N7C8W$pTB`$qde1$tNP zg05Wo0seu1A>t$yDK6&BnKNe|-}#4}{qghi24EV;ZTrUHPve|x=4o!-#s)Suwp>hN zn_ta$ZwA(h`6GHtO11(gqh?B zU#n2`wh9^q2bGQyqKzLE5U^k>z}Xiaj7uk2IB{JGL?9Dmc1-9eltBfkreb zP#xDWZOu|p)7PI@aY#Y?nzpHBEzMrZ7Mx;5U!66jW#nAfaXDM7KpSU^lma{~(7{;a zN}rdH3LFbqGYsY~f#U&tl@fDC;6%XXipAV3&=;^_ZZe+~I2Euf%gkp42AHFkqXhxa z3JkKL*7F@#vdcMv^TC!CxxqXlaDh3dS(c+~Y`P?HIf(K=-t$$ADM*K>Tr90g-B%DF z(=F3B{fXc*Zc)x@$Dk*!pEqq;sFX|6UD8SxSyDw`)7R;N{&KSDR9s!on!K3c<{04c zv^8hzmgAZB%7XM)9Ye*eg2vrf4Lgdm7o_LUIUW@v^0qDAX-o4w?yUH~ZcBGk2aQsf zD(P14A)b+C922Bh2%e*cX27qHPQ*y%AswVQq-*gs~8h5UL?| z62?R9CQMg(_b^wv_cK@dpJq;k`?Ji+kcXJ-LLO!oAzx%p1^gB%B+!HwG@}*W=ppUJ z5Qa%da1}G8Iow2%bP0E$lN#87N9yAt9+5uA6Fen-h8K8A`U-EbP5K^R@Rjr%e&8o* z1e0`)vEVX?DK;>T_S-70EbK89*!CX-qL`vk5eha#8l`f9Yk?()InoANi;y)x*+%b5 HUpoE=Tr%=o diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class deleted file mode 100644 index 56aa895a6eb0d3d101a0de35e42370223193f8b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1632 zcmb7E+fx!@6#spIEYO;YSJVs*5)j2p7Y!}bG*LiDj2Xw57FZ2kF0;F6zV+IBe?V`| z^i)k+(~LbgJ@=3F-ZY(WNwB~NcIND!J@@nb&iTIo{_+*T9AXZbU>0Bz(F7|)`>rbG z;xbqqY*YU{WthikN(mxz;+Qj){|q#ZWc1vo@p zfygjWFZx0@FR91nO3a1g1Vc}4o^n7Q?y86u9*ayT?P!BjK)Z+zbTV|-3s3QeJ&B{N zo_-dSik^yzhXY`=R_Twyv=iYux<&NB#bD8?Ybv{@9s;D|6?UKx{Q|Cu7{GOg{z{4} z#uZ}*p`d1{V}&~K`6D(AGB~}Od(JIoGHznLT98P<4Tjcz=}-zOQhqPAp4ykwI)hP(H-!?FCZXd1VM(b|C4VT$T8S>yKy>vh7O-UT8*60)ogw*%tMcf2w|L1 z(2p6qYnm<}wgZzq;Zz;C4Fd;mlxRQYZ}%}F$OGrrn7b}op@O^54L zYeV=PHm#JZ!e+zVxja`=F3KO!@Eb5|ne5?3#lwn1m2*`E!;6NOp**CQ;8rWX%)Bi3 zCu#l`3mH1FmS{FF$4j}CtZqpug(P;p5RE2dn{tt%IiXAG1Dfr>I!B^VQq%Hs)-dFI zHO5byMj$S0`bvRsyco&nWpz=JG)>k>bH3pWj_NvMkY>U}_lSwsjP{qfHokj?#6%a$ z0vHzQZyFX@>Dv()84Z2{3%D#N5CX2I6EwdkIm07*JIM-UFVJ5zme7u6(kvlZj>4W( zL`KGwAJ7{3h^|xgj=iOSFL`lK8_^)q6QY+yXGA}pZs80=+h%g`oMJe!Z6R*-6cdT< zCgKD`W+kqfbDweR4SqQ9HSF`+Ioq(0;=JFm&$M&CVIK>7M@X0qjE4-ARteKJJVg|* z5W_db@eAv092;x`tAsk}429qnf93^RS2G?P5mpc}z9zB)dP&|#ao6Tu#vDY!uUmRr GZGQl*&y>&r diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class deleted file mode 100644 index 35ba5d0b035f0fcb5bc0620a1f4a6cf824cf1683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2684 zcmb_eTUQ%Z6#h>&kbNWWq9_VT(YJJRMk6))gCv0w?iu2UGNkHV8c8W$8?RPiD*3?~nhIq$+I95P=X zj-J7x=14B7cnO0H5oe3xRM?|SYyw&7@G?Vh$d^=T#}!;vkW(>&ml---c>8P+B-^nB zuQHt73&Y*?q>@+K%%`aOURCiLUT0|IwVF-=^&ileX>l~u$W8f+d^_I2bp@j;-b9|_ zZ#X_+o1vx3YYf*11BnV-^C@Z)TMXkw(QrC}w=k*ThKidg5S);|f~o72Pt&5RP}WVV zXQRS!&G+k;QDKc+CGnsxj53vGARs^FeG@LaTPmjT4jC(ZmKjEZAVOz?Y4&Q1dT$2r zDtJ#t5wi!1kC=Dki>{hhl~c)$1_SkW^Y;RU<68_m@wH@4-d1r3?^9Pe?qukrJ9jl_jaIh94Tt#K%T}=Y0p} z`#T1nj3n-u#p2@Zyr6bS>AbqU!ZZ7#%m~Bqkr6dzI#Dv~R#{AG5=~sr&#RIV8a{Kv zcBV}^Pm?!I)3F_k*Jg#YX0F(sQLH2&u&SVv1x9IT+t1VPViMOJBr3Z zdo}p)?_ja|hdc+<+*r|tohh2;M!l8~7fnEN;Nanu{{KzSWzbdlY>+^IS6(_L%@O$| zHW)4i5jE*GUqtj(6Le!3Dn7yeB<_>oK>`+R1&(a1IzuMJr&pd{r%mlK`cu&3fry_Q zhkjf9#~3-xM+^^XYO^$BP-hH7SOuNiwxF>PYrH*Tdv~^iuNVeGkegM5f^X=xa=a?t zSYGMi0?{0!izz}62YNcts!QJdG`|*I>0PwYx*Z>q#u7r-_9LK_Sp(Qk^>fbS5;_vGLQ^x#L|;60Lmj11{Xa{^IX0k=}8lt0k7)RO%T zXSdN`T56@$z&3_TOKr3|QCf=9r+Wv(47+#**uk|3Qe)3Bv4giGC_TgU&t%AR-$79W zkLl)rf*W|8OvpO&T@Dcv>9Q-kjX82apZ;CU1C8TeOiu{Ir=%FcXW;HPhGqJuNKz&T i>(F7MM#eVrImyqEEJ9>%P4>B@enIHJ#MgL)zJCFidj&cG diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class deleted file mode 100644 index 55c03334d106d7a832f7848dbdcf40e140b2b31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 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 MemMkO?5&La2lh8jL;wH) diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class deleted file mode 100644 index f9e88ad75b758dfda03dcfb9930b1085ffb291bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3117 zcmd5;TXz#x6#h<{WRi3WX}E@KffUkE8W2PSl>h39q3+X}!fs~NCG+*Pnwy$F= zY>#V3o#zI|qlh4?Af}=lD#MOWr;qTeWzTy^qMD&s%qlkt70V0lH7eF3&Y;vR-E_Il zu(=(DXHJMGRIC%?p*ev->}*i65t|rd6<*WLvR>j2L%cAf&1u=Xs~g#Z?zp)qlGvhP ztBP&d&aj~q&_fLSQpH=kTbdrxYN@73N>C|DYBI$TxGdrCRMCfB3_+LpBLdp66SYmP zTnu}VQqZqrFZMBPYnoV&R#TWLvFx&LY6e4BdLSRc0G;3O^quT8EUnzv?+o_UTwBhP z)xQ3+g8k&XbluR*O7{HZ3@^EYr2{I41aD!RJ9Wd2;UEqvctpiv9AVh_Zy;lmafXO+ zeUws)VSReQBUPSUbZyRh8;e{w zUcieACRDtH%M`L@!!2i1+Euk0!?6Ze(t7)84URfsi{L6%`Cts!aYKQoViG0trp?^2 zWf+vEmQ97L%upMk%wjm|57F?nW*7O*IyXzyc6`O%K-@e+I>%K^fsRm0-pLFH{XVqm z_`}?Yd;~gmA{j%?Fszc+QfCp&65TTVqLQkj378B?BEGGXWCvx47OC-RZr!F*%J>`* z-RVTTme=u4QN7&zZ+murC0i@*FUL!E(t&a6cEeVg{8(GiO+H$$PICK_Hfhk#*Z(iD zs}L*Ph`LsxFg`NIDa(6`u2!0*zTfa9VQAIKvX*L!qz*C+w!7zb%B7t2_eQ#sidNk& z@w2+1CMs^gAwed!)lu%a=PYqI$In=nOBt!vMz}j|m7TR=ydJ|FcvHb!D&EFB47+6r z|y3s5r2&;oig$?yVt zGf8Cu>%Suz28VvPAWXkkpx`QcaE%^J*Xi|h13RHLY`7#@#}WD^3+y7vGn&KSV{_&Q z>{!I^p|9wKKWRj12+Z4QT%>V_#&3zV@)I%>T_ilXh-`5pNUKK|alAMYqE(OF3)4!u zj}yiFIP)dGNt|oyc#=Y=S4ys=b35^DQ)hKM>mQ)N@DO9b1B?fdxN;xY9-th6XMHF! z9bOIbGR`3TmOKnd9`{P`Ins2STtNkQF-Z;; me!PqK@F6~;o!un4hwy%UIw|w)6T+ONeZ(X96rbZBlK%jh|7O7e diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class deleted file mode 100644 index 8c8d0dae204bdc450e33f388bf51d26af8468e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmb_cTTc^F5dKbYyDeLxY!?Voe~*bz zY6LHd{s4cJadx*CNXwhup3K>qZ|2N=XJ-HW{rMZfGG6=OfRlqufEyl$?n7NF$>(ML zB&n)rrDR5{8VsH#MN^C?4BOFc8-Qq{b}uS&y2ZM4i#ji!A4U-7Fe>0a#%^Jy&N%~D)(;d-QW>1lScXT0AzaYIN-7+wPKK@e z!;#3%J%@3It|lW}g=4vB_z**!!-RlIOfmE|N~<-)PK|lqtaOtag`p=JYbDl)B&Io} z1kB*!jdN_~=~@oUdP$)j$4E-&%+x_XINuau^!CNle0x%f=xACtPSnI`BO)O9CvRXbMk~_1CCU2gW3bMW{ z6;#rAjdC`d-`J5W#6ixGiYL^HHJdM2KGloznqmRXK1rAt&A@NURb#zuPPCBGG+AF& zrD|2KlBL;Ae0|(7O7uDCE8#@IoKD&W%$c$z%?wEgJ#IV&!wS7Ug9{##q4>lk`vw-D zx&#*wxh~<4huoJ4d?q6!7|=&CRXqkE^tq`qcTH8U<^9v95oCM^q5Y6qmXy?!Exk&_a-;wx$`QRg09pkrEVsOq~ zS1nv&$#$~>SS~L1iGn+zKzr7Vs8}c!yc663Pd+I2IgP;iw!ZURZuF cv1UmJUXdIm{Rl-{UkO>vW?+78=-0*n1G@cQ*Z=?k diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class deleted file mode 100644 index 32e297b5c47decb8bee1558fce7eedcadb131818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 zcmcInTW=dh6#m9>v$4D6o;HC}NSd_qB{eM+8l2u@2pF6Txj_O1*7h{rbiFp~b=s6m zOW}c6-uM-WB0><6Dk1TJKtkey2Ojtuu61*NKLE#}ep4s{4eCIo7X3zfo*Y^(r zT*4<|1kj`)sNx8k8QRyhbuD3N=4xU(yT)@iL-Uw!>h@)Zrs2q92rURH2&*^>m7(jp zr4{(CqIEN280&>Z+AI?yXm6A_!^upYr-Ne2JUvf}ty)#Ip`9UMZ!jG9t)Km8VW)~N zbQ2kimn#PO==CpN)Qk#GDmcb)qMqk@ZWV<05PH$4;87Kii5Tjxt+FJKxuTgLx5DVb z<3gm94EC_kIc>WWneV9^hkx2-oY~QQ&bD-OHR+!b%J+53toQjLi*y05R&r1ZDj<3_U(M z1tSJ^mD|@0ebp>*lMV}=+_cc^RTUYr)seDYw78g=QZel)xXMckUXz`MRG}maD2y4* z39;rGKJ|-ru+(QVi<9YGp)_Ohyq?o+o|Nk1i?UiY3Kk`lQrif7 z#gdb`J4FiKWEiMrDDHz)(Olv;OKbPFLgM|Y!US1hW=&;BRpV?N(r9xo?lIs|pP4;jALH>3UBp$&^x z#!<>JNB1hjjeRprdoKmasogtO_Yd9Ge@IN_z$7GR)vvdc9+}+Xxnjl2@d@3zHpOe? ztPqmn=oBy8)Y#CaT2^qUPA4GVALpnONSh|NQifJ8^D;w=*h9FapVfYtA-vNg(qN}w z66?KJKmDw}QW;wR{b~#LQ!5{!?};XKi0=aW)gjt-$5Maq*Z{rhvS7&3XpB||$#zG# zz@o8DDAD*P9*K@@qT>P0Gvw+2F+zYE-XI1L!YQ;;x7&pw0&-lZCn4(JSG^t2Kq2oy z+ctWZzQ%FdHNJ%tU(uAiSuVXELF;)-s z4S^z9+XWH<6KII&ogsE3TZq=u`;I^f8E8ZT+9uF>8R#hq=plhF$Usj^KtB-Zq73w` z1oR_;F5#vpM3hECz0Pfnk`T#Qw7s1P0Wa5T@e{2~!SHZ#8j1XNySQtyXzW|O5U-2; zh1OkMe0M zNm0P9+n8C3M`I&>!7a?zhWR^TER;Q$gJ^bKs@qstas_?87V(GY%_iguD*g&vCSl)l z!SB?9|0EUH9kRD@n`|eY+zo0(7pSuzrO&}0`X+dv=ErHim;OGu+DCIO_>i0pk^PA5 bDA~JYXUN_oyFm71vdd)elieUZ+FSkxg5HFH diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class deleted file mode 100644 index 108f9028251509a528195777be4873c906a13c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1755 zcma)7>vj`W6#h;o$(#(Qbez&aq1+0UB(#lHE@}c6N(zlBJ8^yoE2~VxQe8)5}^lKju5%H+!Fb&c00E{PV|O0Ip!eL`>k+ddqA0 zKQ>!G>8C~WDs=0u(+f|?BlEP(tOw}&d!+PhcKsp+b|dS|Ue>!KY5$bOHS!OA2_t?iFVP*G@2`U!~@z1H@pB`Uo3_4)2Ae1iwNjGRsC;_*!Oe-x4u@vlRC zwz)=m8!XpDf1%r0^;=8cYCy`RJ?@;{zejeqLqE4PFuHxcPPavS5AU@%-BA{+LBBvo zCQHJFNRoBgi~AqoDwWT2o84B`pR4POq<78#ly1hEX-eP(eKyq0i2f7+gf!ZWG|Y@N zy^J)jj5ME&G?0umgN!tGj5KMqqpjPL;HVxl;z`=~As$e?Z;6c&>Yvra*zb7%HO~D) zOyE0uCi$H~_IY^!*~eJ59Fcp8^RFRx+Y5@g+P6PWs3RnD&oRBzbOvWEe;V)kIW71_g(Td_$>6OcASK;kGts)v*A&eIx@@Uh;H^*5DC|9*Z& zk(^Hq=hGJ`K7+yZv$!+E)MR=+;mk6%n3j^x9Mb`&w@hcAsm=7ZbjnPJm@e2!XOVfD z`4_h7e93%-`I0T2W#*&Izp_)#*UV48#Jy)2dzZo~N*pLfgLHJ=Ba<*uq)XkV3g3f; a4SN5C{yLsw06$T>WBnx8@ICp(P=561`7sDFwF#12Qr_LfdeRN&AHN=eoiE8pMO!tO38Da%WWQtDzYD{I|fVj*S0-v96qtYv&` z=AD`5eV+cE*7w)t3c!SU)G?KcTFZ&O7~0O<9xtYYj|h0yv-wJ(WF72+sJltEPmUm= z_!lff$?3=9mm47MA&M3^TRGq*Y!GcYkQ1I75YwlgqlX>Vm<*V5U_z`GGB z#K>Rff$?3=9ko3=SK)QbRxlBLhoGMrJW1gRRfR zL~BOt$?D8~GLZ~S49q}%{94-?7`3#wGO%muY-Qlx2oz$Pe34nw*c`}GfGA@~ delta 114 zcmbQm)yBzn>ff$?3=9mm47MA&Vm<*V5U_z`GGB z#5h@(MUt11!JI*tfsw%!D3Uw5k|ltVaq=k^Sw&_B3!n%SgC&C%m}X+I2GU$Wl^j4( H8wM@_IL#5+ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class index 07341ce0569f780d6ea433fa20a16678d6869fea..2921c83c94bb7602356ac2a896d130a406d3838d 100644 GIT binary patch delta 215 zcmdnUv5S-I)W2Q(7#J8F7;H9jJ!X;<^2tw5%n3^@%1lhkNeuxJj0`L#8JWe53^qO! z6RjAnC%^Hb8y0K%N!YERa4120N%(%nas0 Z9utEFgC&?|0;&R;&&a?56t!mH0ssiE9#Q}R delta 125 zcmdnRxsikG)W2Q(7#J9A87wz)J!YEh!Q5=A#lQrF3=CXa+Zh6 X1`7sDFwMkZ1*ExvYB+$R)(l(#i!L8t delta 109 zcmdnbxs`+K)W2Q(7#J9A87wz)J!6{e!`#BCHTfd5s4^pi5m20uff-0DGq5nIFmN)c zGB7e2GiU-yL!fBdWK|YVM#jncEV7Es3?@JkCI(XmGce7>U=F0YfGRnFq81EX0G$pG AOaK4? diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class index 884beddef97db8c56a9ab9985f59554ac1b49168..15dc103723ea3e29e6e0332d599e79ca92bbcac4 100644 GIT binary patch delta 599 zcmZvY%SyvQ7=_O?8B5aGnxerVMJQfs>_x5huDB9Jmm+pkXf-bLI3llP#b@L`u6q~mP0PFV+$KXtR9HrwDM#j5!)?^u=3%fYo|UhI0vLS& zcV57{WFnZQb>w%5Ir7H9&m#k<3=42*s$mgX+L<9=6diTEEhjZ8sUe5FpD2V0C_Yu| z!6?(w@echU14f4emI6Qtst<_ukSHfjLWpV3|8y`VL@emA93YBe2dm#<@_&a32@qal zB>+er?6Q-bq7H4&bMiH82@yka@D8gXLOgQoT27>fBovhV=UKx#sR0ff782y5*r16+ alPJ>Igif delta 419 zcmZvYOHPD97=(*=K!m_#h#kX16m^)VPuzF_kHBfzyKut+^a!#dk;J77Z(zL3WC~2M zLnb8DPw{=-oqqFPT<3fH@d@A&54H29RziEOezm76*MG_w3Ln788Yndf1u5U=U#TlN z#|6J_Tw=!VjPnV!{;%D_DyZ4-Bh4nB?Ze#;_hh{6_C6#(ANW(~{qhGb{2~l!Ok|@I z0t$;kkj@iz8yt=CDe>iiOY4gw&BEgb@z@YFR{uuzYDR^8F)^=T&4Z}e;EL(OfItMF dlZ9(G85;`;Zs4#>aLe?Wcg%=+&lJoY&JJA!Cz1dF diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class b/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class index 108ed5337886b0688b5b76fbd94a1dfab936772d..6fd0d473eaf8da9a69d201d406eeae771f437c42 100644 GIT binary patch delta 141 zcmey!bcvbk)W2Q(7#J8F7(^#>y_FU6$xlwq2}>->Oiap24FM613@jxXnZ=9@Y7;le zOw8kCw4V6YJ<4)W2Q(7#J9A8H6Tsy`5~s=xVCPzyyR03|v~<85p&+w=%GA1o9Xe_<^&benM zqbD1bd;g7J2N1`fmzBTWGpjpt2`#-^GYzdLt*^8VgVRbG1%?=()by>MSJMF8ra*hF-SM) z;J`+*ZgHVv6ZyWWBy7e2oj!mItrXcn{#HJ!wlD{uRBIO4nK3xYHWxE(?|p0$=w@ui zeB!oa^N2%&7a!uIB2NeJ4Ak=afdBRK>LF3RR-ozx6Twl3kBNz15T8`wqZQc5bFiOc zTdDT0KqdB-XJEJEGg0?*d{M+c;P(SLCh^u_XqDanJem!VENM+*2X<1f9ot1{yZ8ekWw57c@qklb`>?;HEg!7Z*7gi-2XIhm`x1wW*fo4OIQxzAc`gyy z2-OBcC5<5*7FauWgggf+7{bva%Ub>@*igZ;tc)dGVhQ7zm=36~guM%UctjUQW!CC z1KmM9=bRa*7d&n*r&s*htfMjhW7et@1h@C2%Ui6dIz_1A1*0aQ;T@q;mX$nWC8?Uf zT9Fvxlw2nOl4#;0O0iMaCnej-cDNzF$W4^UjtvzK)}b6_IE^!&u8s%8ai5PX{H%{h z*|I}EO_gZQ;rx_5q?4XS?r~s$Lu4d@Jh#xU6M|MpucF)a9LDW(Z1x8bNnt_ zg?FIS<0<~(tnziyEc_a-d%T{T%M*KwC$d9$4qYCv&7Ui$M?N6cl5~!#bEs}9agL{F zuwg>>iz|19_52fgmFxQ=vBOHys2h>LMky4tkz}?#k|?-|Uil~GHTtCPE(U}Q;i-K2 e{8=H67UIi7e2q7vccjw7I3}gnx0uFzxc>qAYkq$K diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class b/out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class deleted file mode 100644 index 7da41b7b9e2675369386858f3c3d1a035bbdce60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2046 zcmbVN-%s0C6#g!Da+6>POBYJ$=mLe31d^=KvNoY?Ec_^4AarTjfc-L#LroJqvYoZl z9`>;ApV&*Kz4UET`;ekdpuJ7nUo`EZ?ARe8S&=49k*@7?@A=MmzH`papRa#C25=h( z0rWuN5G8ovWf&@(a#ek7n2*wndzNj=ioI&eCDml`&TG16FEA{{@(1!aa#}OeYkIA2 z7j09OtJ$`(P`Cff8sFmZF$}mk6luMK;w^&d^DWx?&q7#B6N$4aZI>Q!Q6i#ZGrP5%3Tq9K#YW;T?vNGp6U9W{@;% zQBhRO()KDuUWmna9E8gf-bIuYvQ)csUySWIijH+DTG%@v7LMDvgb7?_=+)K7Ym|tr zD+D^(l}7V)mn5eqju^x6n|;wL5J!UH!dXJgPZYIgYliN}G?E-C32D67MXmU)Wvf-n zOEpQ)aJzFhsRvr^?FOO#z3BHe;WHz9hlf>n+? z64r2+A>^v7Q+j0@iS#BxGV~Z_hU__cb#`ZStXgI5LdbIDY2dq|3pG_QxYY|_0|kyv z3HR_xOW-!Z3h|)%>UTS;J?#uDr+nH69j@6^Ms4F+loqpp-6c-z+?Vjc=^KG`bI5!u z;WKR0lvB*kD~4h9{|D^^q9M&eaF)*{eBsnyFzeJiV$LYhyae-_u5Q$;d#ZU~cE_@> zXv@l@b-Ct#bL^2!=ZMb`XwQVjK~T+UadIxScPLI()+pRy*Ic#=xJ4*Mx2+uMX_lLf zl5)z2QR3V~_c49zof5mi1Y(|iK*%2E3g;z&hQnj&b1E=fYZ&%oMh>nJlHIG z2WaQ1=LmdT2>FZKVyL&6XX{fN$>TXunDc}^Vex0&ONKo&8E?dUh`tPuaPbKJbiSw9 zz=e!2;%ngIPw+>4VgnxzkA^rtV5DGzwM79J!h1_pSi65y9j`(*H$DU`+>=r3Ik+Mq&Gx>x#v;G@$+fxE5 zeTZdxe0+%YmncqmS+-tbXCv9bu2a0G3}f)o`wZdF(*MWCN;t>tRmy4 PN6irGAjj~~h0y*1?M($A diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class index f2320239d5bc63d6fefe1b4353f58398d413542e..b620eba70f1019f74d33e9e25e25ad547c923846 100644 GIT binary patch literal 5014 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 F{sRpo6vzMo literal 3672 zcmbVOT~`xV6x|opDHxzuZL77kR;(ekj8L^yAP7M$H6kT3wzXfAa7o7w6V{yx%b!(W z>{>qf1N>1g_k0M+OmaKv%j}smXP?>ko^#Kc*Kc0F0%bR(roLRn@9HwB$k!+p5)6*1kY7U+xhm zT(_Evy-F?Dm(ToOLIg%CcGI=|wqk5^kYLs7qQH2l=AP54Th6-N6S$)bapb2}G&fj? z4jq*P*|7I)$vkUy9Qpl!9qACEj?>|O)GW0w8v@I^l|)Wj1+xS2!_P+ry3uwUtE%Y< ztmp!~bJI$=K2U^EL{y<`Jb!;n|34};_R>nwR%J3ks9>Ta3l)E#B35H1)kIv^~b}Shw(4LDUKdlJu`AmoC$jFXlpK&u}J|zQ8U^4P1hyHD=zk$N404DMh*g_l~!9d#3Na^G>?A(R#F>jZpObSLUu5De#GEVSOyO!K z&PvSrlALSEXX0$coN00jn90O>5OcmF=WEPn;#6afNzQf5W#T-EIrHRvgBzJR^_X)L z!|~lMd>dBN0=^^Gk;82)p@ff$?3=9kojENh$u8Erq`Q#@j=7c2{WhN%&q=tY9Mh2FWjLc$21}UHP z)V$Q9#FEq${osO}WH8~AT9I00J^7xv1t)7}UO{OIBZJ~(M=`OtRTi%l>B2wihF zl4cgT=5Q?b9!1xhholu@Zv>jXU~7+WU;x^W90i3)ni2L!V$*yI-Qp6gdZQSlQ9KN` zcr9G71~l%=v1sOCjA6J5(ahL3`MJVdM&`*^6;owFsRR@`F$|83v5Znc-d+Y32#Yap PvbB;VdpuB#i7^2Hw8COY delta 452 zcmeBizwN?x>ff$?3=9mmjL{ppu8B{UlrWoIEwOB~s$?Tux(ov&5Hc{ZY+{(b0Z214 zdIL!|uvi46E0E2==mrsCbO&)5eHs0Lq!*Blq<0~@-Z-EMD;ZWnRa#FrR8Xsjn9aw) z4Ah&DU097Xqbq%x70dxa1fJy=x9zzu(S$zmyWj0Vv5EdirkD{y0 z1F8(hX6A8pm4!f+A=p%&LRVP=R2j+`1|-pfXstZD(sBk4#&Cw45T%S+lm95bWn`NC UN-32wVsehMBzq(3zPCl|5^Z&cpN0RWaL2$TQ- delta 29 lcmca3ct=p+)W2Q(7#J9A8A8|@m>3zPCl|5^Z&cpN0RWZt2$28) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class index 6ab375ac87ecdcca69d64085e3dc2baf2f29c3a7..2b4a981d0d51c5b430f119f71adec73a20c83eb3 100644 GIT binary patch delta 783 zcma)(yGjF55QhJAcFmeZFj+~&NJI+@V=RpKTjKp1uL<^10xl%p5=3ppN03w4*yI5O zZA2_AEqnz<5J5#z-$0z*tZ^e2vM^_M&V2v;oH;5#uW(&|UR(m`M_d7Cs5;11oi?mX zHEMKiIgwgSY-)+6R5Gpy206Q;Wf%g{gPc#)@^Wz~9lMyuz$O@^?knRFvKpreB zO=+2Iay7Zh&?MYawMfgV*q1e@vZZCT>>AaBM*WSu{5=fb;)y%!-%~?Im%pS^Jj+*m zAxL24xHRCZmChiYP|ndp(Wck=4O%HL%lDuS?exdcfo6&!$}N1|U;OQ#d?&hS3h@&p z#0_yJpxV#i{5}89!Yk(dZko%{Ls%zzO&<}_Z}WCoo!=XzmpTEbN$Oc2!o)Cm;4|5< z*sytu*ar*iD6kGhXtO#yfI*XuiJZ+pEEzB6&}Z>SxcQTXR|~v~Aq*2YLXPOw-IR_N z33;dLI8KdQeFJ&D7t(wEuihBO$%MX`v}jc7cV&yQcc}csBIGL=^U)qA$;}jT`Bm$c j=#Nzu`8S^?-!s(2F^f6lWSFN@rHV}L3$WA25QF^-wCZCR delta 443 zcmZvXyGjE=6o&tqiP>x{Om>N~f*2J+*D4o{x42%S7TWs=w!VSSAk*4d+a%2O%%zEr{KZpu@)rX6{RaosXXNd2&7O_+ VabUebi#}j2!|jLg`2>#O{{n%7GG_n) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class index 14c4b3d3a7a2e7464bbda87fe9552c1418c43aa8..0e6d746a7ff1758f28b0d8db3ddd105a9fe417b4 100644 GIT binary patch delta 689 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$FuncArgsContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$FuncArgsContext.class index 4281115dac36121fbd44d6f085a62f012adbaec4..4ea47a8a05d4a41d75ace8c5f198c7bba8383816 100644 GIT binary patch delta 1096 zcma)*OK%cU6vzMf4$MP}43m@!IL3_&DaP1XYb~wzsZ{EVicd6Xh)zTxFllr}j342C z4HvS(#6;uLxO3&l-~%*iJo8{2ktS~LB1#ksV6>x^MNJi5A z)88f2D7Bu~8kJhdsy%Decb$bHV!yPy46{OyWJO%k#ZY=LGmC*0MLROo#|qmDPMvwrh4>RHK!++OWEIy;<)toGFQ)Y+4MXN41h4ToV1LHKpuX zUCVA!N`91*G8s~TYrSoc)aFK6)1oRX;+XuacMcqk9;f6CX@KZQI&v(~Dm!7G$3;3% zc_~=LCAuxSIR%QH$1<%K=zbXz)d4ZWWCw_SgEWph>!MO#nvX&cF|1HEb%**pPahpx zNGdTwYVJ^}RTs1NuT;X5N{mbO<|kQ&q}C@$>E-~*aniz}QX8bRj!j>x;CD*R>1K8y z4ivc;ZunxzM;&zuYS1JTCwx$mKoT`e$;}@Bgmj;d9_WbEVqSpEmtELNFD-y6*uqtU zP${la?~Bd^6tV4d^Rzo3x$+@Edc&|1dLs964A)WeE6d`IYHmpG_;?blNb8sYcj*bV-$Gx3hX4Qo delta 656 zcmZ`%y-or_5dLoO;P{C-xJ1pNh=x#jn3xy=l|Mm2ITbbG9qfGpVq$NxmG5974Mq!t ziG{KE0ek>UD-z@EvX~2MvokyU{mjhWaCT_NUcVk50hDoSf@yI0yW#YfUvyqHF8H(Y z!9N2Xei=OD=jK~J1qO}Krfchc1a2wSP@pp?%4`K2lrwD7Z5>;5=INg1SD~4%AGb;` zMdS!6-hHChAEIkYv?NL8u_$z+15wwu=K6>ZU`=+DBWPvp()HQIl6}M{(FJ8wm8@-L zv#4xBZY)VQ(~~SQX%Y(xohGzSO_^?X{tix$($Uxvbg5ZZLXe38YN#tlf}&U`GjD#t zqg__0zJpzbE6}iFTs!-O)HSBE1Ek!0EHMZZCci;MAXp7?R!4)XI^n^MFRoBl^7 z^IN4sDowx29`;FIh*Wten(6p0TdCPQZ8T6M5#Ns`T*AV#$?R?z{8Rcr z=!lNuYo^nVGwP@_I-`G&eX84-Wy%z|s(57_4xM z+q%owv&EWOmX~GScDSvfgCX7W7V$d{n#?giDw#d6?bxk+# z@C}7z=&f*frEYS6V=7tL(s%W&sauuooT)obE}tq??Mha+T+`0(Ud!5b%Qbd*)>9im z=Y*1Y9H-FB&`Hdt>Nd9+#*_J09InlIw#4ln!_v*A>N?M9IL(l19sNSxD$m*#M=92j zXd80Tr4;XQ%MB#!nK+)s8HT>&!8;5Wnxjv7`KY^wnJpNOO9G!`xYSzUs&3!mWnbP9 zL#FlN`MsLW9ml9zzP=GWuiTxwO2CF4j5vQvD|aQ!nHG7Li@WUGc_ zxK)yo#^pFBkR=(rV$X*%%$!U{z~A@Rws_gi_24QdHM|tZHC!h*h2~s3RmN5#&njIM zhg37SX_)J_@cNAw>6dWPE7Ii3RIea)nuM4?*NO){k+p4DcDyJ?W!$J@NaPw-*=7`pT8WC1yPC`+WUb)t^7G`X{| zJi9W#L{niywJ*cvwjnmOIYk&-Q5>@f)TirISij0mSu7+pcTIYKV(PWAQ zcF7STfDBh!kRNZP!$Cvif!txLu|w`?V=li7eK5%*S>^3Ty`~)ADdvkOB&L_kyhhQ| zplIz_pH#JWF0@BA+3rEmyO;m?NQ_e1eBm{so& zgwW@O(AOy8s{lohFX48WgmYmMz7F7zLYND~pAW--6NXAB5uPu|S0qCAdnf zsG^om^dI2q#_+!jz%>>AT{<4YJ%Y_6uQGXyDjA`DGDH8cG(&$Q)sK?ujCV{?5dg2_ z4I*JEU{R3;$}-@UWuTGlVL;bWS(d`mG7^@SM*;j%S?-77JHzmgL-EUavpIx8FNDFy z5Pk|!9ECtXKov!vQW}+&$&7r9;V)&@MQ?S>6#h&-_KT!A?;Z0~s$m61BB7$9M9CEe zehaILcAQr6S)}7LpV8~qUju?7zSZBxI|^AOCQ;)=<}pSe;8f-jM$_NpLIgrvRQA26 z?RWI!56R}0JK<|f;9a~&eD6yH>!;ff{_h2snqTlIz2L7WeZhzLh;$3H@2CidD1!6@ z^il+AieNl~{S2*FXr)sffk^(Qq4!VVMMHihL--hl7Ye%sq;5AB_QnOBn rBH-AND?^3WNh+Y2pqum`q$q$vYagv!w2HiJ(>g$_N$Vi3JLvikal&>r delta 975 zcmZvb+fLL_6o&sE=nON_9!zK|Gt7`dqQ%7MjR(LHIf)J^if09lG2VFPg}3t%eGL^5 z7>y(olmv_r$3)(M_b~q5Em}JJX8-Np-&$S!U#mZh`>yrl&zB~EVLZz~Rp13@b#M99 zjK1sx&c$fxN=aziq@M@E}V#D{S?PF@L0xvqNh;~#lam8C1m z(yfxdBBRSPdX4l*J6-p!UK!pXeifrog%2faXk5m3>;{gdZTO5a9;z4@K@(g<^Fp^( zD&4lbh1+&Ia2>q=B(5bQ;{LcSiv4lZ5lx~~?bqq_4~9>;Zkq|F6Vvpw?cE z7ggh>tJx%4;*|WquqIp@D11WqG9RPv=7bMh9I*=2XSFMmcw2V;8gBM7Nw&Qm?=0y_T! Db`xT9 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class index 499bc835362d3a938157261965c9af35dfcd11f0..b835967bcd4b62961b009117b4c6d754c5343ecc 100644 GIT binary patch delta 1036 zcma))%WD%+7{$+>nIq%!sMTn#iS>nxSON}2D@_nx&EAC~ z7r_T8DCpL1qIFT~)<40&!L4*5h-V&7#xM&B+1Kj4#?ubUim{a;J|Q54o0B{Sqj$@HV1d#Ie>=As<-Q-KpWNs7Q+ zT&hG|s+SR0y;Qp}9Jq1Qxo%R{C+xIJUF=@tQ}k|Mk-+)Bn^X{t0#tCyGjkee0$448 znWe8Nyuh~7CJNR%iV9q)>U}UNcbxJXS>;V6r5SQf%;PM1=RAeT@>qotPLRKng}Er{ zElKbGmvkN%INrU?J90+f=V%d2?_nw*BA|R|DUStQq>n}F{BPW?Tu=CRon>#i8ls1bu8YhmFdzG93TpV3B33&FylVQ-|MeNn>z?4?(J07c4_baj(FUv;! zMAi~thdG!qNF{yC3}C+S*T6JuLT!t4))`E)PH}HIf-S#ms1tobu7KHy&dX*plhxfW zc{2CsCd*d$seUebK92>6@U|TLZ#2&d;I>D*!XhIH&Zk66tSVxj5e0kN_nd5i^aq@F z;Wg1xE5(sMRHD;RH^h4}5c!YLUHRMoD|-C#0DX0?^dWA!T1GkI3-Tc~I3~g;wUtub z!4>ydp^7i>5?lQTXD0Fj%2U@oQuCy1)=(j!1}@2Cd-OnupW%sG3-+Q{TIX#Wq3b5L Y!fs%jy`TFrhS))hpMff?!@i5u52KGfK>z>% diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ProgramContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ProgramContext.class index b9e6aa20026589e2eb6f5f01ce48af428a89c0d1..898e5695d759dd87f3f5b8594a92bd80c52f71c4 100644 GIT binary patch delta 873 zcma))OK;Oa6ot=>tr(M5Nv2XDNkMFoz-c8?-ZZp4!Xpr9X`=28vcMuZB{7j&1QG06 zRI`C)5laws69fwsR!IB>cKitzNL8=Lsq0oOkR{*o%stU!PQL)W`s_if*i6@77JPt)!Aj_0%)CaJR^|8i5l(oOkVcauif z?YMr6)+W^2FFiBPklkr!d1=eg)DVzPl#7kV^o-olfAmVwz$lYpajg&S6Ad{^^iHVh zCZ=dS61LztPS6*_Nt~jtV>B*N4due@Be`4d{X>45WE^J{=4_8jz?mf*oNCe%W}%PN z0OoGiW5vpbZ9^+0z&T74gkc}{4`Ee;X#_K@;`nEbt*Z@#Ona5sr)*CY>=1gYFQOSJ z<2+GFiy7hu;b!T+Lz5F!gEg+bkC5Rpbz?bsbW9gkA6J ziol(wPCRtCj0{#{QAK1<;4&%%yrL8=L&K}vJIFtY1C==F8G)YvFX$SslfmF79?7zC zctwvndI5o#F;G5olt&de$i_|5h5tw}Q``0^5Z?AJig=rvIOZ^~D#IPBf@XATUw}yu HLmlQOUF>k8 delta 461 zcmZ9I%`OB%6opS!jcH{TV`>tNpY%c`w1t1;Zwv-2OABux5t(EXBnUFzKzeh)~svqvrb|P665Uo)EG88MD9Oa$21{{8E2YhjZA}_ zAgQ^)=)Ms7XXsyJJs#5_+l`)-L($;{qx}ykws?(q>Tp2^-0hH^GUgIPFE!drs@oqn z4nAUk9t#Oqw$1i|Vd>r%XC0$}6D-ojZzvF3`U7{3`4Z9mwC9YT^R%aeWdhM#tG1?x lw$gAD2AAKkNj|8`X)7*u6>ClfYE;9R43}7k<`LL{{sN*&F0B9n diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class index f54d0fe473a1d4f1760a2e4a35f95f6dfb8e5c24..72a99680192c5cf9730e6f989697830124de0a41 100644 GIT binary patch delta 738 zcma)(O-lk%6o%jH9n?`Vy`_|B)S}H~RF-|&hn0O>EsFLgLIake618&E4=C=YRlA@~ zP!I+!qIEx_eSac4Gfp-}ix@cf+{1gG^WHOe{#)UB`+R-@kjD0d=Yn^OY$=~B?&ZpQ zZogRAH3EZDJ=K1O=L)@(0Fd^Uhyw6?KE7ihLp-f`QSXjO) zel=^=QZlCKUe}3U(W@m=#4SZAmSPCE&OJN+o}I8%QF*R>)P}*q$gWFs@jCcDr49^J zbQ)zIK!S2#LxK^E(v2aBF^WT!C#`m`CRFP8zC!(t5H^Iji5SPAfv6E9VKLlVAo`bw z4jaJT1hk{m@-Rz|9mMfyPiWKn>j*v2&HjpzNeDMo7J>AbKyZ>E3{yy1upL=)hGp96 z%5ZZH9;1nOBFMXJ5YdDPOk;+6XK5sDGDzuM3oOw3d(S)W2Q(7#J9A8C*7UO<7->{Kq0 zG0YMSg3OW(=0H)Pj|72wED$;;D{#naAS;#uDwai7Y{_5+GzH{I`^k+Qsv*dV6&Qq= w6=8~n7_7k-+W@Vx1+(lJ?7=i6g9DJ30*bQ$ZFgkg1VTmzCm;z5MP~+10QQn4r2qf` diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$SpecifierContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$SpecifierContext.class index 0dd8bcd66cebb840f40eea1657e5a420d0a828fd..9199586cca0669c73ecfe4f544dd932749546985 100644 GIT binary patch literal 3478 zcmb7HT~`xV6x}xoOn~7lwp96Ou~N(j8l|?iCL$1^q=u+TplYk_5Uz0~OtK~u7X2yy zhd$UBy6QuheeI9x>bZ9&(}dh8d0=KTxqF{|&fVwS@Xx<*{{pazvW5V|r3$yWZ8-cO zS*%yf^77EI8{8g72m=}hb!Z4P#CtAWDAsw|d|`4sQ?nd?;xL3O+$q%#xy7&)&1Pe{ znq5g6mQ%Hp$G4Jp({juso^))^lO=8+nU+z_*A93}#2nT!0-a%;I10@w_edKISE9LB z#<7vC8dfElsTz$&D(1dvI%YMQGaHU%7}GJ135Kyw28MJuK`(7?4cg+TG(;G#_O8O7 zVQ=uVr&c8Lk&cfs#W2(=2BmNzN&#gO?UFCzl7?v=Gni#qRMx6X55r*Ev`lA3lvrKg zE=(#L+tctV!;B&gQ9j{?5zJv;$7Os@738#`w!gm&$!Jaibpv(zAQjsaWD7dJ5M-nL z#B_Wv4Obba6=Zv6!*psSV-YbOaU@8_v3Tc08CLs~(Po%M}NsZtdu4_o@xPhBw zZe`7-KV@zua;m3`@{npWFU{(KEgXKkNBJdOI7nLC+ji+)PXt3Sn=euH=(!t&A(Wv; zq3+0;7SA`2_PJd$_N(+JlB<=CD!I@UpS_nM=cP%uTk2=mM2zjV0vW7WD(q%R;BfYU zj38T_-saW|Yne@YD0mM;jn)7l6_m>ve^Un(&5C6>O`Bw{b}dNvBW@)nOh`?na8559 zGBA_=vLyLfHYvm1zEpIyc1lQ~srEhzod7CmadU^lrxj6qJFjChil7M*^qlJ{*SbOW zq+#5{o^G|;CmdPZw2o_srd26AbR;n7-UQ8B2mFNW8jVpFLvknxAj6Fw>8V$Wm+^qBA`uYbUgb~v04ix4i-uL@ui49obEuD9sZ zO$6x)(Bh%sDS~h4F@Ue=Iw)SVHGECay1NA5;5L0?_*MZQP{G%g@H-0lpbDN*!c#tc z*%Kd*Pb{eL8*TWouRg89&#Um8O8i|F{;~?crNpn`9@W?_e!we!By@_Qv&G+TgKM7r zRoZ|6)(EzOb-D_gdsK!1-ACe)(99`D-yw9C>b|6!a+i5j1V9EGM8dGC(ln{il<%o& zOVWJTt!dKLGR%n`-J;jByM8%$(vZQ7k-+P+UUY*D;v!toZ?7MA(T6O`# zev#ZizjCPz$d@UO%Yu)EGo<%V~{2FaA%iz^W*=yMd-gP(MLZ~X`aca=lEIP U8GfOAguV;WasxwhUhZS)Kejjx8vpjJ?eLz!g#O6tPSMY(~LZ!UJ%> zTDJysR62={D14gu;CJsbx;2WPAw3jDw}ohzAk-}5Fh-ySx6~v{OKhWnc-WG8It!v> ze$hCiSkun=HJ;ThN)}LCgb^-WB03RLaeWypLS{9Pkr$YNSR0bDN-|bhW`k%pBqJ(` zQ~`Bi*xd?b#NRB$H<1y4!f2&I(37FYkrn?s7jisZJ26@ znOV#Q1x-A~VXeZw{Dw;lx62>%SO~xj8^|1X`Vq}%s7)8q?A)S7gNSJUqLxJVV5xm9 zGRu9oSibaMlXhw1{O)qVE{Ek^ma#$^v1HtPtLa=Wmpp>4j=x|#@Nt#;YyNEO*ziw< SO`bN}7#wR0amaW%#6JNL8CJCb diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$StatementContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$StatementContext.class index e04e073ecfbf36c736433b2eacb4a8b86df0707b..12eff6267640cb15a702d9753c23082640a5b9ed 100644 GIT binary patch delta 409 zcmYjMJxc>Y5Ph?k+nDo|5M%s`F@7}O1w6}wdq|MiVK+)r!tisqOqh$4o6c37T%4p~%5(}w2NdM2R(dAf2sXmDz+fR5_No)?idUG4rOPc9g0j z9<-Zlx)>NcV!K%`Dd`@glGJ3x~xQ}f$I(z7`?LOn1o`2Y30Hu LzNMhYJ4f^b#VZu) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecContext.class index abd8f07786d93bd4728356dad615af514bf6efb7..d36ae590ba991d4b475c595d61616d1c51c70a9f 100644 GIT binary patch literal 2645 zcmb7GZF3S=7(Ev#OJGS1sj*_}YgAsM*r=@)OpU0ON-zUVzHi_b*KBr~Wntn^@jvu~ z{Zd<}wdu=DJ8fs$U)1Sy?=F;-%M?Gb_wMDM^PJ~-&b{#4->=^QxQlHKA%>G3Zgbc0 zc)QT(S}pn5HryU}IamX(>~EW();xuMo{ur8==dqySn2trH7%nLVO~4qUCDS&&4UvaBi3tpe+R^YX!zo3% zs%Fm<)lOgu%Q{ZrJ%$9Qs=0mzWgG?0k8-rk#q5rtN$WTzXyW|9^n4Z#?=z$oG&^R` z^c;%5f-^eK;v7XEh_zw#JDI8irj9<=jVHU$c*`p$Z~?0tF6y|1%M3YXk!9B%q1f`Rkt_m4{9_S$P>emCw;S)oM80;A89l< z>w@oIeY5i8Lz0lcYH7ZwpFD0DOd7(is{)#%6yCP$m{7HX!{u&FE9%Yio s13V=8pAy19hhpW?zqzGQp|3*tj7sxZ&Z^jwBSVeGIBkv4=LzQi0VuCczyJUM delta 673 zcmZwF%TB^T6b9gbIu$6yNE-$P&iI~9?Q~)PA75+I z&YR{>nC7>r7fd>1(rxNRlb(uoP5aai`I3njVy@|X>SdG8n{=1jg~u2iV{kB%Iq4sl zMjIHcvknhE4U6Ri65^4a6|6=pMwo+ZvJ%&^4KL`4{WVk~S5aT7u^Fqs&v4c=T=9Z+ zuHr?zWE&bjbN=Et;&&ZyVv9Qp_FPpRr*NcC{(vVwf3b({V0--IBzF5%6?^?Gu+N<4 Kn{7S^aDD(fqCtBA diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class index 1fdd107e0586b6b3f4a0e57c2c0308a15ab92595..ffc16859ecf14d70a871b6492c099922b3e9a0d6 100644 GIT binary patch delta 854 zcma))%TC)s6o&utnD|B{Y#>NnDkQ`vkVO%fLedZ@P%hyTFtl9;6bVZKDiR@BMSX_p zb5x)R7Az3!z6CG93M53!<=8R7Ko)G~KjU-$Z+?6H+blQhfA3Gv0HpBaNWbD8R(fY6 zn_tWBI@$Gn&UP0Dxwz>R7-Hf=ii!XHSm7JReTH7zw~0g6ApXeXVKwg*in;CFE)Ax| zN8Y8S{ReSzDLeJbo>Op&JJjxV+tCkkhRDm)4t_qJ*yoLe5TL}ZShTN8PjX|pGD`ObKC)zO#V}#azssjkEg3w+gZfYXpNR)g=pC3bw zHnbBX{2Fi@0I1arpOJX$S8MtI)$}K!jXu4E=u{%H;A`InEJpRn7PR}0q{t}ELqW%b z=ZMh919acvRw;~;hhZFFeD8|*rF2Yi?<4E(JeOc{9`IXLzl8}*l5dKrbXO*oUtfSC zb6paSysmp`6<&yV%6oa!n4u8vU2X|O?JmiIU^*;r1VF9TV6B+N9HmKSSJHef@8Ou9;{kv6W8m{fctZ6f^+?GagMXD|Q& delta 522 zcmZvY+e*Vg6h-%Bn%J2jI8hOyf>Z<<-$boeYrJ3TO*J*=<@?Z? zDm@q}5!2%846)4ud|iSA!b3%P3)}3HZ8Auv bhfE8fvqKy~p~7r474w+YFi)6c%u}czg={pQ diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class index 5e298fcd64d8fab82f454681a4d1187e70a9f843..1223c5cf99a6d827cfdddc2490fbed6fb0012e78 100644 GIT binary patch delta 860 zcma))&r2IY6vw}_vt*M^aFZ27Nr*jpi7D1ttu-23oBFG^S`8kBD1k1-Dkc5XI+|OZxt9`afOuV|eN5ZL;zJf=M$#2Ektl zJY+bLJc2ET@oo%HyD^+fdVfp*3KL+q`x6p_;V~Ew8O|h+HbXC-H0F?{sVOuMJ$Zyk za{IRF3v delta 543 zcmZ{h%}T>S6opS_YGYa?O^RYHSW#S1K7r~31Prfk@TXubE!UMLtSM; zRT?@|R`%<33K9m%VZUI?Cge5u1{N8!y}D>KE@7T=fwcrZnMOa5TgFOE&!`J?te$jx zV=25oqk7ztYN{9BX+dOD$}l4FMG!VxdnV3pHzDBt|oq!PQ7|GK==*HuDjzUp5sy1^@s6 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class index 0c9f9641a673b6335bcb5daf3f81daa7a92522b1..8c6b6910c035d7a4028c65dc48438538b418953a 100644 GIT binary patch delta 2215 zcmZuxU2Kz87=GXPYuB%Jj52-#Y=enXuxyTv$;Qf-ZlJ&zY-})o+$`NzSfO;aD?eh) zh{lY>1cM(CFW?4Z3>bn?hXxYJBwlC;To{6)CX#r^g?gbziQsd-?`u1Xz4)HD=bZO> z-t#`^oI_{%r!;%Md35C(5e4PVi=HF%=M=XM^@n5K;bb)27mI9EA0|g?Fgnas(q=Rl z&*Fe_V*aHHw49TwtVpQ@P7H?3*tY zYGC&CRk5MIaBO8{$BLnNDsmtN25ZJh%=AL$6W`*6j!-xT6$vGnJfTE58HuM%(n9-B zS1O!>o^iofQKE+u$;du)`kByhDx6H&vx`hYqqk(TGbeJQ#A|%#dr2y-$-jN8d7e={ zWrk6;pl|_pklY)Ktcedqumd-E2kcm1-XDv`qp2n)j;31|Om&UCNQluy$0a)ZDNv*d z-vV>2LxPA4t$Asd7EIS;gk%{$SR)NUmKCxR-$uj}*e>L=bxRN{o?s&$k(cEaJGs&> zMJrC{=Wd&jtBF|&l2-BUr*+5jb9*P`Ic+!VdSjm>7-$1%;xdZN761G5Z-{%x#awp>Roh)1CObg#6{=u zhuFp5K9_XrvJs0M#O#G^0fSV@YQJF23GYjBqI_89P3|^!sY1qIUd% z`fTn^Ic|PC!_7%>cbnX!b>(e&+#cC%anoY7Or8G%zjm3I3l5xS6v~tZa5l#?^la@$jwZrWeZ$z@p+nSy5NFe_wAZgv=y^VPX1B0(LG3e_^!N) zF^y*O*QmG$J1ga{q!*Es%6VK~!)yUM^k+l$>`wO+-V}1B-J#-ibHJxMG`ReDwnNM4 zn0+R0Ig&ee)3MAFCs}4rla- zrmH+^9@w(aIsLe0Ovhfv)?U=i%X5T^xPm?~8|BhIq;4y6EVVC`%W*R^=8V#MYgTSL zPnkyR`mk-Zt|aX}tH?H5Kb)D|___vED;jud>aopE3;1I9@ vm;mkuz78A$CV@@BVc;k*1xy0>0`~*=0S^NA1K$E303HIq0elB|klgDs0=T>5Tu}+ZtB8rg6O-Q5qk6t&gbmx^Lw7}^ZRYX;MsY0zW=+t zLPTB}UvfSwQL813T2)!O`s{AzGb**TL_ID&sveek)Q_@ShrN0H+T@MNn?7T*JTrMF zmlz)++jE*<1X+BzC&l0ONIjlO8q7D+2(tL41$Qr=x2=6kwC^stY&Fxyk?akurI*vpw%nmMB43~{4US+JDx-%SeOM&Y zF9WJ8S~wNLw=0xFYqTI?a&R6P0UNqepFoG)W2Q(7#J8F7{b^Ym>3zPCSDZYsJw_90F9vtxc~qF delta 28 kcmX>qepFoG)W2Q(7#J9A8N%2Zm>3zPCSDZYsJw_90F7}7wg3PC diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class index 5b8eed13fbd8d083ccfd9480f0b5f1f7869b101f..d80a4fd46c12ed3111edf406c30d56f8e2d8e6fc 100644 GIT binary patch delta 690 zcmZuvO-~b16g_v|D^rH@kulX&LQAnCRJ15Cd=!vcOk6Z!(~!7xS|_&6K+Dje-N@dh zZ(;leZV1uD4K85g%Aerg@Fxi2&d@Xy!s6X~-hDau+I=E?OJ`GkSNu6T5hh`+-cQa$IBEv&+e2vEhn#z zX*n&Ll?K5qHS7aB=i0mPb6b^$Q*Gx7k!HK*c3)RayH( zYbqf!R8Z?8D~p7rDu|@|EavHrIurK~H9X|8O-POvj#c#I9fsgwk}Km79Eb4;Q=EM? zfEXx1!x(|acp6!b8Ls6x`)`r#FX%rQTsQ9vinXBOH9694NO=7i6SuGjk8ZHtTiJ2k z?UL8jwoERB_4Y!HJ3YNIB)g0+Je|LsrM}A4;XQxk89pZ%)$k3v{0=GnDMZMi1L*j` zYkx!>osdCR&mapkc)|*Cr16wZ)7TWSWm1n`;DL_lhHp{2xAbaYA$DQ<1Dqg57)jL_ w55B!=!KctdW>-*RHZbZLo(Fjj3!I}YVewhTI^Rr|h++;eVDR^RiA^M~0I48YssI20 delta 450 zcmZ8d%PvDv6kX?0_qw@lnkJRB^fslcPp?+hqlgdS2T%+|n0O5&2K|ULYGQ68K_VR( z7#aBlbKxTp>sBL82Yc;(&RYBV=6*QN>(A3OfI3zmoSaY&q^XK*$M1ne^Qp;)70HUi0J)bC!TwK3d+rEj2>-$C~5Z~_ab2;+=>&XFVQLR(aFhm>ff$?3=9ko3|1St-Z7d9`Q#@j=7c2{WhN%&q=tY9Mh2F=#9SaH;1YnjsOZ5cQj#2M5X z7#UQ7R+um_0a*+TTtbXmI~aryFfeWa@|YOZfFv7O#+E??$mW5lV$fvJ0?SJ?$N*J= zOfY0%20{h~b}en0?F^C|!P3~ZvomNjaI*mw=ztaJPOfA&W4C4CV9;aGoxF|N!Q75P qiouqF1uC!4U;tKU$Y2DfjTuaVv=Go- z;!xe0N#^p;H~(ydSKsW9yDwnPvNV-)nSN54d(qe4Oc6b|B6rY_8%sdMJ&IdlZ_v_# z303;RPx# diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class index 7104aadeef046199500500b4f66019db391e5947..601fbaf2e68cfef9d1a417a9c632021c8742008f 100644 GIT binary patch delta 487 zcmYk2%}N4c6o%h3qm5cvO(?mT(tf5It4S*t38C~uffAIq2wIFbq#_9>ZG$%Ln@ech zBEbp@x`1w=yNS+xGYdIz{y5M3o%0Qp$8hB5@ADf#0l9u8N19sd)UEcp)oog}wq0=@ zA<%0yZwU#fOw*KicIk?iooC9Wy1l=jg+GUn|?wTR@j(5ag lI3GUcVrZ|BuO?$%OqtjaF@sHxDsv%Zu*LrsEFF%61~-DWjY*&N+=xPmAL? nUd+m3)*BPg(*GyB&`K@U5|(4OxXr5ANoCS&->Oiap24FM613@jxXnZ=9@5VVXrK@S3j+h=MFtke zOAMThml^mNuP}%J#T6Ksfh0eJD1#V~2C=vqco-PLEPe(71}31qIFQH0Ai*FBrllBU QfHW6S4F`i1gDe9V0Nh$58UO$Q delta 115 zcmey%ynvbO)W2Q(7#J9A8Kft29huC^sKF>PS&uO|%$R|Rff*>lueF_lQA>L(1G|>Y zRtDaUKp{p3VIV2Qzyf5RW?*4F!@$XSmVuA)98iM@P=<*?ltBzki!(?9X)d4+4hC@s HDF!Y8PRAx2`+l!ea?!L4ik3GQ4NHJ+JHpc*&#-nrj7-?{gE^F8``XJqsD`WpZ_+**yq zB)K0$?yxlC=c42mw0yIwTQjJ`fs)6cCdF(qctmcfPLQ*E5#hn9r0P+ic8_Et%F`!zO>Aa$3x}Uu9j`?x=F$p^R~^ra@tR%=iR5u#6a< z;w(G+Av4Bt4in5?)sHBIU+p4F!gn?v7BPWD0wO5k9%!6f;{HyTYyKz^o>K|W{0{gp4DPG3)}}f*EpTUrXOjOL^!d1r c9!C>_s?3c&)HPi9^DJ&KM~Dy8t(%Da0rm8RjQ{`u delta 465 zcmZ8dOG^S_6g~6J=-8lUf(7Lixri`a7Fn3l`=yz+Y1b4%QHvHqOMk?-?*Ro7J(NVy ztVPRc*&lEnv}_R-of%z(n{)4XzjF@f-nZ6IukrF*c><6?wqS&WYCy<{h&eSYq)7J5 zni`TB^~&#CJ+!v=Qr5wmwYk47*R-gzEOVNrjL4eSn^Q1JpCB~iG4TW~I7J9&NOB@D z1qIWXAx`jZvMQ{uXc2mzOme^-;k98EWK!y+M4@@2HO2-$%G#W;{VRytRDk*XK>NeF9hUAAk zoU7Y+!p)yDbW{+)12?W>0FP8x9a}Fn-Sdq;9iDM}=L7@PL&oT8-yme)poGyt&knm_ h8Dk1IuKDr*CeIA8$eCd7lvCT%$gnX;^B|2C7=M2xMqU5_ diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class index 68d8003187440403b7ae5941b3497a5aaac2cf45..96f1ea9b034df7991b0a675a3755e87df43b190f 100644 GIT binary patch delta 596 zcmYjNO-mb56g_ul?3hGTGsQ>@ifK}fW6k(cjVAR2gs$SpLflVeFcU^6#L(i(l`Xh& z@w9^UCv;&z5nXgs7t){NZ&2~hWGLbB?&aKf&$;)!$I#zM_}|Oj9{|f(ZieF|M-UZh z%KCYY*5zZuHD360kWPNCuqJ^0CAaqi0vwJ86Mq%ndl3-+?@Q8p(* zXPyE{?d0kJ27_UFe(`qi_RQTPN$81Hym7(C8~*FBww1es84AYywvQP1a}E=nJ@rYx UdCW7?Sf&#>6!>F{SilkzuU4o|@c;k- delta 409 zcmYk1OHKko7=*v>866oE0bfA_5e5MV#J8e}SHQJ9m!86r#ElytY2zteNTL{7xX~2{ z&^vet$J7LF{S7;197MnHyWm{#Fb-l zlscBNZ2O}5cJon>g-7}5*q)V%;2Mt`(%j0Dca%kO(cXl_^Atu!0!i4`N!z-|QaW>H n%lx19L1HVSX(}?QJNWFf&jGnV;6yLE diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class index 7329f47c59cfe5f8d821e6a02dd0f920466bcc4a..12579828619262e18e38d17ef5d12a353ccbdd16 100644 GIT binary patch delta 7535 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 Ab^rhX diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class index 2546e25474301f114829fafc8dd121b151cc99f1..be64181210a54add5a1a28442de6059719ad626c 100644 GIT binary patch delta 181 zcmeyte2<0e)W2Q(7#J8F7!)URy_OU5$xlwq2}>->Oiap24FM613@jxXnZ=9@iarxP zFi9Yp{D delta 108 zcmcb|@`IV{)W2Q(7#J9A8RRB%y`F5!sKF>PIgU}0QF?L%V-%zD#f zH^r;?3Md7U5CuYrf{G6T1SF0iQBY7&0JH05wODRu-p;=NZ?5+$_-MfU=J)fL0FL3| zruVQk?4K^B)cm|!$*9S^Hme(gR7+>7gh8?8j7SrNeL|J?3{4!EC+zzF{&Kmk5oe?q zUROaYB((}5#=_Vv!BI^TBGXy5p(gTbaWOGdt7M9cll4q~L8~y>H&atnxf5#HOzbQr zvjo3QaWa|JQZ>FRmuhLPBKFI1x*}%e(Y|Y5v~XR)YA<$UO{~kW>86-=jniGxbj9hu zc&5*g^mwFo2IZ&wrwDvW;L7Y4-Z52fZNU6h;sZ zKFi3kU*Oo9$SGq@r;YrH$)B101tEOpY};JdHyb%>k)swliXG@@VwQ>RTzVwQ5tSnj zY z*>;w&bED8f`Pqd+2zOP7Haf(=x{CK&-5(Jxcj%D4=sz}v*Xp=zDYnI?yEWI|(I{^Q zB%zOF1W3U!xiLl_Oc5)o2U+UH68Q|G{t~8mdrPPoZ=zwchj9v3)OZwip?YFe7ptCw z<{R+y_CbCq6hJ=(5u&ig0%F$gV`$(46GFW2i~Q0YsPh~oI21QW&*Gdp=yCS?uHE{s zpW$@Jv}ovG@5l8^CSJm_G1N=AZ1@#iHU1Ks47-7K{u<<#+*rXacrnSR+dP;%xQ7Rb F`~`6Yo!0;W delta 665 zcmZvY&2LO$7{!0j?VbD9ZD+K`R8{J8+DO}wh>eAfL?TiV(H$0pDxHp*q4muu{sDPc z{s)T^v6zKebmcEVNqi;}78W)n%DK~~nGB2jyzlegbIx;~^PuQzGGy=lIj{Ij&f3*8c@iU|`Sy diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class index 5410e34e4faa5ab172a4f9106c7a0fa271bbbfe4..136b7cb4d638f3a40048fe5e6400a44686caa5cf 100644 GIT binary patch delta 336 zcmZur!AiqW5S)DprVWZE=%M04o5YHOp*2=()TUbX(wpM_DJ4eI2({?3|KR%&=}8dv z1H5_{`~v?#+=L!wVQ1LgnVrw#lUe%seR&5E;>3U;l-0MG8#@)zu)4QbGP#h0SY9T* z^Q;l{RQ4IH?v1>cULw=TI~xw-Gzxe(ypHcwM?6rdUd1vUsW0(3YomxIY=ThZH@+Ha z^CN*e^C_NzZ1~KlGY%75XfO&maJgrS8Z<7zSX*CwMrE9@|CbxsW>a7%ziF0CY`~j5 z4xsZCunTWcKbmLQC}0;&! M=x}Ocb{v-f09s@*DF6Tf delta 257 zcmZXPOKO5q428d3FFq~^B2E4;7Cwhg4~6)jw*uEai`r% z$6{#jGvpS^!$&h*rAYHWpe&HHd_RwD07Foaj%8AB)IxS{!P5@D5vYI28v zvCTw4l6yLSX CEgiT3 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class index a4c58433628b2b0986978ae6177a2e85f6a4bf6b..f50fa8695f35375c41a48e39af7a0adfd60e22ef 100644 GIT binary patch delta 464 zcmZvXy-EX75QWd#>?U#jPmH?Js8Qq3`jbQ>2nsG}r)98TC14;RsGUXf4!0Hb0a7Sf zS@;09zKoSPdoL)+ZRQ+i=9_cxL*_H&7=_S z-BtURm{gA}@Iali&kgm((5(`IdSalCoQOTub1Gd2GjgtoG{72M)-k{xjBpouHV|+R zvodeM(_1CXi6;Al7y`8$#TXpz@|ZwMyD3b=mH9jtq!y)D6;1ZN@D-V7F($a1PP*LJ zDdwUFlR}iSXrYJyXagTw;Uz3v;PHR(JtHe!!HR`0^nV|2qE9Sv3aff+4eMG%Y>MXO P!&!vbf{$%+wJ7)jyUizx{;JL;;f^=sjE3%9kbL#3$*!h3%WaDw~fx9v*n}q c!3-&MxfAfv`_RXLS>(oo4+$FqPtn|Y0}tsMj{pDw diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class index e86077c446e1725fbaeb77150fb6d0af6326078e..fa4c6b0f94dfc6f73c1da8d001fa21c18a80bc81 100644 GIT binary patch delta 1928 zcmb`HT~L%&7{~w5ezKq9DiCZ-inMH?vk~in(HMg{nITQVq}8OnAnMBQ!t5^1P!v;% zR$3}Y`%qKMPpBkwV+Jp3va*>jyy~`#ZoKv0v8Ly|=iSp1U3PQMdCxh|^Z&j7^PF?7 z_D0nE>tENu1JHrFtKOT=woupbfRTFM$R>^c)L^e{2#)-oWR4K-N~T9r@eRZ2kz{Hx zTi-L5?jKH>d)mb<=VZMjW2AX|sB5qBiV;s4nceZ8d^VZc-7a&CjqqB9D0fsm!Jk9P z%ua%TU^JT@%;b9phUMxK6*-zurs7+S5e}pT%J(#Z|Hn>bRgf$i8#AGH8k2Y1B|R9-wDXPd$iHFW%-oeh{}0VIL;BC)^Jgw{P-z zm)PfNU#BvK;NZorD5q^$K`$UqFP20|Xa`o3Q4(Ee zMIT^IJ7^`#zr#QZBF?=8bT$@H^(7A!k7NYxEXm^34DaGSD|k+1ypK;fOomE0IUWAxvpJLK!ndLarfUWsswTIAqEu@IF3ZO*wZMPcdH*Q5?Zh_G5}?rF&{d@QnO} zGSEGQ-Du{OV>k|SnPyIj+uml&jv%K29?q8j18MF?_6A`m{r zN8HK-Jj*bAY=||^p`&|E)4bU1TeZNBSK*}BxHQJGl-@v;CQOz_6{T5Xnk8njII#*J zvk7)>f|?OLqfJ<0COm~tEzW7tm&rOXe8X z(s47>3RaAu0;f$UfL2Z2YEc(UMC~fN zf!c}EQ!SX9l}ruRRL__ksVhvlq+<=-|uXr9aQy0(@# z>y!a2r4tQhW(C?xs$b3sPC&SfEcdbke-k@`TP^=;q^I;fKcF`dq96GI{Rz$VGZJ)D zi^VyvSW8`&YzU8YES`&)Sb2DpVnmH+?% delta 917 zcmZ9K+e=hY6vn@0j>kDi=c19RdFwJ}7i7|ivMfx+?r4&VU|3E{R%4=3P?V`%)U@1c zT6y=OARRAl!)7@S!8$~7ZDVb@`ljb)np_+r z$(6z-Wk{Ek$d+WGkrSzCcvsYHTQAw#Os!G5bC8H75KWeKD(3KO<1 z^GJBfjj0vXhtzPrgS%XVXF0EyjQzXK{%c@k{wy3)heYuqS?aMv8bTV;kl#qw;3ant z_bs|ueTwmJFuOZ=4#-8)m#|6vtms0wRac{GV{=xhw7@2_vbRk8$ktsd&pcgx(4;`w_8E-raW5%5;nE^6`WQNELlNqs?{$=K^I^}B2 zHg!C()3Gr!<76g~Ba_INDU`@GDrE-M@*Fktf<5-SGYo|R>#SQwrKHP4zMG+SQvt8H-=H_US+@wGwT@eO`JoGkDSF2XAxkt>1Ft*nO4 zwFHCLqM_^;65}UfB#aSUF;NsEVAe^9CV=tYnRJpSJ>9dXdt&0c zizWLAjF96(xFJoAQ8V$8N>JSlFH7bpa`G6}YlDmdIUm9t@+s$Mx+mr&4>n+Ff zcM3GMq!#M!lg5ZCyIK#{BZ_(rF&z!i1r}SGteq@D84DD7R&|gVmSCxdOLSa{MuC;p zP7_!fSF;Qt@JL(u%{nXPIRC~ zeXh~*6I?4$H)(m6FK}Iz5YZPi83bUEv#vb7Y{MB#?jJsErhRg&1J~*3M3=y&T>lJ0Yd-Cf< z=tZA~{W|)UUyTu`bDE})hMO2a`)=H+KPGwj+i9Kanq zhHxiQ>0=-3(0q`5K$Pm;I_|-}q3Ymtma6LBU#Jtop-MnE?uVgaSVvl6FRP#ncX^iCYiN}7i5E^C|5}g1nWxEQbko@-9?KPb!}DSRH?6U zgM<1PpCAv7*}M>eBg@gEzv+7YH_o`OeQPA%tE$ z;2Y_QULzYsR>N-v)>N*_#g?MscXYBsBtm=VS;YRcXDV%G1A=JyBdJ?#Yx|25YK84@ zFMBktD)iZ{N|#*eGd;i8RJ8CkJj1k>B|fodDl2=OQCGurto!A%FyndmUZ^5Y+-f-^ z8veuxf7~7MmPYV)45#pC4S!L!;vF{c zAUVP9x132bIvL*huzc+0L&}xY0xy;p_`G5WdW+$VurDN1t~-&-b}g(XB`akcl@}G% z?<&#Hx2e*4l!xdxY;63OdaRNWU$sLvhk<_W#;$_SrGP0(bVucp9TM0 zmAGN(v5pVeMQj7$moY(vU&&uP`CF|=HgB1QI2*`4e$^WqSV_$|e9l&cTF7CNzo@Ss z!o(1G09z;{miPy1P*2%EH-8Lm28%z%veX>nLquNPJBQ|>wppz0o5T8{_E~J`tc};s zprvgFZEDiqSvQA{A+>cD+d3ohNW5+a+YiMfGuUwqCzPP^`Wft03%k!@uRy03*Ulj& z@Dke9>^6a~aG*1)RO8VZ98#aV&fz|R^B4iR`P7f!20-JS2b05jMEn0jbjuJ`)M}uj zc01qWKoeur%-I^w)?yQ`L>pg$S78ILMGId%tw^CAgV@S;pTrSLjPMYvn{F3`> zXv5cd7>}Tq7M$amk20?}<1`+_ub9bS)8=;6{s;?EP5u2wLtI0%hV>dA*U+KyC4_%r z+rQDoDJS?nx76~mKk)km=Zo+pp5nNQr0BrYc$UwZ=W!G-(zRD`0w?i0-lROrJ#X>< zUA)I%lCQhZ dILq;QB7AyNoF^ZptMxqhWbpeuKEoG?{})<(`5XWM delta 922 zcmaKqOHUI~7>3`|(w9IiV-_o)l zv;U|Jjiz%85>Euq9IJGl^^_amw0YEL%GN^Sxq72D_a^^nG;XDHuIZGd3j*~=8x1;+ zu~|wksvlZ|SXNc#t*S-8UQ>PSWz?)5l>X9@R9+t{$irI^C@an>;E$Twr0Jj)8a#Y< za24>u&oxZ%9Q|V4-`TYbu|-Q@h^u}OJxgVfkzsVvFY3R;%T7SLa~pC8m3uffwvRx9 z)xqe#dRx&~sNY9VqL|)A-)$L?0pAY#i=90Ooo}L&b~7r_f?Cei$QjNfgo|j$6R|}q!`GPCh3wBY_(1%So&fhz|H6Ik{c~iLH{=gq018h From 42a69edabcae42f6aad153552768fc8232453ba2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 11:20:30 +0000 Subject: [PATCH 7/9] Simplify test cases test100-test109: remove algorithms, use basic operations Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .../CS323-Compilers-2025F-Projects/Main.class | Bin 0 -> 669 bytes .../framework/AbstractCompiler.class | Bin 468 -> 381 bytes .../framework/AbstractGrader.class | Bin 2989 -> 2431 bytes .../framework/Utils.class | Bin 0 -> 3970 bytes .../framework/lang/Type.class | Bin 311 -> 241 bytes .../framework/llvm/BasicBlockBuilder.class | Bin 0 -> 8296 bytes .../framework/llvm/FunctionBuilder.class | Bin 0 -> 7188 bytes .../framework/llvm/IRBuilder.class | Bin 7049 -> 6091 bytes .../framework/llvm/IRType$1.class | Bin 845 -> 816 bytes .../framework/llvm/IRType$Type.class | Bin 1274 -> 1182 bytes .../framework/llvm/IRType.class | Bin 3881 -> 3485 bytes .../framework/llvm/IRValue.class | Bin 2044 -> 1829 bytes .../framework/llvm/Inst$1.class | Bin 0 -> 1176 bytes .../framework/llvm/Inst$BinaryInst.class | Bin 0 -> 1632 bytes .../framework/llvm/Inst$CallInst.class | Bin 0 -> 2684 bytes .../framework/llvm/Inst$ConversionInst.class | Bin 0 -> 1336 bytes .../framework/llvm/Inst$ICmpInst.class | Bin 0 -> 1228 bytes .../framework/llvm/Inst$InstType.class | Bin 0 -> 1709 bytes .../framework/llvm/Inst$MemoryInst.class | Bin 0 -> 3117 bytes .../framework/llvm/Inst$TermInst.class | Bin 0 -> 1424 bytes .../framework/llvm/Inst.class | Bin 0 -> 4196 bytes .../framework/llvm/LLVMIcmpPredicate.class | Bin 0 -> 1755 bytes ...nticError$DefinitionOfIncompleteType.class | Bin 1251 -> 1105 bytes .../Project3SemanticError$MemberError.class | Bin 1281 -> 1140 bytes ...ect3SemanticError$RedeclarationError.class | Bin 1306 -> 1158 bytes ...ject3SemanticError$RedefinitionError.class | Bin 1210 -> 1073 bytes ...ect3SemanticError$UndeclaredUseError.class | Bin 1215 -> 1077 bytes .../project3/Project3SemanticError.class | Bin 1824 -> 1550 bytes .../project4/Project4Exception.class | Bin 466 -> 369 bytes .../project4/Project4SemanticError.class | Bin 5281 -> 4592 bytes .../framework/project5/Grader.class | Bin 0 -> 2046 bytes .../generated/Splc/SplcBaseListener.class | Bin 5014 -> 3454 bytes .../generated/Splc/SplcBaseVisitor.class | Bin 4949 -> 3672 bytes .../generated/Splc/SplcLexer.class | Bin 9100 -> 8795 bytes .../generated/Splc/SplcListener.class | Bin 2268 -> 2268 bytes .../Splc/SplcParser$BracketContext.class | Bin 2488 -> 1948 bytes .../Splc/SplcParser$ExprStmtContext.class | Bin 2256 -> 1769 bytes .../Splc/SplcParser$ExpressionContext.class | Bin 4636 -> 3554 bytes .../Splc/SplcParser$FuncArgsContext.class | Bin 3067 -> 2427 bytes .../Splc/SplcParser$GlobalDefContext.class | Bin 3790 -> 3043 bytes .../Splc/SplcParser$IfStmtContext.class | Bin 2826 -> 2233 bytes .../Splc/SplcParser$ProgramContext.class | Bin 2530 -> 1965 bytes .../Splc/SplcParser$ReturnStmtContext.class | Bin 2344 -> 1837 bytes .../Splc/SplcParser$SpecifierContext.class | Bin 3478 -> 2729 bytes .../Splc/SplcParser$StatementContext.class | Bin 935 -> 680 bytes .../Splc/SplcParser$VarDecContext.class | Bin 2645 -> 2005 bytes .../Splc/SplcParser$VarDecStmtContext.class | Bin 2739 -> 2196 bytes .../Splc/SplcParser$WhileStmtContext.class | Bin 2539 -> 1997 bytes .../generated/Splc/SplcParser.class | Bin 23005 -> 21632 bytes .../generated/Splc/SplcVisitor.class | Bin 3013 -> 3013 bytes .../impl/Compiler$ArrayType.class | Bin 1626 -> 1383 bytes .../impl/Compiler$BasicType$Kind.class | Bin 1161 -> 1069 bytes .../impl/Compiler$BasicType.class | Bin 1159 -> 948 bytes .../impl/Compiler$ExprInfo.class | Bin 509 -> 416 bytes .../impl/Compiler$FunctionType.class | Bin 2004 -> 1654 bytes .../Compiler$IRCodeGenerator$VarInfo.class | Bin 0 -> 533 bytes .../impl/Compiler$IRCodeGenerator.class | Bin 0 -> 23319 bytes .../impl/Compiler$PointerType.class | Bin 1475 -> 1258 bytes .../impl/Compiler$SemanticAnalyzer.class | Bin 24660 -> 20716 bytes .../impl/Compiler$StructType$Member.class | Bin 606 -> 504 bytes .../impl/Compiler$StructType.class | Bin 3097 -> 2624 bytes .../impl/Compiler$Symbol$Kind.class | Bin 1327 -> 1235 bytes .../impl/Compiler$Symbol.class | Bin 1107 -> 924 bytes .../impl/Compiler$SymbolTable.class | Bin 4930 -> 3891 bytes .../impl/Compiler.class | Bin 3622 -> 2253 bytes project5_testcases/test100/01.in | 3 +- project5_testcases/test100/01.out | 2 +- project5_testcases/test100/02.in | 3 +- project5_testcases/test100/02.out | 2 +- project5_testcases/test100/03.in | 3 +- project5_testcases/test100/03.out | 2 +- project5_testcases/test100/04.in | 3 +- project5_testcases/test100/04.out | 2 +- project5_testcases/test100/05.in | 3 +- project5_testcases/test100/05.out | 2 +- project5_testcases/test100/splc.c | 26 ++------ project5_testcases/test101/01.in | 3 +- project5_testcases/test101/01.out | 2 +- project5_testcases/test101/02.in | 3 +- project5_testcases/test101/02.out | 2 +- project5_testcases/test101/03.in | 3 +- project5_testcases/test101/03.out | 2 +- project5_testcases/test101/04.in | 3 +- project5_testcases/test101/04.out | 2 +- project5_testcases/test101/05.in | 3 +- project5_testcases/test101/05.out | 2 +- project5_testcases/test101/splc.c | 50 ++++---------- project5_testcases/test102/01.in | 1 - project5_testcases/test102/01.out | 2 +- project5_testcases/test102/02.in | 3 +- project5_testcases/test102/02.out | 2 +- project5_testcases/test102/03.in | 3 +- project5_testcases/test102/03.out | 2 +- project5_testcases/test102/04.in | 3 +- project5_testcases/test102/04.out | 2 +- project5_testcases/test102/05.in | 3 +- project5_testcases/test102/05.out | 2 +- project5_testcases/test102/splc.c | 35 +++------- project5_testcases/test103/01.in | 2 +- project5_testcases/test103/01.out | 2 +- project5_testcases/test103/02.in | 2 +- project5_testcases/test103/02.out | 2 +- project5_testcases/test103/03.in | 4 +- project5_testcases/test103/03.out | 2 +- project5_testcases/test103/04.in | 4 +- project5_testcases/test103/04.out | 2 +- project5_testcases/test103/05.in | 4 +- project5_testcases/test103/05.out | 2 +- project5_testcases/test103/splc.c | 45 +++---------- project5_testcases/test104/01.in | 3 +- project5_testcases/test104/01.out | 2 +- project5_testcases/test104/02.in | 3 +- project5_testcases/test104/02.out | 2 +- project5_testcases/test104/03.in | 3 +- project5_testcases/test104/03.out | 2 +- project5_testcases/test104/04.in | 3 +- project5_testcases/test104/04.out | 2 +- project5_testcases/test104/05.in | 3 +- project5_testcases/test104/05.out | 2 +- project5_testcases/test104/splc.c | 50 +++++--------- project5_testcases/test105/01.in | 5 +- project5_testcases/test105/01.out | 2 +- project5_testcases/test105/02.in | 4 +- project5_testcases/test105/02.out | 2 +- project5_testcases/test105/03.in | 6 +- project5_testcases/test105/03.out | 2 +- project5_testcases/test105/04.in | 3 +- project5_testcases/test105/04.out | 2 +- project5_testcases/test105/05.in | 7 +- project5_testcases/test105/05.out | 2 +- project5_testcases/test105/splc.c | 61 ++++++------------ project5_testcases/test106/01.in | 5 +- project5_testcases/test106/01.out | 2 +- project5_testcases/test106/02.in | 4 +- project5_testcases/test106/02.out | 2 +- project5_testcases/test106/03.in | 3 +- project5_testcases/test106/03.out | 2 +- project5_testcases/test106/04.in | 6 +- project5_testcases/test106/04.out | 2 +- project5_testcases/test106/05.in | 4 +- project5_testcases/test106/05.out | 2 +- project5_testcases/test106/splc.c | 43 +++--------- project5_testcases/test107/01.in | 5 +- project5_testcases/test107/01.out | 2 +- project5_testcases/test107/02.in | 6 +- project5_testcases/test107/02.out | 2 +- project5_testcases/test107/03.in | 4 +- project5_testcases/test107/03.out | 2 +- project5_testcases/test107/04.in | 7 +- project5_testcases/test107/04.out | 2 +- project5_testcases/test107/05.in | 5 +- project5_testcases/test107/05.out | 2 +- project5_testcases/test107/splc.c | 41 +++--------- project5_testcases/test108/01.in | 4 +- project5_testcases/test108/01.out | 2 +- project5_testcases/test108/02.in | 4 +- project5_testcases/test108/02.out | 2 +- project5_testcases/test108/03.in | 4 +- project5_testcases/test108/03.out | 2 +- project5_testcases/test108/04.out | 2 +- project5_testcases/test108/05.in | 4 +- project5_testcases/test108/05.out | 2 +- project5_testcases/test108/splc.c | 43 +++--------- project5_testcases/test109/01.in | 5 +- project5_testcases/test109/01.out | 2 +- project5_testcases/test109/02.in | 6 +- project5_testcases/test109/02.out | 2 +- project5_testcases/test109/03.in | 4 +- project5_testcases/test109/03.out | 2 +- project5_testcases/test109/04.in | 7 +- project5_testcases/test109/04.out | 2 +- project5_testcases/test109/05.in | 5 +- project5_testcases/test109/05.out | 2 +- project5_testcases/test109/splc.c | 60 ++++------------- 174 files changed, 245 insertions(+), 500 deletions(-) create mode 100644 out/production/CS323-Compilers-2025F-Projects/Main.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/Utils.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ICmpInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$InstType.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class create mode 100644 out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class diff --git a/out/production/CS323-Compilers-2025F-Projects/Main.class b/out/production/CS323-Compilers-2025F-Projects/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..34cfc56dc9dced7b616c9831f2dd89d5ecae26da GIT binary patch literal 669 zcmZ`$ZBG+H5Pqf{EIp1Ffff*vf{3jGXJY(RH8CnkQYcAD6XFN5Jr;7lKBGza6&KZrsUC!)PU=QMiOsM<*8e{Me|}1Ts~rZ@s6_ z{It^!wgMLdo~0Wn6w0*$AvX!*vudT8$0Vi%?s%BS%wL)spHrhEmXc(wtZ)rxAqR}S z5m6N=5Ef3gjMQbKKl-UOuUo0nGBDS~tXgNWz%s$vlVQx}O>&|LleI8b`&rad`cSso9C4yvzF7Y7 zukRta?>+^pW5Og(1=a~Ow*%R&_cL78NHQHLJ0wEhQf}Egtl&Nm-L4$Sj-AgE-EnPtzP3OB9t9`}9-W6t#o@}t!MR9-g8x{s# fii`mFa507ncv!?ZmU+%=9CeuKA@4`*=TQC)Zrqzd literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class index 06b4c3cc4f97b08ddda86fb6edf1217adb388ec1..3dcf784fdd4c4f9a6ecf634226dd7c84263fc2c0 100644 GIT binary patch delta 99 zcmcb@{FjOA)W2Q(7#J9A8N?=X?V9*slu>xHC}WJf76TIyGB9vyZD(NA(%#Czz7fb{ qWZ(yqd<@J$l9PdjfeT1-voJCUFt7pT1c9O~Kw1chMSyH322lVIsSRcT delta 203 zcmey%bcLDg)W2Q(7#J8F7$hfh?Ftm~$xlwq2}>->Oiap24FM613@jxXnZ=9@GCpZV ziMgre`9<0Kj!DHOMTyBJ&iT0onK`LN){G3S#U+VFC5#MQt`*6t1tppJdByAuViRx0 zB)c&%0U-kem)3R$MlJ2F4D1_$JSGNyAj!wT3?w-jSQxl~BsYTqkS7LF%^=7i1mpqr g0mXS37+Dw@gc;Zv7#T!>Vk|&f6o|!vY$gT?0BQIq+W-In diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class index e9274fab95e3f361f1897bb5311e287690dd04fe..deaa9f5e97c6df11ed6cce114487928bb0aa06ab 100644 GIT binary patch delta 560 zcmY*VOD_Xa6#nkCGq*F1M=DX`O(boV5nYHkA)&OZ5s7FbQ>t2h3|g;^e_(UhY-~wL z#KOW4u=X3ouTW>&32k!kIp==oJKy`d_VM%f4qy&f&zd5Knv9aUcN90RO*5HG zaby|VvgVnoXNr2XV3kWo=_F<5IdbAbK4qt(U+HiK12JK_y2OW~Nx?1gsf4*_Kb0(} zV?yTzb}#ODlu6>72j_K26->d+;pND19MJ)zSA|S8q7tDD3^MW*52zmy*B*a@Ax*Ug ziDDPL=%#J~MTgTvnNdd$y`c4piW*(1f_-iV3wC`>9XI6@x;t2-XfH5CzdFH~Fw}u2 z8&5cRMBJ*q*EOYPxQIDQi^t%DUY##FykRnB+fqX#FEC!Q{Y;N~zZ38vLW@`bR(2A@ z9%28~n%7Ah+{KckJPt|RXq`j#9;Qib1}&H+P8nwoGa|mU-Ui+Rd0iy0w$}Nd;)+=I g4u+-bXZpwz5Cz9N>207LaU2rj0&AzCi>k-VU#bvKlK=n! delta 1031 zcmZ9KT~8B16o%i~?RMKzXl-N5S1_m%+X9UkV+3QwNB}J%ib0JUUCIJ0ZMSZ>f}i!< zd*^p(#E_bJ;SccETmOJp@(aMT({;O;OlHo^oO$LwZ_ZxgV>>=kb0k5>#dr z1+%D?7B$PzmP-0HXJQE0YetQsx3FSqWqrf6*7K7~HQUmP_Ozuf>(&HA)U4apy1igq zx>jaLaVDjXGISZ%{Jx9M1zRhw&uLY`R#D}HN;k9kxKd+}_$Q@1(pl5XTE#YsQ~ZzI z!$;+Ag&}jiz^ig!|I}ttuiA!LnaC_Mg!O-0hGQZj(oWzz%5YFJEE3LlmEIUbXjxyX zuNKTz2D!wK1S{+({}7yIGXE9KG_nYg5$9mwKCMoaKoU$u>nK4IQJEqc6^iqa_HYIP z6&)%}6%S~D(Qc0}_n%61$_S;PM)L~YU!>0*U^JWif?*n88^~|bfrM3>BjU0T9q7jz z?NhB}Pg~U0#$coFBJ;F5YL)CZ;-5WKP#hi-m}o1Zg$Xb`gmb$=xd9wt*rd%Z%+Tye zG%6(`zM1Fg&_JVALl^l3j8F}uq&DxXBk3`cxQ-hx z~MM&OLr2e0W9{ostk;I|~(;5W{8alsVtuY47he-iW`Q&XvJZgnTQE GdG{B;B%ba7 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class b/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class new file mode 100644 index 0000000000000000000000000000000000000000..bc2a2c87b5652b35d21e02b0c7457ef5b0979c9f GIT binary patch literal 3970 zcmb7H-FFms8Ge4rWGC635C|+~A<#e}Y&L|Yd<4ky6_OydNq{5}pjtA?PLoL{Gt2C3 zAW{`AR@-X*s@h=HirT10&xu|HQqEC&JbK}cH{N;SIsO4&dK3|TelxpC_GAIQ$j)zO z-jC;f-j8|nhesd&8o*)vG>kHot57slASAGIOrO+~mTr$EPY;b5!=6CskZGIV5rOh} z6{u0MQo}0L3e>#f z>J!FQ#~n|e^Gqu%P?eF={jOmMoQs#V(dD=!N!|7=H#xaC>E>+DoG_BKZzQE&s`UFa zx|=oJRO9(D)*z~4t%hf?PGCbxYk{#;#a zoraCrRG=isc#>_dt4~ocq-VR#ELqtWU#cGvoN5eA`WjNqXQ^JpW^56tT_B{_7|yv_ zbCS$-#!Cmegan`cMU$uUPKt4F#WocU8nz=Yu)0LT1XSO@Wy|1~hc4+{frN%8>=1~M ztsWP)!K!qo$Q^cUTyH$(~ZNS77~O zUH1kh(|K*!$atn>SE7Z2SFTwm@Jb_#<0@@&84Vb#(o}7suHINB`&FY zQ9~EH1u6?P2s|gi&f}~G4>^|Jgg!3g7}mW3(;MX}>v809lx#0i z8l~z=#Z~6MWQcydbh@tN%4U`GzhA{C1sWbN-EX)Prmb62A%ZEqs^L@kG{-dq?VFky zaxC`d<0$QS#tl0a!3}&?#pg7p6P-o#t9U}iffGTxLw0WJwB?L^KGPM2vL0p0!jki{p*o<5~YB3<~NaOU)R z`tW$Sp7Bkp_!?*F(lMX^OpvWUbHvuYoJ+qKpYFG~stzsd|J0FGsmu$UeY))@#ZG$ZA-osHckw+H-%c)xOq)4%UD#P7m(S5!umKI9!KCl#IyKY&1re|=N-eyUQR>6sM z%C-%+-O{sJBdg-a+%6Wa7r8FRtYU`E`ead#=paCB=J&mflL=5Es-tHLAGaz0I=}-G*}CMAfgLCYtV|dQn^sAE1Uimsc$-7tEbj&af3&DZ)q=m@CZekEueCB(na95? z8k)u`A92Ot0_Ip{!G7ND0Kv@Q)oADzA_em?g<^FTgFe9>15s5OEO^>QPs-q8Y`3t9 z(#jkzD(N|VoUHi41Xddg2$l5vSX(6LdkrZqp_?jcIk4z?f#9WaFQoVbH1fQGrB=tv z*@zhGna9oiRBS;ji|sIz{vub}mw8Q7)pN)1dz8G*b@FG}jbCu%yNA8_ z9rodmXu+SbAAjXm@;6%gJ5qSaEl=QxsKPO^4sBvTIz$ILMHfzpUaoAHxq4Z6LAdA= zIqVVFxk0^#v*I1}`DM2UH4hO}ar6-yR2&py;{#MYgeo3jd-cCjEyP1SuVQCR`xj0= z`v7Hpjj#KmeuD+sM8H804X{vUW!E>c2b%H?(d~Cfz9D)NY>md*1)5f{>wpXFgp2(D zZZ z@*!Mcwt1FXlhde7%;B0mPfcSTWvAwGT_AuvkIx9qvX*YjCm-R)G-`I-#|{7a47A{l z)L#hYIHv=cPX(9xU*{m(T4%n8n9pG(nd1W(VZO%DhH>t&HoD^lJnypHZb4K*VX{ZWkPx;RmkOkxJ ox^F#%@<{nHPG`L9zn|s+0VkWlclh@M{E&BHo_>T6@Ds%T3o5n-(f|Me literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class index af974800cde4b8795aa549b32838afe5adc1cf31..9bedda4959532eddccde471977573d6cc773adba 100644 GIT binary patch delta 64 zcmdna^pTP4)W2Q(7#J9A8Tcl0wN5;2p(W422!sp_>{>e+7#SHh0GW&o+(42IA`B#X JfIKD!UI6f#3JL%K delta 133 zcmey!xSfgX)W2Q(7#J8F7z8JBwHgWeTQge4YbCMM;ihJXl029}bH%wk3cQJ=J; z#N5>K{Gx3AoW#6z{gBFnRO^YoRyKwVj6lf1z^=8Efsv761CYtYzzrnXAi@khKsFDQ Q&C9?Cpaj&iT%{_g!B3 z?}29loURtRQGh}hiZm3XM4@uKKCF9#dbrD$F(~ zCE|ggcU3g1@9GT1;%>N5ScVzUTqxI2ftd<5eNjDRTpWoGdV|5?khe{b1$=G6h;Ohh z5eWK?sDc&<$Kuh1FCK`5V}$Qan-;4rVsVxR4`wU4<3=RhOafCua zUoYW0v+&j=!lq#x%`{f6VLlcp6opAm!D9iM4tK|+fpEV$YmtT{#RDxC*L{Plg5<2n zT&Pi)pAJx0A{-BdjMY1R#*pwY#W4yewd>(4Bi(cQXd{8XC~3P%bg<)O(HKI@7hPx_YOf z8ED257rYvlVwpn4#Bej&%!Z+d6c(i3Hq&f9^)f;nZ1GS!%Qc*clN5^SXmFRpQ4{9( z*^&3AQqVF3r(lH(r)oG2Eec1ZfhX9e%0l{(!U{VGCc4v_?O6_PE{YnnvxLw=kqLn_ zG`tO~D3?f|!jifz8S$~y-jd(2yx*?jOsr;xX`DeUkuI3Ig56BBaxuY4QSYoL1}D!d-aZl z9;6%d>+)Ey-z?Q0(hx?3LEfgDy@2NGHrMya&<+hz>EW}jk#&*yhVh2!Ml0eP5*W7B z>u+Q8?al#Z`kJW?J8romne87_K_N6_r-og)geunk?9>zbS*pzF%Wk~Wh08QtF0nc? z%T}syj4u@B{YJdYh$o_93AMO$g@!9}6;YxFD{)N@U(BR9qiMP5Orp>i!`EoI7T2-% zdKsho%=#JEP!?P1FMM@3-mT$1xSqXuSPusLT&X(zMwsl5&uJySl-Pzvi8snJaFaq) zj#r$%m@Z2CTXBm-{Z@tH9FefInoYZF(g-=x-YjzO({P(mD2yd~h0^UB?lA8|2@1Xy zdo|o;-unZ?a(}mmd(8W&5t4%VkcJOqpF&w6ww?`)OC@d9iSYfnPs9E8SO-V?ji@|* zP{Tu_AJ>pIU*z{u>GB^_sLhOEN_ZJ<+1y|VjYl**ipL1mZ*b`eAGY|VTeJz4PjOrE zxP~Y2358OwE3tTB`3bWAb~xu-oye@Qr^Lw-g_CnQnNh3x+;(A%MHh+od)YjLQSb1H z-l(;m@rD91pLe|;V0=fhU(|R&Ve!;pD8$`(TEjDVmRXEOB5`xOC%JHVlivNL_Gi+> z4r%x#KE)=bo0~3$_8jT3Wa}s&2SkS*FiG-fG(3+N*e-(+on2{b4zq8mN}QmnKJt== zmj$sn#zom|S)bMLDn3UJ0bhtpyK~AMIy-yTcJQ6`QNthL&V#G>|F@R?_=1Kn+V$4P z^~%u062&iTcnx2n2bUN-+1Ca3=@P{JmALU-8CKX+74lJ$iKtDf(5>f6) z7H1J}%^9Cmq;~kb0DW0KsF<1?|JhXLUBP}1Q|Wf zG3vyTc^5k7<>NX2+@V&dGVI(a#HL|>@(sXrP~+1@?Z^)KTXJ^GbYU|V$GqFQ@lc*U zZR=UmPx&Nizii6Jrqb^1zA>E?894~#SxU1yMUIl4M1YsSWt_YnXXW%5R0Q=y9L%K4T4!Tlj70DCi}U0DiM_jf}_QQGIBw5g&;7 zV>3(eA2GI{ybCemO%)3`Jw_Wy27Qk70 z*dH`vwVjd3U}7jobTV{4;l=EPPkqpW%!G2joB2&|kG6Ax?hbIvQmKlvzJw<3PBRYz zW|pWDZU>c1!{70GC0?IdEJq-%YKEpXIqfQoN2E%+jG;OV*u%&7)S5I}CTTyEr;jj^H z56T%p%%!TiDou&BOD*6B!Q@l9E4So^qq$Qr;3;4+PiA=l%PWr@tMa!}j(&NL^caycgN6ys+c`8lulpb$m;J-J~Fs^K79o5oN!0(V2<2r3&IM^M$! zG=h1H_F`6gbm2oNZBQdv_ypf9z%Tgsc$D#PC2f@xbv~*v3)Lov**J!GOUd>mV*iq} zs!;F-9~8MT!-d^0Y*gTT3ctcWo7E!z@*#>FoK=;ssC}l}Q<0vjl!Z(V6 zQ3OeTNQgBy(TisOOCq)(7Z+e-LlGq;Nw7jNm+nfsD)=$u!RZX*N*)=U!O<)6TN`7O zor7g22F+HD;?jvY_QS>`-ZcqK8zI{1)|rgNrOPCnDNIMM)KkzDDsuDN5>)m-q5g zlviDp!~>!{>8I}M;-<#tBtDYF!#0WHwD7EMaRqz8mF(kJQSDdbI9$ViaV^fmbtaKN z+C;7(4e2fCnM8_(NO3k1Q{)*;iftw(CX3;$Qq0+yLXV4XZVh*1{f7?PIz&5z3q zqc|un?74K~v}*8n=Hm`7Yjw$-GX87>o=HIQxF$R5%yP5Xe$ld>Zo*bG zdzf!M!gxN)|NMN6wqC_wY>PXXQqk6GaUrEG(Um2rRKrh+$~Qq&(#|NXSDdP{Lir@q z_!Lt(!kx(|*P=1BAxYrZ#v|Cz_?fFjI)av{KX0!zjtI)I^w2Nmi{jIa;xpWGJj*CP z$0#1c3Tj624C}941EiiVAf))bG}C7$&T^7E8LykhCc5`kr+e1Y_B`Etfl+;t+p(9p zw7qO^#r{_5maViM;Rd3n_AB2!gslYq?jiV-_(59rvbOC>i+?DWh^%U literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..29b9beaed11976d6d6477ef647ea7999caee45e8 GIT binary patch literal 7188 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 literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class index 04b4c93cecbab0d511f2a8f5e946be20f1bdbbef..093c92c2bb953626bb0f918713d1b980c081d4b0 100644 GIT binary patch delta 842 zcmY+C*-ukZ5XQe#QVN&b_9Aox7b+CGXj-val@hC9)Wk^8h#~$1zDbO}nHXZCX?$~D zjBh@w588rNQ4tkU0YSxm-!~N8H;g)mo)}DS=Fa)%H*@C9ImuXGSnK`W(FvdyzfxLK zqke4xZ7kSF&3cj=tz)#wc7PK0G*ua^sMT0cqeiu@U&AE~STLv~ipvx(>~>uhFeQXN z7uPgg#|;Z^>bQm5ZQ7(fQF%{80q*PQ!FfY|b<91M+7lh;aK^whfjNF^Ei9rzyLUQA zU&!c79cR&PAkD%XDGcj4E%A4>P`I2;ERRb0y^d4pGVoEL+)o4fW!6BG-HcrZz6gZ; zNYF?*cwrSLn;J;3qW{ZxhWlR2&zA4966!KniJ?aFB=5NGlv+VWKS#&(t~V2B{brUR%PQFYd{4T^r(0^A2$~f#P|WtV~$^e;##PoWcAi;z3fCI@M0Efn65)L zmSQ&Z{E`$e$0o;@7i`C}F2v+bWV5qlt>A%NV9kV!=;ePsEa+q63Whjx2Y2yc+UOVfx*RR@jkG-tYIjyaE);E9K7avP~sx=K9V(=bkw; zv$MrkuYO|wz+nJoitW)`dPj8qmYb{f!D?f)I$W;}$bsN#ZW^5+w2OI9ySPv9Tk9FG zj&VM^esgtuwOFr?j}$jF8>8bRs|o&Ey*5@GZ!#cpKH22f{|WPAPS1;3{Si%RP7;!W z0!bf%wi6bMU2Tg+GjLDX+o&}Mc-2#Fj4;`dC>TR3p(SPltHdf}MpHHp6EfmtFeAIAHd)Jrcqp{lqcXcN z%~I%d9be!}AHFhB!q?&&^H}m*f>I_^!zmr#;|CvpH1HFC-n%U9r`)eP0{G3q2ly~7 zf0uLJ8JYXj!25VJjK2vzVr3vM#v<7z|H_ql1MlG7F!q@m5hqA7@CKKXN9>NY$4HYo zpMlr#dYIY>OFMaU7mBkHuSN!;t5f)1 znShta06Z{YB8YZ`kmG0%XAKaKEAcq?@=Tb*J}7vMU#L?I~QbjP{aiwffV1Yot z+o0cV(2u8agz=rcl^Hz4lrAyhD2_RV6;X~a>9zN)S;{ij9uo`&;x2LAAtpSF=Xgzu z*(q*|mv*R@U%FMF<#ss>Zwt%2_`EADkLN96Kpro!2kHV3Wac<$?5&?*J+pYx>2^0X z>rB!IantpMu4T*jWB5`}L7a+591S5xf)xarImOmUgGx5W)sc2}q+K0pM@Nv)_a(f{ zmYzEmxpq#`E3Bx6yBzNhu`=mWO%xYxB1Jr~XvK~N=GC00ehlGNoCJk+c`Y6AWe!*` zbWLODG`3wQ<=O{fn^{I1)-K@FEfy|lGaoKuYwjR7EZ#T2?Gj`bS z7snGD*rkqS+IGnnQ*q%H7hYl0Z87|1aNrm5ET5gfFonty^vXxN@Y-fAN%m9n<0Hn) zXY{dE^$9-Z`3m^(8FPGttG?r1AjTuKR9bg+{?<5N?!6?xjE7)KtZO` LK@_4eMUnasm-Q@^ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$1.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$1.class index 0c950c863c9db0d3687298f2321c5ea8b36dd0f8..b765e188b2e4dfdfc0daa42291342896b65a1c25 100644 GIT binary patch delta 104 zcmX@hwtrX5HU>r@8O@+M u`4^Ltp%#$M#GuWf1Eg6Pbb+KkSVWh>07we~<(Pn?h7M8;96&yU00#iWNf1{6 delta 134 zcmdnMc9xCn)W2Q(7#J8F7>qY^EoS5s^2tw5%n3^@%1lhkNu9im(S=2ykwJ7~zUX9T zCMU*yliip)#F-g1fLhoX7=dIogC>w<0%EPncbSw7wZS|c23;V{!k`Bv4ZtFL42D2j U2&j??C~D*&#lQjNGYD`108y?MrT_o{ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class index f803b0ac3caabebcf1633fa9f0df17bbae40a64a..682a03f6354168de166458d363a977826676edb4 100644 GIT binary patch delta 185 zcmeyxIgeA|)W2Q(7#J9A8SL2^m>3zPCLWa9sKw1RIhUz~#fFhVbmBqL$-kKTBa|4J z7#M*Hxr7+Cb}+~sU|`$;3zPCLWa9sKw1>CghW!oR|}qSd^KVl#?0)A{ZH1 z@)C1_l#owWVp*boPGVlVesD=qW?s5AP_85+vv{&GQyGf`BZKI~gQAlUG4V1QScCwYm_BL8Y65xDbj^L@EWrjSEG0Ra=d% z-(I!WT6HB91V0d^6^o!Ne~I8qmx9GJWzeC-fpr#3_2DCM`Sxg$q&U6-im_kLiRODIizX;N^3c#k!pi+2CN zKAiPxw)Ph04Yt2S@dZIiLWSAX{|J3e2sIL>lZ4~RUxZBYwc}lT(ONIygNpRQ2SM~nzk=YKA3{((vt47T+lAdZbLRYid*;lU$(1kL^e?~P ze*loei#PfSPjuPtBZsW~KI>S{>d$A>;=`a62XX}l-*GEn%BD{a^D~|)O&PKVX|0C` zT33s&!}jqpRVt>v^T+g1=QP-uN4DH+P- z`^INA&SbvX7fCkT@s%2_f-zDuoToS)s=tG^#8L!jxPTpwKFN>zn#&SKDaK1apdBK! zg)9t*#jyRKg8m}njQBgKZ?R?`p;t7mM|8L%E-r=WF1s+|u8d1dF`_PrZdXL*f5f(h zt+cx^Hn=hxQF7|Hmmk)nW!bKuZr4AFCTyxx{XJcA3Nly|2`{7S$k)**is_*Y0Q81@9kKz}sKr3ptjBdn zG0n$~9%`pgMzk!N(~m~nu$xXr8^*~Jjo68sPQ!L0hy$dR5XA)fB)i#6NWY+}(AZD3 z(ke&B;djv}_AC3f#Z9xnE;X5U8xU85p;#;RN1iZ8D7QItZA35zosx*cnotv}q9{g2 zMFJXb@$csF9e1$tNP zg05Wo0seu1A>t$yDK6&BnKNe|-}#4}{qghi24EV;ZTrUHPve|x=4o!-#s)Suwp>hN zn_ta$ZwA(h`6GHtO11(gqh?B zU#n2`wh9^q2bGQLNx1Zvqs%id;hL#0R%dIz`PGN5M;8=7{V}lOX+ZdRh0(@B>FhrVu(?$B)WKr z=oAm0Cn)}PQb#NYfNfOjJp~h^eMLY3qH})HAhZ zPQ{g)%*)jcyikbhq3L@OM1*X#u4=!%%@p0?kX?pBZ$3?dgc;0|Z=m7k=wHGLMH;D9 ItRs)W56p!}WdHyG diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6af37897eef8933d03e535cf57f9fc8bc9c895ed GIT binary patch literal 1176 zcma))TTc@~6vzKtO1CXjsa)hDDoEwxg$fE@xQIZJDio6vec;9I?g$IpU9!6c^~pp( zfQddE6HRyqKzLE5U^k>z}Xiaj7uk2IB{JGL?9Dmc1-9eltBfkreb zP#xDWZOu|p)7PI@aY#Y?nzpHBEzMrZ7Mx;5U!66jW#nAfaXDM7KpSU^lma{~(7{;a zN}rdH3LFbqGYsY~f#U&tl@fDC;6%XXipAV3&=;^_ZZe+~I2Euf%gkp42AHFkqXhxa z3JkKL*7F@#vdcMv^TC!CxxqXlaDh3dS(c+~Y`P?HIf(K=-t$$ADM*K>Tr90g-B%DF z(=F3B{fXc*Zc)x@$Dk*!pEqq;sFX|6UD8SxSyDw`)7R;N{&KSDR9s!on!K3c<{04c zv^8hzmgAZB%7XM)9Ye*eg2vrf4Lgdm7o_LUIUW@v^0qDAX-o4w?yUH~ZcBGk2aQsf zD(P14A)b+C922Bh2%e*cX27qHPQ*y%AswVQq-*gs~8h5UL?| z62?R9CQMg(_b^wv_cK@dpJq;k`?Ji+kcXJ-LLO!oAzx%p1^gB%B+!HwG@}*W=ppUJ z5Qa%da1}G8Iow2%bP0E$lN#87N9yAt9+5uA6Fen-h8K8A`U-EbP5K^R@Rjr%e&8o* z1e0`)vEVX?DK;>T_S-70EbK89*!CX-qL`vk5eha#8l`f9Yk?()InoANi;y)x*+%b5 HUpoE=Tr%=o literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class new file mode 100644 index 0000000000000000000000000000000000000000..56aa895a6eb0d3d101a0de35e42370223193f8b9 GIT binary patch literal 1632 zcmb7E+fx!@6#spIEYO;YSJVs*5)j2p7Y!}bG*LiDj2Xw57FZ2kF0;F6zV+IBe?V`| z^i)k+(~LbgJ@=3F-ZY(WNwB~NcIND!J@@nb&iTIo{_+*T9AXZbU>0Bz(F7|)`>rbG z;xbqqY*YU{WthikN(mxz;+Qj){|q#ZWc1vo@p zfygjWFZx0@FR91nO3a1g1Vc}4o^n7Q?y86u9*ayT?P!BjK)Z+zbTV|-3s3QeJ&B{N zo_-dSik^yzhXY`=R_Twyv=iYux<&NB#bD8?Ybv{@9s;D|6?UKx{Q|Cu7{GOg{z{4} z#uZ}*p`d1{V}&~K`6D(AGB~}Od(JIoGHznLT98P<4Tjcz=}-zOQhqPAp4ykwI)hP(H-!?FCZXd1VM(b|C4VT$T8S>yKy>vh7O-UT8*60)ogw*%tMcf2w|L1 z(2p6qYnm<}wgZzq;Zz;C4Fd;mlxRQYZ}%}F$OGrrn7b}op@O^54L zYeV=PHm#JZ!e+zVxja`=F3KO!@Eb5|ne5?3#lwn1m2*`E!;6NOp**CQ;8rWX%)Bi3 zCu#l`3mH1FmS{FF$4j}CtZqpug(P;p5RE2dn{tt%IiXAG1Dfr>I!B^VQq%Hs)-dFI zHO5byMj$S0`bvRsyco&nWpz=JG)>k>bH3pWj_NvMkY>U}_lSwsjP{qfHokj?#6%a$ z0vHzQZyFX@>Dv()84Z2{3%D#N5CX2I6EwdkIm07*JIM-UFVJ5zme7u6(kvlZj>4W( zL`KGwAJ7{3h^|xgj=iOSFL`lK8_^)q6QY+yXGA}pZs80=+h%g`oMJe!Z6R*-6cdT< zCgKD`W+kqfbDweR4SqQ9HSF`+Ioq(0;=JFm&$M&CVIK>7M@X0qjE4-ARteKJJVg|* z5W_db@eAv092;x`tAsk}429qnf93^RS2G?P5mpc}z9zB)dP&|#ao6Tu#vDY!uUmRr GZGQl*&y>&r literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class new file mode 100644 index 0000000000000000000000000000000000000000..35ba5d0b035f0fcb5bc0620a1f4a6cf824cf1683 GIT binary patch literal 2684 zcmb_eTUQ%Z6#h>&kbNWWq9_VT(YJJRMk6))gCv0w?iu2UGNkHV8c8W$8?RPiD*3?~nhIq$+I95P=X zj-J7x=14B7cnO0H5oe3xRM?|SYyw&7@G?Vh$d^=T#}!;vkW(>&ml---c>8P+B-^nB zuQHt73&Y*?q>@+K%%`aOURCiLUT0|IwVF-=^&ileX>l~u$W8f+d^_I2bp@j;-b9|_ zZ#X_+o1vx3YYf*11BnV-^C@Z)TMXkw(QrC}w=k*ThKidg5S);|f~o72Pt&5RP}WVV zXQRS!&G+k;QDKc+CGnsxj53vGARs^FeG@LaTPmjT4jC(ZmKjEZAVOz?Y4&Q1dT$2r zDtJ#t5wi!1kC=Dki>{hhl~c)$1_SkW^Y;RU<68_m@wH@4-d1r3?^9Pe?qukrJ9jl_jaIh94Tt#K%T}=Y0p} z`#T1nj3n-u#p2@Zyr6bS>AbqU!ZZ7#%m~Bqkr6dzI#Dv~R#{AG5=~sr&#RIV8a{Kv zcBV}^Pm?!I)3F_k*Jg#YX0F(sQLH2&u&SVv1x9IT+t1VPViMOJBr3Z zdo}p)?_ja|hdc+<+*r|tohh2;M!l8~7fnEN;Nanu{{KzSWzbdlY>+^IS6(_L%@O$| zHW)4i5jE*GUqtj(6Le!3Dn7yeB<_>oK>`+R1&(a1IzuMJr&pd{r%mlK`cu&3fry_Q zhkjf9#~3-xM+^^XYO^$BP-hH7SOuNiwxF>PYrH*Tdv~^iuNVeGkegM5f^X=xa=a?t zSYGMi0?{0!izz}62YNcts!QJdG`|*I>0PwYx*Z>q#u7r-_9LK_Sp(Qk^>fbS5;_vGLQ^x#L|;60Lmj11{Xa{^IX0k=}8lt0k7)RO%T zXSdN`T56@$z&3_TOKr3|QCf=9r+Wv(47+#**uk|3Qe)3Bv4giGC_TgU&t%AR-$79W zkLl)rf*W|8OvpO&T@Dcv>9Q-kjX82apZ;CU1C8TeOiu{Ir=%FcXW;HPhGqJuNKz&T i>(F7MM#eVrImyqEEJ9>%P4>B@enIHJ#MgL)zJCFidj&cG literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class new file mode 100644 index 0000000000000000000000000000000000000000..55c03334d106d7a832f7848dbdcf40e140b2b31f GIT binary patch literal 1336 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 MemMkO?5&La2lh8jL;wH) literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class new file mode 100644 index 0000000000000000000000000000000000000000..f9e88ad75b758dfda03dcfb9930b1085ffb291bd GIT binary patch literal 3117 zcmd5;TXz#x6#h<{WRi3WX}E@KffUkE8W2PSl>h39q3+X}!fs~NCG+*Pnwy$F= zY>#V3o#zI|qlh4?Af}=lD#MOWr;qTeWzTy^qMD&s%qlkt70V0lH7eF3&Y;vR-E_Il zu(=(DXHJMGRIC%?p*ev->}*i65t|rd6<*WLvR>j2L%cAf&1u=Xs~g#Z?zp)qlGvhP ztBP&d&aj~q&_fLSQpH=kTbdrxYN@73N>C|DYBI$TxGdrCRMCfB3_+LpBLdp66SYmP zTnu}VQqZqrFZMBPYnoV&R#TWLvFx&LY6e4BdLSRc0G;3O^quT8EUnzv?+o_UTwBhP z)xQ3+g8k&XbluR*O7{HZ3@^EYr2{I41aD!RJ9Wd2;UEqvctpiv9AVh_Zy;lmafXO+ zeUws)VSReQBUPSUbZyRh8;e{w zUcieACRDtH%M`L@!!2i1+Euk0!?6Ze(t7)84URfsi{L6%`Cts!aYKQoViG0trp?^2 zWf+vEmQ97L%upMk%wjm|57F?nW*7O*IyXzyc6`O%K-@e+I>%K^fsRm0-pLFH{XVqm z_`}?Yd;~gmA{j%?Fszc+QfCp&65TTVqLQkj378B?BEGGXWCvx47OC-RZr!F*%J>`* z-RVTTme=u4QN7&zZ+murC0i@*FUL!E(t&a6cEeVg{8(GiO+H$$PICK_Hfhk#*Z(iD zs}L*Ph`LsxFg`NIDa(6`u2!0*zTfa9VQAIKvX*L!qz*C+w!7zb%B7t2_eQ#sidNk& z@w2+1CMs^gAwed!)lu%a=PYqI$In=nOBt!vMz}j|m7TR=ydJ|FcvHb!D&EFB47+6r z|y3s5r2&;oig$?yVt zGf8Cu>%Suz28VvPAWXkkpx`QcaE%^J*Xi|h13RHLY`7#@#}WD^3+y7vGn&KSV{_&Q z>{!I^p|9wKKWRj12+Z4QT%>V_#&3zV@)I%>T_ilXh-`5pNUKK|alAMYqE(OF3)4!u zj}yiFIP)dGNt|oyc#=Y=S4ys=b35^DQ)hKM>mQ)N@DO9b1B?fdxN;xY9-th6XMHF! z9bOIbGR`3TmOKnd9`{P`Ins2STtNkQF-Z;; me!PqK@F6~;o!un4hwy%UIw|w)6T+ONeZ(X96rbZBlK%jh|7O7e literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class new file mode 100644 index 0000000000000000000000000000000000000000..8c8d0dae204bdc450e33f388bf51d26af8468e20 GIT binary patch literal 1424 zcmb_cTTc^F5dKbYyDeLxY!?Voe~*bz zY6LHd{s4cJadx*CNXwhup3K>qZ|2N=XJ-HW{rMZfGG6=OfRlqufEyl$?n7NF$>(ML zB&n)rrDR5{8VsH#MN^C?4BOFc8-Qq{b}uS&y2ZM4i#ji!A4U-7Fe>0a#%^Jy&N%~D)(;d-QW>1lScXT0AzaYIN-7+wPKK@e z!;#3%J%@3It|lW}g=4vB_z**!!-RlIOfmE|N~<-)PK|lqtaOtag`p=JYbDl)B&Io} z1kB*!jdN_~=~@oUdP$)j$4E-&%+x_XINuau^!CNle0x%f=xACtPSnI`BO)O9CvRXbMk~_1CCU2gW3bMW{ z6;#rAjdC`d-`J5W#6ixGiYL^HHJdM2KGloznqmRXK1rAt&A@NURb#zuPPCBGG+AF& zrD|2KlBL;Ae0|(7O7uDCE8#@IoKD&W%$c$z%?wEgJ#IV&!wS7Ug9{##q4>lk`vw-D zx&#*wxh~<4huoJ4d?q6!7|=&CRXqkE^tq`qcTH8U<^9v95oCM^q5Y6qmXy?!Exk&_a-;wx$`QRg09pkrEVsOq~ zS1nv&$#$~>SS~L1iGn+zKzr7Vs8}c!yc663Pd+I2IgP;iw!ZURZuF cv1UmJUXdIm{Rl-{UkO>vW?+78=-0*n1G@cQ*Z=?k literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class new file mode 100644 index 0000000000000000000000000000000000000000..32e297b5c47decb8bee1558fce7eedcadb131818 GIT binary patch literal 4196 zcmcInTW=dh6#m9>v$4D6o;HC}NSd_qB{eM+8l2u@2pF6Txj_O1*7h{rbiFp~b=s6m zOW}c6-uM-WB0><6Dk1TJKtkey2Ojtuu61*NKLE#}ep4s{4eCIo7X3zfo*Y^(r zT*4<|1kj`)sNx8k8QRyhbuD3N=4xU(yT)@iL-Uw!>h@)Zrs2q92rURH2&*^>m7(jp zr4{(CqIEN280&>Z+AI?yXm6A_!^upYr-Ne2JUvf}ty)#Ip`9UMZ!jG9t)Km8VW)~N zbQ2kimn#PO==CpN)Qk#GDmcb)qMqk@ZWV<05PH$4;87Kii5Tjxt+FJKxuTgLx5DVb z<3gm94EC_kIc>WWneV9^hkx2-oY~QQ&bD-OHR+!b%J+53toQjLi*y05R&r1ZDj<3_U(M z1tSJ^mD|@0ebp>*lMV}=+_cc^RTUYr)seDYw78g=QZel)xXMckUXz`MRG}maD2y4* z39;rGKJ|-ru+(QVi<9YGp)_Ohyq?o+o|Nk1i?UiY3Kk`lQrif7 z#gdb`J4FiKWEiMrDDHz)(Olv;OKbPFLgM|Y!US1hW=&;BRpV?N(r9xo?lIs|pP4;jALH>3UBp$&^x z#!<>JNB1hjjeRprdoKmasogtO_Yd9Ge@IN_z$7GR)vvdc9+}+Xxnjl2@d@3zHpOe? ztPqmn=oBy8)Y#CaT2^qUPA4GVALpnONSh|NQifJ8^D;w=*h9FapVfYtA-vNg(qN}w z66?KJKmDw}QW;wR{b~#LQ!5{!?};XKi0=aW)gjt-$5Maq*Z{rhvS7&3XpB||$#zG# zz@o8DDAD*P9*K@@qT>P0Gvw+2F+zYE-XI1L!YQ;;x7&pw0&-lZCn4(JSG^t2Kq2oy z+ctWZzQ%FdHNJ%tU(uAiSuVXELF;)-s z4S^z9+XWH<6KII&ogsE3TZq=u`;I^f8E8ZT+9uF>8R#hq=plhF$Usj^KtB-Zq73w` z1oR_;F5#vpM3hECz0Pfnk`T#Qw7s1P0Wa5T@e{2~!SHZ#8j1XNySQtyXzW|O5U-2; zh1OkMe0M zNm0P9+n8C3M`I&>!7a?zhWR^TER;Q$gJ^bKs@qstas_?87V(GY%_iguD*g&vCSl)l z!SB?9|0EUH9kRD@n`|eY+zo0(7pSuzrO&}0`X+dv=ErHim;OGu+DCIO_>i0pk^PA5 bDA~JYXUN_oyFm71vdd)elieUZ+FSkxg5HFH literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class new file mode 100644 index 0000000000000000000000000000000000000000..108f9028251509a528195777be4873c906a13c22 GIT binary patch literal 1755 zcma)7>vj`W6#h;o$(#(Qbez&aq1+0UB(#lHE@}c6N(zlBJ8^yoE2~VxQe8)5}^lKju5%H+!Fb&c00E{PV|O0Ip!eL`>k+ddqA0 zKQ>!G>8C~WDs=0u(+f|?BlEP(tOw}&d!+PhcKsp+b|dS|Ue>!KY5$bOHS!OA2_t?iFVP*G@2`U!~@z1H@pB`Uo3_4)2Ae1iwNjGRsC;_*!Oe-x4u@vlRC zwz)=m8!XpDf1%r0^;=8cYCy`RJ?@;{zejeqLqE4PFuHxcPPavS5AU@%-BA{+LBBvo zCQHJFNRoBgi~AqoDwWT2o84B`pR4POq<78#ly1hEX-eP(eKyq0i2f7+gf!ZWG|Y@N zy^J)jj5ME&G?0umgN!tGj5KMqqpjPL;HVxl;z`=~As$e?Z;6c&>Yvra*zb7%HO~D) zOyE0uCi$H~_IY^!*~eJ59Fcp8^RFRx+Y5@g+P6PWs3RnD&oRBzbOvWEe;V)kIW71_g(Td_$>6OcASK;kGts)v*A&eIx@@Uh;H^*5DC|9*Z& zk(^Hq=hGJ`K7+yZv$!+E)MR=+;mk6%n3j^x9Mb`&w@hcAsm=7ZbjnPJm@e2!XOVfD z`4_h7e93%-`I0T2W#*&Izp_)#*UV48#Jy)2dzZo~N*pLfgLHJ=Ba<*uq)XkV3g3f; a4SN5C{yLsw06$T>WBnx8@ICp(P=561`7sDFwF#12Qr_LfdeRN&Aff$?3=9mm47MA&M3^TRGq*Y!GcYkQ1I75YwlgqlX>Vm<*V5U_z`GGB z#K>RHN=eoiE8pMO!tO38Da%WWQtDzYD{I|fVj*S0-v96qtYv&` z=AD`5eV+cE*7w)t3c!SU)G?KcTFZ&O7~0O<9xtYYj|h0yv-wJ(WF72+sJltEPmUm= z_!lff$?3=9mm47MA&Vm<*V5U_z`GGB z#5h@(MUt11!JI*tfsw%!D3Uw5k|ltVaq=k^Sw&_B3!n%SgC&C%m}X+I2GU$Wl^j4( H8wM@_IL#5+ delta 206 zcmZqUoW;d;>ff$?3=9ko3=SK)QbRxlBLhoGMrJW1gRRfR zL~BOt$?D8~GLZ~S49q}%{94-?7`3#wGO%muY-Qlx2oz$Pe34nw*c`}GfGA@~ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class index 2921c83c94bb7602356ac2a896d130a406d3838d..07341ce0569f780d6ea433fa20a16678d6869fea 100644 GIT binary patch delta 125 zcmdnRxsikG)W2Q(7#J9A87wz)J!YEh!Q5=A#lQrF3=CXa+Zh^Hb8y0K%N!YERa4120N%(%nas0 Z9utEFgC&?|0;&R;&&a?56t!mH0ssiE9#Q}R diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$UndeclaredUseError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$UndeclaredUseError.class index cb30da7caef1eff4e04bff9fd22a99bdc41039be..b66200058d88e97380e2069674569e4f2a88db57 100644 GIT binary patch delta 109 zcmdnbxs`+K)W2Q(7#J9A87wz)J!6{e!`#BCHTfd5s4^pi5m20uff-0DGq5nIFmN)c zGB7e2GiU-yL!fBdWK|YVM#jncEV7Es3?@JkCI(XmGce7>U=F0YfGRnFq81EX0G$pG AOaK4? delta 207 zcmdnWv7eLc)W2Q(7#J8F7;H9jJ!6s+^2tw5%n3^@%1lhkNeuxJj0`L#8JWe547NTK z6RjDoC%6 X1`7sDFwMkZ1*ExvYB+$R)(l(#i!L8t diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class index 15dc103723ea3e29e6e0332d599e79ca92bbcac4..884beddef97db8c56a9ab9985f59554ac1b49168 100644 GIT binary patch delta 419 zcmZvYOHPD97=(*=K!m_#h#kX16m^)VPuzF_kHBfzyKut+^a!#dk;J77Z(zL3WC~2M zLnb8DPw{=-oqqFPT<3fH@d@A&54H29RziEOezm76*MG_w3Ln788Yndf1u5U=U#TlN z#|6J_Tw=!VjPnV!{;%D_DyZ4-Bh4nB?Ze#;_hh{6_C6#(ANW(~{qhGb{2~l!Ok|@I z0t$;kkj@iz8yt=CDe>iiOY4gw&BEgb@z@YFR{uuzYDR^8F)^=T&4Z}e;EL(OfItMF dlZ9(G85;`;Zs4#>aLe?Wcg%=+&lJoY&JJA!Cz1dF delta 599 zcmZvY%SyvQ7=_O?8B5aGnxerVMJQfs>_x5huDB9Jmm+pkXf-bLI3llP#b@L`u6q~mP0PFV+$KXtR9HrwDM#j5!)?^u=3%fYo|UhI0vLS& zcV57{WFnZQb>w%5Ir7H9&m#k<3=42*s$mgX+L<9=6diTEEhjZ8sUe5FpD2V0C_Yu| z!6?(w@echU14f4emI6Qtst<_ukSHfjLWpV3|8y`VL@emA93YBe2dm#<@_&a32@qal zB>+er?6Q-bq7H4&bMiH82@yka@D8gXLOgQoT27>fBovhV=UKx#sR0ff782y5*r16+ alPJ>Igif diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class b/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class index 6fd0d473eaf8da9a69d201d406eeae771f437c42..108ed5337886b0688b5b76fbd94a1dfab936772d 100644 GIT binary patch delta 76 zcmcb_{E><4)W2Q(7#J9A8H6Tsy`5~s=xVCPzyyR03|v~<85p&+w=%GA1o9Xe_<y_FU6$xlwq2}>->Oiap24FM613@jxXnZ=9@Y7;le zOw8kCw4V6YJguM%UctjUQW!CC z1KmM9=bRa*7d&n*r&s*htfMjhW7et@1h@C2%Ui6dIz_1A1*0aQ;T@q;mX$nWC8?Uf zT9Fvxlw2nOl4#;0O0iMaCnej-cDNzF$W4^UjtvzK)}b6_IE^!&u8s%8ai5PX{H%{h z*|I}EO_gZQ;rx_5q?4XS?r~s$Lu4d@Jh#xU6M|MpucF)a9LDW(Z1x8bNnt_ zg?FIS<0<~(tnziyEc_a-d%T{T%M*KwC$d9$4qYCv&7Ui$M?N6cl5~!#bEs}9agL{F zuwg>>iz|19_52fgmFxQ=vBOHys2h>LMky4tkz}?#k|?-|Uil~GHTtCPE(U}Q;i-K2 e{8=H67UIi7e2q7vccjw7I3}gnx0uFzxc>qAYkq$K delta 1242 zcmah|S#J|p6#lNq%XqNIPTGXH1!KuPByLiI3hF}wa*GrZ6llb%CcI4SQ9O;ejweu- z6uLrNws2VrgnjK6mZYQ&4RoPwr4oOjQXhFi3Qv_Ns(R+evg`-MgOATW_k7>^&benM zqbD1bd;g7J2N1`fmzBTWGpjpt2`#-^GYzdLt*^8VgVRbG1%?=()by>MSJMF8ra*hF-SM) z;J`+*ZgHVv6ZyWWBy7e2oj!mItrXcn{#HJ!wlD{uRBIO4nK3xYHWxE(?|p0$=w@ui zeB!oa^N2%&7a!uIB2NeJ4Ak=afdBRK>LF3RR-ozx6Twl3kBNz15T8`wqZQc5bFiOc zTdDT0KqdB-XJEJEGg0?*d{M+c;P(SLCh^u_XqDanJem!VENM+*2X<1f9ot1{yZ8ekWw57c@qklb`>?;HEg!7Z*7gi-2XIhm`x1wW*fo4OIQxzAc`gyy z2-OBcC5<5*7FauWgggf+7{bva%Ub>@*igZ;tc)dGVhQ7zm=36~POBYJ$=mLe31d^=KvNoY?Ec_^4AarTjfc-L#LroJqvYoZl z9`>;ApV&*Kz4UET`;ekdpuJ7nUo`EZ?ARe8S&=49k*@7?@A=MmzH`papRa#C25=h( z0rWuN5G8ovWf&@(a#ek7n2*wndzNj=ioI&eCDml`&TG16FEA{{@(1!aa#}OeYkIA2 z7j09OtJ$`(P`Cff8sFmZF$}mk6luMK;w^&d^DWx?&q7#B6N$4aZI>Q!Q6i#ZGrP5%3Tq9K#YW;T?vNGp6U9W{@;% zQBhRO()KDuUWmna9E8gf-bIuYvQ)csUySWIijH+DTG%@v7LMDvgb7?_=+)K7Ym|tr zD+D^(l}7V)mn5eqju^x6n|;wL5J!UH!dXJgPZYIgYliN}G?E-C32D67MXmU)Wvf-n zOEpQ)aJzFhsRvr^?FOO#z3BHe;WHz9hlf>n+? z64r2+A>^v7Q+j0@iS#BxGV~Z_hU__cb#`ZStXgI5LdbIDY2dq|3pG_QxYY|_0|kyv z3HR_xOW-!Z3h|)%>UTS;J?#uDr+nH69j@6^Ms4F+loqpp-6c-z+?Vjc=^KG`bI5!u z;WKR0lvB*kD~4h9{|D^^q9M&eaF)*{eBsnyFzeJiV$LYhyae-_u5Q$;d#ZU~cE_@> zXv@l@b-Ct#bL^2!=ZMb`XwQVjK~T+UadIxScPLI()+pRy*Ic#=xJ4*Mx2+uMX_lLf zl5)z2QR3V~_c49zof5mi1Y(|iK*%2E3g;z&hQnj&b1E=fYZ&%oMh>nJlHIG z2WaQ1=LmdT2>FZKVyL&6XX{fN$>TXunDc}^Vex0&ONKo&8E?dUh`tPuaPbKJbiSw9 zz=e!2;%ngIPw+>4VgnxzkA^rtV5DGzwM79J!h1_pSi65y9j`(*H$DU`+>=r3Ik+Mq&Gx>x#v;G@$+fxE5 zeTZdxe0+%YmncqmS+-tbXCv9bu2a0G3}f)o`wZdF(*MWCN;t>tRmy4 PN6irGAjj~~h0y*1?M($A literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class index b620eba70f1019f74d33e9e25e25ad547c923846..f2320239d5bc63d6fefe1b4353f58398d413542e 100644 GIT binary patch literal 3454 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 F{sRpo6vzMo diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcLexer.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcLexer.class index b66f3db142ac3dacd690466e54a003b23ef9fdaf..037e9281b870ec96a88445b90517c4e255b13594 100644 GIT binary patch delta 452 zcmeBizwN?x>ff$?3=9mmjL{ppu8B{UlrWoIEwOB~s$?Tux(ov&5Hc{ZY+{(b0Z214 zdIL!|uvi46E0E2==mrsCbO&)5eHs0Lq!*Blq<0~@-Z-EMD;ZWnRa#FrR8Xsjn9aw) z4Ah&DU097Xqbq%x70dxa1fJy=x9zzu(S$zmyWj0Vv5EdirkD{y0 z1F8(hX6A8pm4!f+A=p%&LRVP=R2j+`1|-pfXstZD(sBk4#&Cw45T%S+lm95bWn`NC UN-32wVsehMBzq(ff$?3=9kojENh$u8Erq`Q#@j=7c2{WhN%&q=tY9Mh2FWjLc$21}UHP z)V$Q9#FEq${osO}WH8~AT9I00J^7xv1t)7}UO{OIBZJ~(M=`OtRTi%l>B2wihF zl4cgT=5Q?b9!1xhholu@Zv>jXU~7+WU;x^W90i3)ni2L!V$*yI-Qp6gdZQSlQ9KN` zcr9G71~l%=v1sOCjA6J5(ahL3`MJVdM&`*^6;owFsRR@`F$|83v5Znc-d+Y32#Yap PvbB;VdpuB#i7^2Hw8COY diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcListener.class index b148f03886f3d1e08f4cae981b41b8702c2ecf85..f4567f9ecb793e6c375c1adcedf5fcdb99da7a4f 100644 GIT binary patch delta 29 lcmca3ct=p+)W2Q(7#J9A8A8|@m>3zPCl|5^Z&cpN0RWZt2$28) delta 29 lcmca3ct=p+)W2Q(7#J8F7(&3zPCl|5^Z&cpN0RWaL2$TQ- diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class index 2b4a981d0d51c5b430f119f71adec73a20c83eb3..6ab375ac87ecdcca69d64085e3dc2baf2f29c3a7 100644 GIT binary patch delta 443 zcmZvXyGjE=6o&tqiP>x{Om>N~f*2J+*D4o{x42%S7TWs=w!VSSAk*4d+a%2O%%zEr{KZpu@)rX6{RaosXXNd2&7O_+ VabUebi#}j2!|jLg`2>#O{{n%7GG_n) delta 783 zcma)(yGjF55QhJAcFmeZFj+~&NJI+@V=RpKTjKp1uL<^10xl%p5=3ppN03w4*yI5O zZA2_AEqnz<5J5#z-$0z*tZ^e2vM^_M&V2v;oH;5#uW(&|UR(m`M_d7Cs5;11oi?mX zHEMKiIgwgSY-)+6R5Gpy206Q;Wf%g{gPc#)@^Wz~9lMyuz$O@^?knRFvKpreB zO=+2Iay7Zh&?MYawMfgV*q1e@vZZCT>>AaBM*WSu{5=fb;)y%!-%~?Im%pS^Jj+*m zAxL24xHRCZmChiYP|ndp(Wck=4O%HL%lDuS?exdcfo6&!$}N1|U;OQ#d?&hS3h@&p z#0_yJpxV#i{5}89!Yk(dZko%{Ls%zzO&<}_Z}WCoo!=XzmpTEbN$Oc2!o)Cm;4|5< z*sytu*ar*iD6kGhXtO#yfI*XuiJZ+pEEzB6&}Z>SxcQTXR|~v~Aq*2YLXPOw-IR_N z33;dLI8KdQeFJ&D7t(wEuihBO$%MX`v}jc7cV&yQcc}csBIGL=^U)qA$;}jT`Bm$c j=#Nzu`8S^?-!s(2F^f6lWSFN@rHV}L3$WA25QF^-wCZCR diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class index 0e6d746a7ff1758f28b0d8db3ddd105a9fe417b4..14c4b3d3a7a2e7464bbda87fe9552c1418c43aa8 100644 GIT binary patch delta 360 zcmca0_>!0F)W2Q(7#J9A8JstA^)gR>$ZRs%i^YEO5tj7Hn^>RLD>E=NFaqVdwS*X% zw=pmuU|`$;J~^FTR)Yy_Jr_tT(`E)irY#I+Ky5&m z3IdgxBPl+Crg%G0@eX9g77Ug^Q$P;4pRCED8iH){ZU!NyJut;W3|2rzObpgQYiz(Q hTLwEY&BEK8vxSnzXXH#8x81&?=8ay(}o2 z{1BQ{6)RA-ZDp-oiuPLEy-?!-L-p^DyXo()Q8%kbrj)mQ7X%my4H!BTmk^I&1)6fS z)9ACe_z9vE2a9RwKqt)@y3kEy8^uuDYc zVVIYwI-{9aLcu{)7qeUh<)a6^1Yzhyzbj_hW$ES<>JCwEKBCUJK|P1f6wa~yHiw@h z%r81TV7&y^F@Qk=4ml+(OyTfP2Wk2mC%vRAB3=I%G(vxZJNLFJ)4t}s;*oR*o!@&v zk&>ba#xPDYCP-27CG3^SAB{SuoI9JQGtM~CEan`qVV-=%c_a-B(4dgT$USup7{{OSCU%a^+1U8sy7S`*VjfDeY7V)dv)rk0YM||@*AcQ5Qpe zoF5_UpT{ztp~oD9=FI)y0$Crj$v`dC599Xi>N4*8jDvh2j$DN08J zbgxdwC?;r>-FP?e-1U`^fu1u#9j>3$RkJc{tIR#QO$^-ODl^=a^Q=e z%S@n|R8N!YY2uO^=eEh5g7O&aPZo>mNyNjSIaf%gE~+(q58Akzqd8e9sw5U^ASMwX?vRrTko&C3T zUX%4s!)jsOoYvVy=~UyH8{3I+B3dfN$KnyRNZn#}(JssLrdoEFx`65_bWEi%Zjqd< zITxxmnAg)5>X=*eC2DTZde!i*2RekSqYpP5p~7Gf>3*~i;O!u3cp_>U?H<-vNV|z= zK@Xz!tMA$^w8uI62uHsP`XP=U;pp3-ALi%-9Q_*T6LgY%uJ1wg%6DKi*t9~eTW#N^ zNARPMPPv2PXw_neuvj1Zb_@!wP{$o=+B)!cpb5^?Am`}~(5D$s-TPOlXRGv^o~JQ) z&>7E@3V`y20PKgSh5)<;?ks0$4`=8d&`FNo%hB(GKF86m9Q_{X6i2sl^!uR4Il7Od zKL9bC&e0!(zQEBP9Q_ICG)H%G^rxU7<>)Ss{tWa*j_&5@ z&p~H6x`(5`0G;LNAV+@*I>*ty9Q_sOJV)>1=&wOfarADE{s#0Vj&9-TZ$TG0`Y=a- z2fE17Lmd4*=n_ZwbMz0OFLU$&NB;;K{~4oQty&r?L|`e|eheD$-(|#YRNqp`# zP@m*i>d}6qCzL3O9t?l-zeEl-iu?|dKQ@XyMNeZEwZ=1^lL0sxzCoREG7KjpKDrr2 nKZ<^fqdzIA{k19<^h)b9u=lJBK1YVz3z|XS2FFeKD^u$~hc~cs literal 4636 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$GlobalDefContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$GlobalDefContext.class index f8307170854262e8f952e1e8c8b581868a327759..0be78512543559c4e647426cdfd16fabc919935b 100644 GIT binary patch delta 975 zcmZvb+fLL_6o&sE=nON_9!zK|Gt7`dqQ%7MjR(LHIf)J^if09lG2VFPg}3t%eGL^5 z7>y(olmv_r$3)(M_b~q5Em}JJX8-Np-&$S!U#mZh`>yrl&zB~EVLZz~Rp13@b#M99 zjK1sx&c$fxN=aziq@M@E}V#D{S?PF@L0xvqNh;~#lam8C1m z(yfxdBBRSPdX4l*J6-p!UK!pXeifrog%2faXk5m3>;{gdZTO5a9;z4@K@(g<^Fp^( zD&4lbh1+&Ia2>q=B(5bQ;{LcSiv4lZ5lx~~?bqq_4~9>;Zkq|F6Vvpw?cE z7ggh>tJx%4;*|WquqIp@D11WqG9RPv=7bMh9I*=2XSFMmcw2V;8gBM7Nw&Qm?=0y_T! Db`xT9 literal 3790 zcmb7H`%@cL6#j04Ssp2rs6`&O#bTQWB`vmE8>CPQZ8T6M5#Ns`T*AV#$?R?z{8Rcr z=!lNuYo^nVGwP@_I-`G&eX84-Wy%z|s(57_4xM z+q%owv&EWOmX~GScDSvfgCX7W7V$d{n#?giDw#d6?bxk+# z@C}7z=&f*frEYS6V=7tL(s%W&sauuooT)obE}tq??Mha+T+`0(Ud!5b%Qbd*)>9im z=Y*1Y9H-FB&`Hdt>Nd9+#*_J09InlIw#4ln!_v*A>N?M9IL(l19sNSxD$m*#M=92j zXd80Tr4;XQ%MB#!nK+)s8HT>&!8;5Wnxjv7`KY^wnJpNOO9G!`xYSzUs&3!mWnbP9 zL#FlN`MsLW9ml9zzP=GWuiTxwO2CF4j5vQvD|aQ!nHG7Li@WUGc_ zxK)yo#^pFBkR=(rV$X*%%$!U{z~A@Rws_gi_24QdHM|tZHC!h*h2~s3RmN5#&njIM zhg37SX_)J_@cNAw>6dWPE7Ii3RIea)nuM4?*NO){k+p4DcDyJ?W!$J@NaPw-*=7`pT8WC1yPC`+WUb)t^7G`X{| zJi9W#L{niywJ*cvwjnmOIYk&-Q5>@f)TirISij0mSu7+pcTIYKV(PWAQ zcF7STfDBh!kRNZP!$Cvif!txLu|w`?V=li7eK5%*S>^3Ty`~)ADdvkOB&L_kyhhQ| zplIz_pH#JWF0@BA+3rEmyO;m?NQ_e1eBm{so& zgwW@O(AOy8s{lohFX48WgmYmMz7F7zLYND~pAW--6NXAB5uPu|S0qCAdnf zsG^om^dI2q#_+!jz%>>AT{<4YJ%Y_6uQGXyDjA`DGDH8cG(&$Q)sK?ujCV{?5dg2_ z4I*JEU{R3;$}-@UWuTGlVL;bWS(d`mG7^@SM*;j%S?-77JHzmgL-EUavpIx8FNDFy z5Pk|!9ECtXKov!vQW}+&$&7r9;V)&@MQ?S>6#h&-_KT!A?;Z0~s$m61BB7$9M9CEe zehaILcAQr6S)}7LpV8~qUju?7zSZBxI|^AOCQ;)=<}pSe;8f-jM$_NpLIgrvRQA26 z?RWI!56R}0JK<|f;9a~&eD6yH>!;ff{_h2snqTlIz2L7WeZhzLh;$3H@2CidD1!6@ z^il+AieNl~{S2*FXr)sffk^(Qq4!VVMMHihL--hl7Ye%sq;5AB_QnOBn rBH-AND?^3WNh+Y2pqum`q$q$vYagv!w2HiJ(>g$_N$Vi3JLvikal&>r diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class index b835967bcd4b62961b009117b4c6d754c5343ecc..499bc835362d3a938157261965c9af35dfcd11f0 100644 GIT binary patch delta 581 zcmZvYJ4*vW6ot>u=CRon>#i8ls1bu8YhmFdzG93TpV3B33&FylVQ-|MeNn>z?4?(J07c4_baj(FUv;! zMAi~thdG!qNF{yC3}C+S*T6JuLT!t4))`E)PH}HIf-S#ms1tobu7KHy&dX*plhxfW zc{2CsCd*d$seUebK92>6@U|TLZ#2&d;I>D*!XhIH&Zk66tSVxj5e0kN_nd5i^aq@F z;Wg1xE5(sMRHD;RH^h4}5c!YLUHRMoD|-C#0DX0?^dWA!T1GkI3-Tc~I3~g;wUtub z!4>ydp^7i>5?lQTXD0Fj%2U@oQuCy1)=(j!1}@2Cd-OnupW%sG3-+Q{TIX#Wq3b5L Y!fs%jy`TFrhS))hpMff?!@i5u52KGfK>z>% delta 1036 zcma))%WD%+7{$+>nIq%!sMTn#iS>nxSON}2D@_nx&EAC~ z7r_T8DCpL1qIFT~)<40&!L4*5h-V&7#xM&B+1Kj4#?ubUim{a;J|Q54o0B{Sqj$@HV1d#Ie>=As<-Q-KpWNs7Q+ zT&hG|s+SR0y;Qp}9Jq1Qxo%R{C+xIJUF=@tQ}k|Mk-+)Bn^X{t0#tCyGjkee0$448 znWe8Nyuh~7CJNR%iV9q)>U}UNcbxJXS>;V6r5SQf%;PM1=RAeT@>qotPLRKng}Er{ zElKbGmvkN%INrU?J90+f=V%d2?_nw*BA|R|DUStQq>n}F{BPW?TtNpY%c`w1t1;Zwv-2OABux5t(EXBnUFzKzeh)~svqvrb|P665Uo)EG88MD9Oa$21{{8E2YhjZA}_ zAgQ^)=)Ms7XXsyJJs#5_+l`)-L($;{qx}ykws?(q>Tp2^-0hH^GUgIPFE!drs@oqn z4nAUk9t#Oqw$1i|Vd>r%XC0$}6D-ojZzvF3`U7{3`4Z9mwC9YT^R%aeWdhM#tG1?x lw$gAD2AAKkNj|8`X)7*u6>ClfYE;9R43}7k<`LL{{sN*&F0B9n delta 873 zcma))OK;Oa6ot=>tr(M5Nv2XDNkMFoz-c8?-ZZp4!Xpr9X`=28vcMuZB{7j&1QG06 zRI`C)5laws69fwsR!IB>cKitzNL8=Lsq0oOkR{*o%stU!PQL)W`s_if*i6@77JPt)!Aj_0%)CaJR^|8i5l(oOkVcauif z?YMr6)+W^2FFiBPklkr!d1=eg)DVzPl#7kV^o-olfAmVwz$lYpajg&S6Ad{^^iHVh zCZ=dS61LztPS6*_Nt~jtV>B*N4due@Be`4d{X>45WE^J{=4_8jz?mf*oNCe%W}%PN z0OoGiW5vpbZ9^+0z&T74gkc}{4`Ee;X#_K@;`nEbt*Z@#Ona5sr)*CY>=1gYFQOSJ z<2+GFiy7hu;b!T+Lz5F!gEg+bkC5Rpbz?bsbW9gkA6J ziol(wPCRtCj0{#{QAK1<;4&%%yrL8=L&K}vJIFtY1C==F8G)YvFX$SslfmF79?7zC zctwvndI5o#F;G5olt&de$i_|5h5tw}Q``0^5Z?AJig=rvIOZ^~D#IPBf@XATUw}yu HLmlQOUF>k8 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class index 72a99680192c5cf9730e6f989697830124de0a41..f54d0fe473a1d4f1760a2e4a35f95f6dfb8e5c24 100644 GIT binary patch delta 400 zcmZ1>w3d(S)W2Q(7#J9A8C*7UO<7->{Kq0 zG0YMSg3OW(=0H)Pj|72wED$;;D{#naAS;#uDwai7Y{_5+GzH{I`^k+Qsv*dV6&Qq= w6=8~n7_7k-+W@Vx1+(lJ?7=i6g9DJ30*bQ$ZFgkg1VTmzCm;z5MP~+10QQn4r2qf` delta 738 zcma)(O-lk%6o%jH9n?`Vy`_|B)S}H~RF-|&hn0O>EsFLgLIake618&E4=C=YRlA@~ zP!I+!qIEx_eSac4Gfp-}ix@cf+{1gG^WHOe{#)UB`+R-@kjD0d=Yn^OY$=~B?&ZpQ zZogRAH3EZDJ=K1O=L)@(0Fd^Uhyw6?KE7ihLp-f`QSXjO) zel=^=QZlCKUe}3U(W@m=#4SZAmSPCE&OJN+o}I8%QF*R>)P}*q$gWFs@jCcDr49^J zbQ)zIK!S2#LxK^E(v2aBF^WT!C#`m`CRFP8zC!(t5H^Iji5SPAfv6E9VKLlVAo`bw z4jaJT1hk{m@-Rz|9mMfyPiWKn>j*v2&HjpzNeDMo7J>AbKyZ>E3{yy1upL=)hGp96 z%5ZZH9;1nOBFMXJ5YdDPOk;+6XK5sDGDzuM3oOjJ?eLz!g#O6tPSMY(~LZ!UJ%> zTDJysR62={D14gu;CJsbx;2WPAw3jDw}ohzAk-}5Fh-ySx6~v{OKhWnc-WG8It!v> ze$hCiSkun=HJ;ThN)}LCgb^-WB03RLaeWypLS{9Pkr$YNSR0bDN-|bhW`k%pBqJ(` zQ~`Bi*xd?b#NRB$H<1y4!f2&I(37FYkrn?s7jisZJ26@ znOV#Q1x-A~VXeZw{Dw;lx62>%SO~xj8^|1X`Vq}%s7)8q?A)S7gNSJUqLxJVV5xm9 zGRu9oSibaMlXhw1{O)qVE{Ek^ma#$^v1HtPtLa=Wmpp>4j=x|#@Nt#;YyNEO*ziw< SO`bN}7#wR0amaW%#6JNL8CJCb literal 3478 zcmb7HT~`xV6x}xoOn~7lwp96Ou~N(j8l|?iCL$1^q=u+TplYk_5Uz0~OtK~u7X2yy zhd$UBy6QuheeI9x>bZ9&(}dh8d0=KTxqF{|&fVwS@Xx<*{{pazvW5V|r3$yWZ8-cO zS*%yf^77EI8{8g72m=}hb!Z4P#CtAWDAsw|d|`4sQ?nd?;xL3O+$q%#xy7&)&1Pe{ znq5g6mQ%Hp$G4Jp({juso^))^lO=8+nU+z_*A93}#2nT!0-a%;I10@w_edKISE9LB z#<7vC8dfElsTz$&D(1dvI%YMQGaHU%7}GJ135Kyw28MJuK`(7?4cg+TG(;G#_O8O7 zVQ=uVr&c8Lk&cfs#W2(=2BmNzN&#gO?UFCzl7?v=Gni#qRMx6X55r*Ev`lA3lvrKg zE=(#L+tctV!;B&gQ9j{?5zJv;$7Os@738#`w!gm&$!Jaibpv(zAQjsaWD7dJ5M-nL z#B_Wv4Obba6=Zv6!*psSV-YbOaU@8_v3Tc08CLs~(Po%M}NsZtdu4_o@xPhBw zZe`7-KV@zua;m3`@{npWFU{(KEgXKkNBJdOI7nLC+ji+)PXt3Sn=euH=(!t&A(Wv; zq3+0;7SA`2_PJd$_N(+JlB<=CD!I@UpS_nM=cP%uTk2=mM2zjV0vW7WD(q%R;BfYU zj38T_-saW|Yne@YD0mM;jn)7l6_m>ve^Un(&5C6>O`Bw{b}dNvBW@)nOh`?na8559 zGBA_=vLyLfHYvm1zEpIyc1lQ~srEhzod7CmadU^lrxj6qJFjChil7M*^qlJ{*SbOW zq+#5{o^G|;CmdPZw2o_srd26AbR;n7-UQ8B2mFNW8jVpFLvknxAj6Fw>8V$Wm+^qBA`uYbUgb~v04ix4i-uL@ui49obEuD9sZ zO$6x)(Bh%sDS~h4F@Ue=Iw)SVHGECay1NA5;5L0?_*MZQP{G%g@H-0lpbDN*!c#tc z*%Kd*Pb{eL8*TWouRg89&#Um8O8i|F{;~?crNpn`9@W?_e!we!By@_Qv&G+TgKM7r zRoZ|6)(EzOb-D_gdsK!1-ACe)(99`D-yw9C>b|6!a+i5j1V9EGM8dGC(ln{il<%o& zOVWJTt!dKLGR%n`-J;jByM8%$(vZQ7k-+P+UUY*D;v!toZ?7MA(T6O`# zev#ZizjCPz$d@UO%Yu)EGo<%V~{2FaA%iz^W*=yMd-gP(MLZ~X`aca=lEIP U8GfOAguV;WasxwhUhZS)Kejjx8vpJ3x~xQ}f$I(z7`?LOn1o`2Y30Hu LzNMhYJ4f^b#VZu) delta 409 zcmYjMJxc>Y5Ph?k+nDo|5M%s`F@7}O1w6}wdq|MiVK+)r!tisqOqh$4o6c37T%4p~%5(}w2NdM2R(dAf2sXmDz+fR5_No)?idUG4rOPc9g0j z9<-Zlx)>NcV!K%`Dd`@glG-$P&iI~9?Q~)PA75+I z&YR{>nC7>r7fd>1(rxNRlb(uoP5aai`I3njVy@|X>SdG8n{=1jg~u2iV{kB%Iq4sl zMjIHcvknhE4U6Ri65^4a6|6=pMwo+ZvJ%&^4KL`4{WVk~S5aT7u^Fqs&v4c=T=9Z+ zuHr?zWE&bjbN=Et;&&ZyVv9Qp_FPpRr*NcC{(vVwf3b({V0--IBzF5%6?^?Gu+N<4 Kn{7S^aDD(fqCtBA literal 2645 zcmb7GZF3S=7(Ev#OJGS1sj*_}YgAsM*r=@)OpU0ON-zUVzHi_b*KBr~Wntn^@jvu~ z{Zd<}wdu=DJ8fs$U)1Sy?=F;-%M?Gb_wMDM^PJ~-&b{#4->=^QxQlHKA%>G3Zgbc0 zc)QT(S}pn5HryU}IamX(>~EW();xuMo{ur8==dqySn2trH7%nLVO~4qUCDS&&4UvaBi3tpe+R^YX!zo3% zs%Fm<)lOgu%Q{ZrJ%$9Qs=0mzWgG?0k8-rk#q5rtN$WTzXyW|9^n4Z#?=z$oG&^R` z^c;%5f-^eK;v7XEh_zw#JDI8irj9<=jVHU$c*`p$Z~?0tF6y|1%M3YXk!9B%q1f`Rkt_m4{9_S$P>emCw;S)oM80;A89l< z>w@oIeY5i8Lz0lcYH7ZwpFD0DOd7(is{)#%6yCP$m{7HX!{u&FE9%Yio s13V=8pAy19hhpW?zqzGQp|3*tj7sxZ&Z^jwBSVeGIBkv4=LzQi0VuCczyJUM diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class index ffc16859ecf14d70a871b6492c099922b3e9a0d6..1fdd107e0586b6b3f4a0e57c2c0308a15ab92595 100644 GIT binary patch delta 522 zcmZvY+e*Vg6h-%Bn%J2jI8hOyf>Z<<-$boeYrJ3TO*J*=<@?Z? zDm@q}5!2%846)4ud|iSA!b3%P3)}3HZ8Auv bhfE8fvqKy~p~7r474w+YFi)6c%u}czg={pQ delta 854 zcma))%TC)s6o&utnD|B{Y#>NnDkQ`vkVO%fLedZ@P%hyTFtl9;6bVZKDiR@BMSX_p zb5x)R7Az3!z6CG93M53!<=8R7Ko)G~KjU-$Z+?6H+blQhfA3Gv0HpBaNWbD8R(fY6 zn_tWBI@$Gn&UP0Dxwz>R7-Hf=ii!XHSm7JReTH7zw~0g6ApXeXVKwg*in;CFE)Ax| zN8Y8S{ReSzDLeJbo>Op&JJjxV+tCkkhRDm)4t_qJ*yoLe5TL}ZShTN8PjX|pGD`ObKC)zO#V}#azssjkEg3w+gZfYXpNR)g=pC3bw zHnbBX{2Fi@0I1arpOJX$S8MtI)$}K!jXu4E=u{%H;A`InEJpRn7PR}0q{t}ELqW%b z=ZMh919acvRw;~;hhZFFeD8|*rF2Yi?<4E(JeOc{9`IXLzl8}*l5dKrbXO*oUtfSC zb6paSysmp`6<&yV%6oa!n4u8vU2X|O?JmiIU^*;r1VF9TV6B+N9HmKSSJHef@8Ou9;{kv6W8m{fctZ6f^+?GagMXD|Q& diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class index 1223c5cf99a6d827cfdddc2490fbed6fb0012e78..5e298fcd64d8fab82f454681a4d1187e70a9f843 100644 GIT binary patch delta 543 zcmZ{h%}T>S6opS_YGYa?O^RYHSW#S1K7r~31Prfk@TXubE!UMLtSM; zRT?@|R`%<33K9m%VZUI?Cge5u1{N8!y}D>KE@7T=fwcrZnMOa5TgFOE&!`J?te$jx zV=25oqk7ztYN{9BX+dOD$}l4FMG!VxdnV3pHzDBt|oq!PQ7|GK==*HuDjzUp5sy1^@s6 delta 860 zcma))&r2IY6vw}_vt*M^aFZ27Nr*jpi7D1ttu-23oBFG^S`8kBD1k1-Dkc5XI+|OZxt9`afOuV|eN5ZL;zJf=M$#2Ektl zJY+bLJc2ET@oo%HyD^+fdVfp*3KL+q`x6p_;V~Ew8O|h+HbXC-H0F?{sVOuMJ$Zyk za{IRF3v diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class index 8c6b6910c035d7a4028c65dc48438538b418953a..0c9f9641a673b6335bcb5daf3f81daa7a92522b1 100644 GIT binary patch delta 1043 zcmZva-Ahw(7{{OIIXk+I)cI18Z)oa#EpnRqwlT}pEzQ?$&a^b4v^PP5AP9wu=q89C z{t+6Hb}GUPFX|>Ds0=T>5Tu}+ZtB8rg6O-Q5qk6t&gbmx^Lw7}^ZRYX;MsY0zW=+t zLPTB}UvfSwQL813T2)!O`s{AzGb**TL_ID&sveek)Q_@ShrN0H+T@MNn?7T*JTrMF zmlz)++jE*<1X+BzC&l0ONIjlO8q7D+2(tL41$Qr=x2=6kwC^stY&Fxyk?akurI*vpw%nmMB43~{4US+JDx-%SeOM&Y zF9WJ8S~wNLw=0xFYqTI?a&R6P0UN1cM(CFW?4Z3>bn?hXxYJBwlC;To{6)CX#r^g?gbziQsd-?`u1Xz4)HD=bZO> z-t#`^oI_{%r!;%Md35C(5e4PVi=HF%=M=XM^@n5K;bb)27mI9EA0|g?Fgnas(q=Rl z&*Fe_V*aHHw49TwtVpQ@P7H?3*tY zYGC&CRk5MIaBO8{$BLnNDsmtN25ZJh%=AL$6W`*6j!-xT6$vGnJfTE58HuM%(n9-B zS1O!>o^iofQKE+u$;du)`kByhDx6H&vx`hYqqk(TGbeJQ#A|%#dr2y-$-jN8d7e={ zWrk6;pl|_pklY)Ktcedqumd-E2kcm1-XDv`qp2n)j;31|Om&UCNQluy$0a)ZDNv*d z-vV>2LxPA4t$Asd7EIS;gk%{$SR)NUmKCxR-$uj}*e>L=bxRN{o?s&$k(cEaJGs&> zMJrC{=Wd&jtBF|&l2-BUr*+5jb9*P`Ic+!VdSjm>7-$1%;xdZN761G5Z-{%x#awp>Roh)1CObg#6{=u zhuFp5K9_XrvJs0M#O#G^0fSV@YQJF23GYjBqI_89P3|^!sY1qIUd% z`fTn^Ic|PC!_7%>cbnX!b>(e&+#cC%anoY7Or8G%zjm3I3l5xS6v~tZa5l#?^la@$jwZrWeZ$z@p+nSy5NFe_wAZgv=y^VPX1B0(LG3e_^!N) zF^y*O*QmG$J1ga{q!*Es%6VK~!)yUM^k+l$>`wO+-V}1B-J#-ibHJxMG`ReDwnNM4 zn0+R0Ig&ee)3MAFCs}4rla- zrmH+^9@w(aIsLe0Ovhfv)?U=i%X5T^xPm?~8|BhIq;4y6EVVC`%W*R^=8V#MYgTSL zPnkyR`mk-Zt|aX}tH?H5Kb)D|___vED;jud>aopE3;1I9@ vm;mkuz78A$CV@@BVc;k*1xy0>0`~*=0S^NA1K$E303HIq0elB|klgqepFoG)W2Q(7#J9A8N%2Zm>3zPCSDZYsJw_90F7}7wg3PC delta 28 kcmX>qepFoG)W2Q(7#J8F7{b^Ym>3zPCSDZYsJw_90F9vtxc~qF diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class index d80a4fd46c12ed3111edf406c30d56f8e2d8e6fc..5b8eed13fbd8d083ccfd9480f0b5f1f7869b101f 100644 GIT binary patch delta 450 zcmZ8d%PvDv6kX?0_qw@lnkJRB^fslcPp?+hqlgdS2T%+|n0O5&2K|ULYGQ68K_VR( z7#aBlbKxTp>sBL82Yc;(&RYBV=6*QN>(A3OfI3zmoSaY&q^XK*$M1ne^Qp;)70HUi0J)bC!TwK3d+rEj2>-$C~5Z~_ab2;+=>&XFVQLRI=E?OJ`GkSNu6T5hh`+-cQa$IBEv&+e2vEhn#z zX*n&Ll?K5qHS7aB=i0mPb6b^$Q*Gx7k!HK*c3)RayH( zYbqf!R8Z?8D~p7rDu|@|EavHrIurK~H9X|8O-POvj#c#I9fsgwk}Km79Eb4;Q=EM? zfEXx1!x(|acp6!b8Ls6x`)`r#FX%rQTsQ9vinXBOH9694NO=7i6SuGjk8ZHtTiJ2k z?UL8jwoERB_4Y!HJ3YNIB)g0+Je|LsrM}A4;XQxk89pZ%)$k3v{0=GnDMZMi1L*j` zYkx!>osdCR&mapkc)|*Cr16wZ)7TWSWm1n`;DL_lhHp{2xAbaYA$DQ<1Dqg57)jL_ w55B!=!KctdW>-*RHZbZLo(Fjj3!I}YVewhTI^Rr|h++;eVDR^RiA^M~0I48YssI20 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType$Kind.class index ed84cc4912ab33418bdc2c2ec10b5fd9e86f12af..aa345210386cce183b830bb1378cb82973538663 100644 GIT binary patch delta 241 zcmZXN%TB^j5Qe{VsM4Ml)- z;!xe0N#^p;H~(ydSKsW9yDwnPvNV-)nSN54d(qe4Oc6b|B6rY_8%sdMJ&IdlZ_v_# z303;RPx# delta 308 zcmZ3>(aFhm>ff$?3=9ko3|1St-Z7d9`Q#@j=7c2{WhN%&q=tY9Mh2F=#9SaH;1YnjsOZ5cQj#2M5X z7#UQ7R+um_0a*+TTtbXmI~aryFfeWa@|YOZfFv7O#+E??$mW5lV$fvJ0?SJ?$N*J= zOfY0%20{h~b}en0?F^C|!P3~ZvomNjaI*mw=ztaJPOfA&W4C4CV9;aGoxF|N!Q75P qiouqF1uC!4U;tKU$Y2DfjTuaVv=GoEFF%61~-DWjY*&N+=xPmAL? nUd+m3)*BPg(*GyB&`K@U5|(4OxXr5ANoCS&ZG$%Ln@ech zBEbp@x`1w=yNS+xGYdIz{y5M3o%0Qp$8hB5@ADf#0l9u8N19sd)UEcp)oog}wq0=@ zA<%0yZwU#fOw*KicIk?iooC9Wy1l=jg+GUn|?wTR@j(5ag lI3GUcVrZ|BuO?$%OqtjaF@sHxDsv%Zu*LrsPS&uO|%$R|Rff*>lueF_lQA>L(1G|>Y zRtDaUKp{p3VIV2Qzyf5RW?*4F!@$XSmVuA)98iM@P=<*?ltBzki!(?9X)d4+4hC@s HDF!Y8PR->Oiap24FM613@jxXnZ=9@5VVXrK@S3j+h=MFtke zOAMThml^mNuP}%J#T6Ksfh0eJD1#V~2C=vqco-PLEPe(71}31qIFQH0Ai*FBrllBU QfHW6S4F`i1gDe9V0Nh$58UO$Q diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$FunctionType.class index 174f2398228651ea8bdeb446619bc9ba95c23e47..5cb16597d15ca04addac0bf6248a8d99d01684a6 100644 GIT binary patch delta 465 zcmZ8dOG^S_6g~6J=-8lUf(7Lixri`a7Fn3l`=yz+Y1b4%QHvHqOMk?-?*Ro7J(NVy ztVPRc*&lEnv}_R-of%z(n{)4XzjF@f-nZ6IukrF*c><6?wqS&WYCy<{h&eSYq)7J5 zni`TB^~&#CJ+!v=Qr5wmwYk47*R-gzEOVNrjL4eSn^Q1JpCB~iG4TW~I7J9&NOB@D z1qIWXAx`jZvMQ{uXc2mzOme^-;k98EWK!y+M4@@2HO2-$%G#W;{VRytRDk*XK>NeF9hUAAk zoU7Y+!p)yDbW{+)12?W>0FP8x9a}Fn-Sdq;9iDM}=L7@PL&oT8-yme)poGyt&knm_ h8Dk1IuKDr*CeIA8$eCd7lvCT%$gnX;^B|2C7=M2xMqU5_ delta 809 zcmZuvOHUJF6g}TOXe}j@iESgcK8P`Ax2`+l!ea?!L4ik3GQ4NHJ+JHpc*&#-nrj7-?{gE^F8``XJqsD`WpZ_+**yq zB)K0$?yxlC=c42mw0yIwTQjJ`fs)6cCdF(qctmcfPLQ*E5#hn9r0P+ic8_Et%F`!zO>Aa$3x}Uu9j`?x=F$p^R~^ra@tR%=iR5u#6a< z;w(G+Av4Bt4in5?)sHBIU+p4F!gn?v7BPWD0wO5k9%!6f;{HyTYyKz^o>K|W{0{gp4DPG3)}}f*EpTUrXOjOL^!d1r c9!C>_s?3c&)HPi9^DJ&KM~Dy8t(%Da0rm8RjQ{`u diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..ee45659b338473aba822334e7fb8af9107cddf71 GIT binary patch literal 533 zcmZ8e%TB^j5IwiH6l!_+KoG^azy#1(6PKtP5|xBtf`t7AE~eNAxh)z$!NXyUU%4s6}m4Cep|dHhdThhU_dh+NVR|8pBa}HZj{|HvV5w=~BmN zD~5E__C#yq_Jr*4oRH zAOam*48=Lbq82oMK^+GDS0C&WeTD9!AQS0IUMA9lETgAkh3qPM$I-FKrmOE@)%`c< y)q^)AU#Gw|`d6V6{t>G7goO5tl=eae>y%ND#m3a;usKC4C?JPz7&N?qB8(p-JbSeO literal 0 HcmV?d00001 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..3c923a675debd99b471adb21f34abbf603cb0c68 GIT binary patch literal 23319 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 n%lx19L1HVSX(}?QJNWFf&jGnV;6yLE delta 596 zcmYjNO-mb56g_ul?3hGTGsQ>@ifK}fW6k(cjVAR2gs$SpLflVeFcU^6#L(i(l`Xh& z@w9^UCv;&z5nXgs7t){NZ&2~hWGLbB?&aKf&$;)!$I#zM_}|Oj9{|f(ZieF|M-UZh z%KCYY*5zZuHD360kWPNCuqJ^0CAaqi0vwJ86Mq%ndl3-+?@Q8p(* zXPyE{?d0kJ27_UFe(`qi_RQTPN$81Hym7(C8~*FBww1es84AYywvQP1a}E=nJ@rYx UdCW7?Sf&#>6!>F{SilkzuU4o|@c;k- diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class index 12579828619262e18e38d17ef5d12a353ccbdd16..7329f47c59cfe5f8d821e6a02dd0f920466bcc4a 100644 GIT binary patch delta 4179 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 Ab^rhX delta 7535 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType.class index 13489823b433627955555f2499ab97a76a8784ba..9f692d2e00f168f2a6f20ff3f05f4ff5b9512d28 100644 GIT binary patch delta 665 zcmZvY&2LO$7{!0j?VbD9ZD+K`R8{J8+DO}wh>eAfL?TiV(H$0pDxHp*q4muu{sDPc z{s)T^v6zKebmcEVNqi;}78W)n%DK~~nGB2jyzlegbIx;~^PuQzGGy=lIj{Ij&f3*8c@iU|`Sy delta 1057 zcmZvaId2nD5Xb*x?|N+~4#5YGqeR#cB5(jp5nY6YQbj0;B8No5v38dDw&M!|0b>#f zH^r;?3Md7U5CuYrf{G6T1SF0iQBY7&0JH05wODRu-p;=NZ?5+$_-MfU=J)fL0FL3| zruVQk?4K^B)cm|!$*9S^Hme(gR7+>7gh8?8j7SrNeL|J?3{4!EC+zzF{&Kmk5oe?q zUROaYB((}5#=_Vv!BI^TBGXy5p(gTbaWOGdt7M9cll4q~L8~y>H&atnxf5#HOzbQr zvjo3QaWa|JQZ>FRmuhLPBKFI1x*}%e(Y|Y5v~XR)YA<$UO{~kW>86-=jniGxbj9hu zc&5*g^mwFo2IZ&wrwDvW;L7Y4-Z52fZNU6h;sZ zKFi3kU*Oo9$SGq@r;YrH$)B101tEOpY};JdHyb%>k)swliXG@@VwQ>RTzVwQ5tSnj zY z*>;w&bED8f`Pqd+2zOP7Haf(=x{CK&-5(Jxcj%D4=sz}v*Xp=zDYnI?yEWI|(I{^Q zB%zOF1W3U!xiLl_Oc5)o2U+UH68Q|G{t~8mdrPPoZ=zwchj9v3)OZwip?YFe7ptCw z<{R+y_CbCq6hJ=(5u&ig0%F$gV`$(46GFW2i~Q0YsPh~oI21QW&*Gdp=yCS?uHE{s zpW$@Jv}ovG@5l8^CSJm_G1N=AZ1@#iHU1Ks47-7K{u<<#+*rXacrnSR+dP;%xQ7Rb F`~`6Yo!0;W diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class index 136b7cb4d638f3a40048fe5e6400a44686caa5cf..5410e34e4faa5ab172a4f9106c7a0fa271bbbfe4 100644 GIT binary patch delta 257 zcmZXPOKO5q428d3FFq~^B2E4;7Cwhg4~6)jw*uEai`r% z$6{#jGvpS^!$&h*rAYHWpe&HHd_RwD07Foaj%8AB)IxS{!P5@D5vYI28v zvCTw4l6yLSX CEgiT3 delta 336 zcmZur!AiqW5S)DprVWZE=%M04o5YHOp*2=()TUbX(wpM_DJ4eI2({?3|KR%&=}8dv z1H5_{`~v?#+=L!wVQ1LgnVrw#lUe%seR&5E;>3U;l-0MG8#@)zu)4QbGP#h0SY9T* z^Q;l{RQ4IH?v1>cULw=TI~xw-Gzxe(ypHcwM?6rdUd1vUsW0(3YomxIY=ThZH@+Ha z^CN*e^C_NzZ1~KlGY%75XfO&maJgrS8Z<7zSX*CwMrE9@|CbxsW>a7%ziF0CY`~j5 z4xsZCunTWcKbmLQC}0;&! M=x}Ocb{v-f09s@*DF6Tf diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class index f50fa8695f35375c41a48e39af7a0adfd60e22ef..a4c58433628b2b0986978ae6177a2e85f6a4bf6b 100644 GIT binary patch delta 290 zcmZvWyAAzx{;JL;;f^=sjE3%9kbL#3$*!h3%WaDw~fx9v*n}q c!3-&MxfAfv`_RXLS>(oo4+$FqPtn|Y0}tsMj{pDw delta 464 zcmZvXy-EX75QWd#>?U#jPmH?Js8Qq3`jbQ>2nsG}r)98TC14;RsGUXf4!0Hb0a7Sf zS@;09zKoSPdoL)+ZRQ+i=9_cxL*_H&7=_S z-BtURm{gA}@Iali&kgm((5(`IdSalCoQOTub1Gd2GjgtoG{72M)-k{xjBpouHV|+R zvodeM(_1CXi6;Al7y`8$#TXpz@|ZwMyD3b=mH9jtq!y)D6;1ZN@D-V7F($a1PP*LJ zDdwUFlR}iSXrYJyXagTw;Uz3v;PHR(JtHe!!HR`0^nV|2qE9Sv3aff+4eMG%Y>MXO P!&!vbf{$%+wJ7)jyUikDi=c19RdFwJ}7i7|ivMfx+?r4&VU|3E{R%4=3P?V`%)U@1c zT6y=OARRAl!)7@S!8$~7ZDVb@`ljb)np_+r z$(6z-Wk{Ek$d+WGkrSzCcvsYHTQAw#Os!G5bC8H75KWeKD(3KO<1 z^GJBfjj0vXhtzPrgS%XVXF0EyjQzXK{%c@k{wy3)heYuqS?aMv8bTV;kl#qw;3ant z_bs|ueTwmJFuOZ=4#-8)m#|6vtms0wRac{GV{=xhw7@2_vbRk8$ktsd&pcgx(4;`w_8E-raW5%5;nE^6`WQNELlNqs?{$=K^I^}B2 zHg!C()3Gr!<76g~Ba_INDU`@GDrE-M@*Fktf<5-SGYo|R>#SQwrKHP4zMG+SQvt8H-=H_US+@wGwT@eO`JoGkDSF2XAxkt>1Ft*nO4 zwFHCLqM_^;65jyy~`#ZoKv0v8Ly|=iSp1U3PQMdCxh|^Z&j7^PF?7 z_D0nE>tENu1JHrFtKOT=woupbfRTFM$R>^c)L^e{2#)-oWR4K-N~T9r@eRZ2kz{Hx zTi-L5?jKH>d)mb<=VZMjW2AX|sB5qBiV;s4nceZ8d^VZc-7a&CjqqB9D0fsm!Jk9P z%ua%TU^JT@%;b9phUMxK6*-zurs7+S5e}pT%J(#Z|Hn>bRgf$i8#AGH8k2Y1B|R9-wDXPd$iHFW%-oeh{}0VIL;BC)^Jgw{P-z zm)PfNU#BvK;NZorD5q^$K`$UqFP20|Xa`o3Q4(Ee zMIT^IJ7^`#zr#QZBF?=8bT$@H^(7A!k7NYxEXm^34DaGSD|k+1ypK;fOomE0IUWAxvpJLK!ndLarfUWsswTIAqEu@IF3ZO*wZMPcdH*Q5?Zh_G5}?rF&{d@QnO} zGSEGQ-Du{OV>k|SnPyIj+uml&jv%K29?q8j18MF?_6A`m{r zN8HK-Jj*bAY=||^p`&|E)4bU1TeZNBSK*}BxHQJGl-@v;CQOz_6{T5Xnk8njII#*J zvk7)>f|?OLqfJ<0COm~tEzW7tm&rOXe8X z(s47>3RaAu0;f$UfL2Z2YEc(UMC~fN zf!c}EQ!SX9l}ruRRL__ksVhvlq+<=-|uXr9aQy0(@# z>y!a2r4tQhW(C?xs$b3sPC&SfEcdbke-k@`TP^=;q^I;fKcF`dq96GI{Rz$VGZJ)D zi^VyvSW8`&YzU8YES`&)Sb2DpVnmH+?% diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler.class index 56dc01e7fba3a9572b979d1d552aafb926bcfea8..ba19036fe19bbd014705a11b8796080827083c33 100644 GIT binary patch delta 922 zcmaKqOHUI~7>3`|(w9IiV-_o)l zv;U|Jjiz%85>Euq9IJGl^^_amw0YEL%GN^Sxq72D_a^^nG;XDHuIZGd3j*~=8x1;+ zu~|wksvlZ|SXNc#t*S-8UQ>PSWz?)5l>X9@R9+t{$irI^C@an>;E$Twr0Jj)8a#Y< za24>u&oxZ%9Q|V4-`TYbu|-Q@h^u}OJxgVfkzsVvFY3R;%T7SLa~pC8m3uffwvRx9 z)xqe#dRx&~sNY9VqL|)A-)$L?0pAY#i=90Ooo}L&b~7r_f?Cei$QjNfgo|j$6R|}q!`GPCh3wBY_(1%So&fhz|H6Ik{c~iLH{=gq018h literal 3622 zcmb7GTW}Or8vYJRrYDmIG$1ly0>}UfB#aSUF;NsEVAe^9CV=tYnRJpSJ>9dXdt&0c zizWLAjF96(xFJoAQ8V$8N>JSlFH7bpa`G6}YlDmdIUm9t@+s$Mx+mr&4>n+Ff zcM3GMq!#M!lg5ZCyIK#{BZ_(rF&z!i1r}SGteq@D84DD7R&|gVmSCxdOLSa{MuC;p zP7_!fSF;Qt@JL(u%{nXPIRC~ zeXh~*6I?4$H)(m6FK}Iz5YZPi83bUEv#vb7Y{MB#?jJsErhRg&1J~*3M3=y&T>lJ0Yd-Cf< z=tZA~{W|)UUyTu`bDE})hMO2a`)=H+KPGwj+i9Kanq zhHxiQ>0=-3(0q`5K$Pm;I_|-}q3Ymtma6LBU#Jtop-MnE?uVgaSVvl6FRP#ncX^iCYiN}7i5E^C|5}g1nWxEQbko@-9?KPb!}DSRH?6U zgM<1PpCAv7*}M>eBg@gEzv+7YH_o`OeQPA%tE$ z;2Y_QULzYsR>N-v)>N*_#g?MscXYBsBtm=VS;YRcXDV%G1A=JyBdJ?#Yx|25YK84@ zFMBktD)iZ{N|#*eGd;i8RJ8CkJj1k>B|fodDl2=OQCGurto!A%FyndmUZ^5Y+-f-^ z8veuxf7~7MmPYV)45#pC4S!L!;vF{c zAUVP9x132bIvL*huzc+0L&}xY0xy;p_`G5WdW+$VurDN1t~-&-b}g(XB`akcl@}G% z?<&#Hx2e*4l!xdxY;63OdaRNWU$sLvhk<_W#;$_SrGP0(bVucp9TM0 zmAGN(v5pVeMQj7$moY(vU&&uP`CF|=HgB1QI2*`4e$^WqSV_$|e9l&cTF7CNzo@Ss z!o(1G09z;{miPy1P*2%EH-8Lm28%z%veX>nLquNPJBQ|>wppz0o5T8{_E~J`tc};s zprvgFZEDiqSvQA{A+>cD+d3ohNW5+a+YiMfGuUwqCzPP^`Wft03%k!@uRy03*Ulj& z@Dke9>^6a~aG*1)RO8VZ98#aV&fz|R^B4iR`P7f!20-JS2b05jMEn0jbjuJ`)M}uj zc01qWKoeur%-I^w)?yQ`L>pg$S78ILMGId%tw^CAgV@S;pTrSLjPMYvn{F3`> zXv5cd7>}Tq7M$amk20?}<1`+_ub9bS)8=;6{s;?EP5u2wLtI0%hV>dA*U+KyC4_%r z+rQDoDJS?nx76~mKk)km=Zo+pp5nNQr0BrYc$UwZ=W!G-(zRD`0w?i0-lROrJ#X>< zUA)I%lCQhZ dILq;QB7AyNoF^ZptMxqhWbpeuKEoG?{})<(`5XWM diff --git a/project5_testcases/test100/01.in b/project5_testcases/test100/01.in index 54aba62..395f206 100644 --- a/project5_testcases/test100/01.in +++ b/project5_testcases/test100/01.in @@ -1,2 +1 @@ -1 -5 10 3 +10 3 diff --git a/project5_testcases/test100/01.out b/project5_testcases/test100/01.out index ea0aedf..bb70277 100644 --- a/project5_testcases/test100/01.out +++ b/project5_testcases/test100/01.out @@ -1 +1 @@ -1 15 -5 50 0 5 \ No newline at end of file +13 7 30 3 1 -10 \ No newline at end of file diff --git a/project5_testcases/test100/02.in b/project5_testcases/test100/02.in index f2fa003..63d7642 100644 --- a/project5_testcases/test100/02.in +++ b/project5_testcases/test100/02.in @@ -1,2 +1 @@ -2 -6 7 2 +20 5 diff --git a/project5_testcases/test100/02.out b/project5_testcases/test100/02.out index 69589f3..35abf45 100644 --- a/project5_testcases/test100/02.out +++ b/project5_testcases/test100/02.out @@ -1 +1 @@ -2 13 -1 42 0 6 \ No newline at end of file +25 15 100 4 0 -20 \ No newline at end of file diff --git a/project5_testcases/test100/03.in b/project5_testcases/test100/03.in index 24ae661..0e2a695 100644 --- a/project5_testcases/test100/03.in +++ b/project5_testcases/test100/03.in @@ -1,2 +1 @@ -3 -10 100 7 +100 7 diff --git a/project5_testcases/test100/03.out b/project5_testcases/test100/03.out index 8980d11..7fdb0f3 100644 --- a/project5_testcases/test100/03.out +++ b/project5_testcases/test100/03.out @@ -1 +1 @@ -6 110 -90 1000 0 10 \ No newline at end of file +107 93 700 14 2 -100 \ No newline at end of file diff --git a/project5_testcases/test100/04.in b/project5_testcases/test100/04.in index 1fe29e9..f70a163 100644 --- a/project5_testcases/test100/04.in +++ b/project5_testcases/test100/04.in @@ -1,2 +1 @@ -4 -0 50 8 +50 8 diff --git a/project5_testcases/test100/04.out b/project5_testcases/test100/04.out index 60016e6..fdbc307 100644 --- a/project5_testcases/test100/04.out +++ b/project5_testcases/test100/04.out @@ -1 +1 @@ -24 50 -50 0 0 0 \ No newline at end of file +58 42 400 6 2 -50 \ No newline at end of file diff --git a/project5_testcases/test100/05.in b/project5_testcases/test100/05.in index d28e6b0..0fadabb 100644 --- a/project5_testcases/test100/05.in +++ b/project5_testcases/test100/05.in @@ -1,2 +1 @@ -5 -1 -10 3 +-15 4 diff --git a/project5_testcases/test100/05.out b/project5_testcases/test100/05.out index 6b4a76b..68df3f0 100644 --- a/project5_testcases/test100/05.out +++ b/project5_testcases/test100/05.out @@ -1 +1 @@ -120 -9 11 -10 0 1 \ No newline at end of file +-11 -19 -60 -3 -3 15 \ No newline at end of file diff --git a/project5_testcases/test100/splc.c b/project5_testcases/test100/splc.c index c66d872..2bb6f33 100644 --- a/project5_testcases/test100/splc.c +++ b/project5_testcases/test100/splc.c @@ -1,31 +1,17 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); - -// Test 100: Basic arithmetic and function calls -int factorial(int n) { - if (n <= 1) { - return 1; - } - return n * factorial(n - 1); -} +// Test 100: Basic arithmetic operations int main0() { - int n = readint(); - int result = factorial(n); - writeint(result); - - // Test some basic arithmetic int a = readint(); int b = readint(); + writeint(a + b); writeint(a - b); writeint(a * b); - if (b != 0) { - writeint(a / b); - writeint(a % b); - } + writeint(a / b); + writeint(a % b); + writeint(-a); + return 0; } diff --git a/project5_testcases/test101/01.in b/project5_testcases/test101/01.in index 5c8f9ea..3303b14 100644 --- a/project5_testcases/test101/01.in +++ b/project5_testcases/test101/01.in @@ -1,2 +1 @@ -10 -42 +5 3 diff --git a/project5_testcases/test101/01.out b/project5_testcases/test101/01.out index f9a0bf7..9d9be13 100644 --- a/project5_testcases/test101/01.out +++ b/project5_testcases/test101/01.out @@ -1 +1 @@ -0 25 33 56 61 65 69 77 81 93 \ No newline at end of file +1 0 1 0 0 1 1 \ No newline at end of file diff --git a/project5_testcases/test101/02.in b/project5_testcases/test101/02.in index 51a3e80..ac81dc6 100644 --- a/project5_testcases/test101/02.in +++ b/project5_testcases/test101/02.in @@ -1,2 +1 @@ -5 -100 +3 3 diff --git a/project5_testcases/test101/02.out b/project5_testcases/test101/02.out index 533554e..c924120 100644 --- a/project5_testcases/test101/02.out +++ b/project5_testcases/test101/02.out @@ -1 +1 @@ -14 18 61 62 92 \ No newline at end of file +0 0 1 1 1 0 0 \ No newline at end of file diff --git a/project5_testcases/test101/03.in b/project5_testcases/test101/03.in index 39cdd4f..c0be89e 100644 --- a/project5_testcases/test101/03.in +++ b/project5_testcases/test101/03.in @@ -1,2 +1 @@ -15 -7 +2 8 diff --git a/project5_testcases/test101/03.out b/project5_testcases/test101/03.out index 2245115..a6e5bec 100644 --- a/project5_testcases/test101/03.out +++ b/project5_testcases/test101/03.out @@ -1 +1 @@ -6 13 13 30 31 34 49 63 64 65 68 74 74 85 90 \ No newline at end of file +0 1 0 1 0 1 0 \ No newline at end of file diff --git a/project5_testcases/test101/04.in b/project5_testcases/test101/04.in index dd4d207..d8d67df 100644 --- a/project5_testcases/test101/04.in +++ b/project5_testcases/test101/04.in @@ -1,2 +1 @@ -20 -999 +-5 3 diff --git a/project5_testcases/test101/04.out b/project5_testcases/test101/04.out index 7d2915c..a6e5bec 100644 --- a/project5_testcases/test101/04.out +++ b/project5_testcases/test101/04.out @@ -1 +1 @@ -3 5 7 11 11 27 34 39 39 52 62 64 79 80 84 86 86 87 88 91 \ No newline at end of file +0 1 0 1 0 1 0 \ No newline at end of file diff --git a/project5_testcases/test101/05.in b/project5_testcases/test101/05.in index 01522ae..b748e2d 100644 --- a/project5_testcases/test101/05.in +++ b/project5_testcases/test101/05.in @@ -1,2 +1 @@ -8 -12345 +0 0 diff --git a/project5_testcases/test101/05.out b/project5_testcases/test101/05.out index d2410f6..c924120 100644 --- a/project5_testcases/test101/05.out +++ b/project5_testcases/test101/05.out @@ -1 +1 @@ -17 22 27 41 45 68 88 98 \ No newline at end of file +0 0 1 1 1 0 0 \ No newline at end of file diff --git a/project5_testcases/test101/splc.c b/project5_testcases/test101/splc.c index ffe820f..85e4481 100644 --- a/project5_testcases/test101/splc.c +++ b/project5_testcases/test101/splc.c @@ -1,45 +1,23 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); - -// Test 101: Arrays and loops -int arr[100]; - -int bubble_sort(int n) { - int i = 0; - while (i < n - 1) { - int j = 0; - while (j < n - i - 1) { - if (arr[j] > arr[j + 1]) { - int temp = arr[j]; - arr[j] = arr[j + 1]; - arr[j + 1] = temp; - } - j = j + 1; - } - i = i + 1; - } - return 0; -} +// Test 101: Comparison and conditional operations int main0() { - int n = readint(); - setseed(readint()); - - int i = 0; - while (i < n) { - arr[i] = getrand() % 100; - i = i + 1; - } + int a = readint(); + int b = readint(); - bubble_sort(n); + writeint(a > b); + writeint(a < b); + writeint(a >= b); + writeint(a <= b); + writeint(a == b); + writeint(a != b); - i = 0; - while (i < n) { - writeint(arr[i]); - i = i + 1; + if (a > b) { + writeint(1); + } else { + writeint(0); } + return 0; } diff --git a/project5_testcases/test102/01.in b/project5_testcases/test102/01.in index a5a614e..7ed6ff8 100644 --- a/project5_testcases/test102/01.in +++ b/project5_testcases/test102/01.in @@ -1,2 +1 @@ 5 -0 1 2 3 4 diff --git a/project5_testcases/test102/01.out b/project5_testcases/test102/01.out index 938b5f0..fb6bde3 100644 --- a/project5_testcases/test102/01.out +++ b/project5_testcases/test102/01.out @@ -1 +1 @@ -0 1 1 2 3 \ No newline at end of file +10 5 \ No newline at end of file diff --git a/project5_testcases/test102/02.in b/project5_testcases/test102/02.in index 50c6ec6..f599e28 100644 --- a/project5_testcases/test102/02.in +++ b/project5_testcases/test102/02.in @@ -1,2 +1 @@ -5 -5 6 7 8 9 +10 diff --git a/project5_testcases/test102/02.out b/project5_testcases/test102/02.out index 6ac0ffa..e3ddb46 100644 --- a/project5_testcases/test102/02.out +++ b/project5_testcases/test102/02.out @@ -1 +1 @@ -5 8 13 21 34 \ No newline at end of file +45 10 \ No newline at end of file diff --git a/project5_testcases/test102/03.in b/project5_testcases/test102/03.in index 589d889..d00491f 100644 --- a/project5_testcases/test102/03.in +++ b/project5_testcases/test102/03.in @@ -1,2 +1 @@ -3 -10 15 20 +1 diff --git a/project5_testcases/test102/03.out b/project5_testcases/test102/03.out index 7b8a639..6635e61 100644 --- a/project5_testcases/test102/03.out +++ b/project5_testcases/test102/03.out @@ -1 +1 @@ -55 610 6765 \ No newline at end of file +0 1 \ No newline at end of file diff --git a/project5_testcases/test102/04.in b/project5_testcases/test102/04.in index 9762e75..573541a 100644 --- a/project5_testcases/test102/04.in +++ b/project5_testcases/test102/04.in @@ -1,2 +1 @@ -1 -25 +0 diff --git a/project5_testcases/test102/04.out b/project5_testcases/test102/04.out index 098ce39..856bc0e 100644 --- a/project5_testcases/test102/04.out +++ b/project5_testcases/test102/04.out @@ -1 +1 @@ -75025 \ No newline at end of file +0 0 \ No newline at end of file diff --git a/project5_testcases/test102/05.in b/project5_testcases/test102/05.in index d4a0ecd..209e3ef 100644 --- a/project5_testcases/test102/05.in +++ b/project5_testcases/test102/05.in @@ -1,2 +1 @@ -10 -0 1 2 3 4 5 6 7 8 9 +20 diff --git a/project5_testcases/test102/05.out b/project5_testcases/test102/05.out index f679779..30e0de2 100644 --- a/project5_testcases/test102/05.out +++ b/project5_testcases/test102/05.out @@ -1 +1 @@ -0 1 1 2 3 5 8 13 21 34 \ No newline at end of file +190 20 \ No newline at end of file diff --git a/project5_testcases/test102/splc.c b/project5_testcases/test102/splc.c index 8480c2a..29e852c 100644 --- a/project5_testcases/test102/splc.c +++ b/project5_testcases/test102/splc.c @@ -1,34 +1,19 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); - -// Test 102: Fibonacci and control flow -int fib(int n) { - if (n <= 0) return 0; - if (n == 1) return 1; - - int a = 0; - int b = 1; - int i = 2; - while (i <= n) { - int c = a + b; - a = b; - b = c; - i = i + 1; - } - return b; -} +// Test 102: While loop and simple accumulation int main0() { - int count = readint(); + int n = readint(); + int sum = 0; int i = 0; - while (i < count) { - int n = readint(); - int result = fib(n); - writeint(result); + + while (i < n) { + sum = sum + i; i = i + 1; } + + writeint(sum); + writeint(i); + return 0; } diff --git a/project5_testcases/test103/01.in b/project5_testcases/test103/01.in index 1800a9e..99e00b5 100644 --- a/project5_testcases/test103/01.in +++ b/project5_testcases/test103/01.in @@ -1,2 +1,2 @@ 3 -42 +1 2 3 diff --git a/project5_testcases/test103/01.out b/project5_testcases/test103/01.out index 2f5d6a4..7b697b8 100644 --- a/project5_testcases/test103/01.out +++ b/project5_testcases/test103/01.out @@ -1 +1 @@ -31 11 27 33 6 0 19 43 15 \ No newline at end of file +1 2 3 4 \ No newline at end of file diff --git a/project5_testcases/test103/02.in b/project5_testcases/test103/02.in index 51a3e80..823123c 100644 --- a/project5_testcases/test103/02.in +++ b/project5_testcases/test103/02.in @@ -1,2 +1,2 @@ 5 -100 +10 20 30 40 50 diff --git a/project5_testcases/test103/02.out b/project5_testcases/test103/02.out index 967964a..2b8d31b 100644 --- a/project5_testcases/test103/02.out +++ b/project5_testcases/test103/02.out @@ -1 +1 @@ -12 23 32 26 17 42 49 45 41 49 11 12 24 5 20 18 12 6 5 32 14 31 30 19 23 \ No newline at end of file +10 20 30 40 50 60 \ No newline at end of file diff --git a/project5_testcases/test103/03.in b/project5_testcases/test103/03.in index 945d41e..0d5fc37 100644 --- a/project5_testcases/test103/03.in +++ b/project5_testcases/test103/03.in @@ -1,2 +1,2 @@ -4 -7 +2 +-5 5 diff --git a/project5_testcases/test103/03.out b/project5_testcases/test103/03.out index ddff96b..c863ba3 100644 --- a/project5_testcases/test103/03.out +++ b/project5_testcases/test103/03.out @@ -1 +1 @@ -14 31 35 30 6 15 13 24 18 34 13 49 24 40 13 22 \ No newline at end of file +-5 5 0 \ No newline at end of file diff --git a/project5_testcases/test103/04.in b/project5_testcases/test103/04.in index e6c9d0e..99c49ea 100644 --- a/project5_testcases/test103/04.in +++ b/project5_testcases/test103/04.in @@ -1,2 +1,2 @@ -6 -999 +4 +7 8 9 10 diff --git a/project5_testcases/test103/04.out b/project5_testcases/test103/04.out index 2e15d62..aa4051a 100644 --- a/project5_testcases/test103/04.out +++ b/project5_testcases/test103/04.out @@ -1 +1 @@ -34 38 11 11 25 10 2 3 39 14 15 27 27 41 36 48 20 9 34 29 37 1 25 26 7 36 39 6 42 16 12 5 30 10 33 8 \ No newline at end of file +7 8 9 10 17 \ No newline at end of file diff --git a/project5_testcases/test103/05.in b/project5_testcases/test103/05.in index 3607fff..192e9d9 100644 --- a/project5_testcases/test103/05.in +++ b/project5_testcases/test103/05.in @@ -1,2 +1,2 @@ -2 -12345 +1 +42 diff --git a/project5_testcases/test103/05.out b/project5_testcases/test103/05.out index cc59a19..3a204ec 100644 --- a/project5_testcases/test103/05.out +++ b/project5_testcases/test103/05.out @@ -1 +1 @@ -18 17 38 48 \ No newline at end of file +42 84 \ No newline at end of file diff --git a/project5_testcases/test103/splc.c b/project5_testcases/test103/splc.c index b2472fb..073ad12 100644 --- a/project5_testcases/test103/splc.c +++ b/project5_testcases/test103/splc.c @@ -1,54 +1,25 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 103: 2D array operations -int matrix[10][10]; - -int transpose(int n) { - int i = 0; - while (i < n) { - int j = i + 1; - while (j < n) { - int temp = matrix[i][j]; - matrix[i][j] = matrix[j][i]; - matrix[j][i] = temp; - j = j + 1; - } - i = i + 1; - } - return 0; -} +// Test 103: Array read and write +int arr[10]; int main0() { int n = readint(); - setseed(readint()); - - // Initialize matrix int i = 0; + while (i < n) { - int j = 0; - while (j < n) { - matrix[i][j] = getrand() % 50; - j = j + 1; - } + arr[i] = readint(); i = i + 1; } - // Transpose - transpose(n); - - // Print matrix i = 0; while (i < n) { - int j = 0; - while (j < n) { - writeint(matrix[i][j]); - j = j + 1; - } + writeint(arr[i]); i = i + 1; } + + writeint(arr[0] + arr[n - 1]); + return 0; } diff --git a/project5_testcases/test104/01.in b/project5_testcases/test104/01.in index 92e1bdc..3303b14 100644 --- a/project5_testcases/test104/01.in +++ b/project5_testcases/test104/01.in @@ -1,2 +1 @@ -5 --5 0 5 50 500 +5 3 diff --git a/project5_testcases/test104/01.out b/project5_testcases/test104/01.out index 7a2ace8..cf58fa6 100644 --- a/project5_testcases/test104/01.out +++ b/project5_testcases/test104/01.out @@ -1 +1 @@ --1 0 1 2 3 1 \ No newline at end of file +8 15 23 \ No newline at end of file diff --git a/project5_testcases/test104/02.in b/project5_testcases/test104/02.in index 9c95a20..0e9a360 100644 --- a/project5_testcases/test104/02.in +++ b/project5_testcases/test104/02.in @@ -1,2 +1 @@ -10 --1 -2 -3 0 1 2 10 50 100 1000 +10 7 diff --git a/project5_testcases/test104/02.out b/project5_testcases/test104/02.out index 555b8a1..1422b98 100644 --- a/project5_testcases/test104/02.out +++ b/project5_testcases/test104/02.out @@ -1 +1 @@ --1 -1 -1 0 1 1 1 2 2 3 3 \ No newline at end of file +17 70 87 \ No newline at end of file diff --git a/project5_testcases/test104/03.in b/project5_testcases/test104/03.in index 2edfca6..b748e2d 100644 --- a/project5_testcases/test104/03.in +++ b/project5_testcases/test104/03.in @@ -1,2 +1 @@ -3 -0 0 0 +0 0 diff --git a/project5_testcases/test104/03.out b/project5_testcases/test104/03.out index f6f83b9..ef6b967 100644 --- a/project5_testcases/test104/03.out +++ b/project5_testcases/test104/03.out @@ -1 +1 @@ -0 0 0 0 \ No newline at end of file +0 0 0 \ No newline at end of file diff --git a/project5_testcases/test104/04.in b/project5_testcases/test104/04.in index 754879d..c7a0cd9 100644 --- a/project5_testcases/test104/04.in +++ b/project5_testcases/test104/04.in @@ -1,2 +1 @@ -7 --100 -50 0 5 55 105 200 +100 50 diff --git a/project5_testcases/test104/04.out b/project5_testcases/test104/04.out index addb4ed..da8fd92 100644 --- a/project5_testcases/test104/04.out +++ b/project5_testcases/test104/04.out @@ -1 +1 @@ --1 -1 0 1 2 3 3 2 \ No newline at end of file +150 5000 5150 \ No newline at end of file diff --git a/project5_testcases/test104/05.in b/project5_testcases/test104/05.in index 27669ab..51a91f6 100644 --- a/project5_testcases/test104/05.in +++ b/project5_testcases/test104/05.in @@ -1,2 +1 @@ -4 -100 10 1 0 +-5 8 diff --git a/project5_testcases/test104/05.out b/project5_testcases/test104/05.out index 404f236..1fdcf57 100644 --- a/project5_testcases/test104/05.out +++ b/project5_testcases/test104/05.out @@ -1 +1 @@ -2 1 1 0 0 \ No newline at end of file +3 -40 -37 \ No newline at end of file diff --git a/project5_testcases/test104/splc.c b/project5_testcases/test104/splc.c index afcb801..293d6fa 100644 --- a/project5_testcases/test104/splc.c +++ b/project5_testcases/test104/splc.c @@ -1,43 +1,25 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 104: Nested conditionals and comparisons -int global_count; +// Test 104: Simple function calls +int add(int a, int b) { + return a + b; +} -int classify(int x) { - if (x < 0) { - global_count = global_count + 1; - return -1; - } else { - if (x == 0) { - return 0; - } else { - if (x <= 10) { - return 1; - } else { - if (x <= 100) { - return 2; - } else { - return 3; - } - } - } - } +int multiply(int a, int b) { + return a * b; } int main0() { - global_count = 0; - int n = readint(); - int i = 0; - while (i < n) { - int x = readint(); - int cat = classify(x); - writeint(cat); - i = i + 1; - } - writeint(global_count); + int x = readint(); + int y = readint(); + + int sum = add(x, y); + int prod = multiply(x, y); + + writeint(sum); + writeint(prod); + writeint(add(sum, prod)); + return 0; } diff --git a/project5_testcases/test105/01.in b/project5_testcases/test105/01.in index ce7af5d..3303b14 100644 --- a/project5_testcases/test105/01.in +++ b/project5_testcases/test105/01.in @@ -1,4 +1 @@ -3 -5 1 10 -0 1 5 --5 2 -10 +5 3 diff --git a/project5_testcases/test105/01.out b/project5_testcases/test105/01.out index e8d328a..c72eca0 100644 --- a/project5_testcases/test105/01.out +++ b/project5_testcases/test105/01.out @@ -1 +1 @@ -1 6 0 0 1 -5 \ No newline at end of file +1 0 0 \ No newline at end of file diff --git a/project5_testcases/test105/02.in b/project5_testcases/test105/02.in index 324ff63..d8d67df 100644 --- a/project5_testcases/test105/02.in +++ b/project5_testcases/test105/02.in @@ -1,3 +1 @@ -2 -10 1 15 -10 2 5 +-5 3 diff --git a/project5_testcases/test105/02.out b/project5_testcases/test105/02.out index c3b6cde..7dfd248 100644 --- a/project5_testcases/test105/02.out +++ b/project5_testcases/test105/02.out @@ -1 +1 @@ -1 11 1 9 \ No newline at end of file +0 1 0 \ No newline at end of file diff --git a/project5_testcases/test105/03.in b/project5_testcases/test105/03.in index 2a99ffc..8a0e5b5 100644 --- a/project5_testcases/test105/03.in +++ b/project5_testcases/test105/03.in @@ -1,5 +1 @@ -4 -0 1 1 -0 2 0 -1 1 5 -5 2 0 +5 -3 diff --git a/project5_testcases/test105/03.out b/project5_testcases/test105/03.out index e24e93b..7dfd248 100644 --- a/project5_testcases/test105/03.out +++ b/project5_testcases/test105/03.out @@ -1 +1 @@ -0 0 0 -1 1 2 1 4 \ No newline at end of file +0 1 0 \ No newline at end of file diff --git a/project5_testcases/test105/04.in b/project5_testcases/test105/04.in index 03c8f90..b748e2d 100644 --- a/project5_testcases/test105/04.in +++ b/project5_testcases/test105/04.in @@ -1,2 +1 @@ -1 -100 1 100 +0 0 diff --git a/project5_testcases/test105/04.out b/project5_testcases/test105/04.out index fa1a4cb..51d7369 100644 --- a/project5_testcases/test105/04.out +++ b/project5_testcases/test105/04.out @@ -1 +1 @@ -0 101 \ No newline at end of file +0 0 1 \ No newline at end of file diff --git a/project5_testcases/test105/05.in b/project5_testcases/test105/05.in index dd7abda..9bb5239 100644 --- a/project5_testcases/test105/05.in +++ b/project5_testcases/test105/05.in @@ -1,6 +1 @@ -5 --1 1 0 -1 2 0 -0 2 -1 -3 1 3 -3 1 2 +-5 -3 diff --git a/project5_testcases/test105/05.out b/project5_testcases/test105/05.out index 4976ae2..7dfd248 100644 --- a/project5_testcases/test105/05.out +++ b/project5_testcases/test105/05.out @@ -1 +1 @@ -0 -1 1 0 1 -1 0 4 0 4 \ No newline at end of file +0 1 0 \ No newline at end of file diff --git a/project5_testcases/test105/splc.c b/project5_testcases/test105/splc.c index 5b5c686..85b0ac0 100644 --- a/project5_testcases/test105/splc.c +++ b/project5_testcases/test105/splc.c @@ -1,47 +1,28 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); - -// Test 105: Short-circuit evaluation and increment/decrement -int counter; - -int increment_and_check(int limit) { - counter = counter + 1; - return counter <= limit; -} - -int decrement_and_check(int limit) { - counter = counter - 1; - return counter >= limit; -} +// Test 105: Short-circuit evaluation int main0() { - int tests = readint(); - int t = 0; - while (t < tests) { - counter = readint(); - int op = readint(); - int limit = readint(); - - if (op == 1) { - // Test && - if (counter > 0 && increment_and_check(limit)) { - writeint(1); - } else { - writeint(0); - } - } else { - // Test || - if (counter < 0 || decrement_and_check(limit)) { - writeint(1); - } else { - writeint(0); - } - } - writeint(counter); - t = t + 1; + int a = readint(); + int b = readint(); + + if (a > 0 && b > 0) { + writeint(1); + } else { + writeint(0); + } + + if (a < 0 || b < 0) { + writeint(1); + } else { + writeint(0); + } + + if (a == 0 && b == 0) { + writeint(1); + } else { + writeint(0); } + return 0; } diff --git a/project5_testcases/test106/01.in b/project5_testcases/test106/01.in index 8ddd738..3303b14 100644 --- a/project5_testcases/test106/01.in +++ b/project5_testcases/test106/01.in @@ -1,4 +1 @@ -3 -0 0 10 5 -5 5 15 20 --10 -10 10 10 +5 3 diff --git a/project5_testcases/test106/01.out b/project5_testcases/test106/01.out index 4b4f79e..9b22fc4 100644 --- a/project5_testcases/test106/01.out +++ b/project5_testcases/test106/01.out @@ -1 +1 @@ -50 150 400 \ No newline at end of file +5 3 8 15 \ No newline at end of file diff --git a/project5_testcases/test106/02.in b/project5_testcases/test106/02.in index 89eb790..ed40cec 100644 --- a/project5_testcases/test106/02.in +++ b/project5_testcases/test106/02.in @@ -1,3 +1 @@ -2 -0 0 100 100 -50 50 75 100 +10 20 diff --git a/project5_testcases/test106/02.out b/project5_testcases/test106/02.out index 63fd225..5bcae40 100644 --- a/project5_testcases/test106/02.out +++ b/project5_testcases/test106/02.out @@ -1 +1 @@ -10000 1250 \ No newline at end of file +10 20 30 200 \ No newline at end of file diff --git a/project5_testcases/test106/03.in b/project5_testcases/test106/03.in index 9ba6d2a..b748e2d 100644 --- a/project5_testcases/test106/03.in +++ b/project5_testcases/test106/03.in @@ -1,2 +1 @@ -1 -0 0 1 1 +0 0 diff --git a/project5_testcases/test106/03.out b/project5_testcases/test106/03.out index 7b57bd1..f6f83b9 100644 --- a/project5_testcases/test106/03.out +++ b/project5_testcases/test106/03.out @@ -1 +1 @@ -1 \ No newline at end of file +0 0 0 0 \ No newline at end of file diff --git a/project5_testcases/test106/04.in b/project5_testcases/test106/04.in index 19a33f5..51a91f6 100644 --- a/project5_testcases/test106/04.in +++ b/project5_testcases/test106/04.in @@ -1,5 +1 @@ -4 -0 0 5 5 -1 1 6 6 -2 2 7 7 -3 3 8 8 +-5 8 diff --git a/project5_testcases/test106/04.out b/project5_testcases/test106/04.out index fd27f7f..f5012b8 100644 --- a/project5_testcases/test106/04.out +++ b/project5_testcases/test106/04.out @@ -1 +1 @@ -25 25 25 25 \ No newline at end of file +-5 8 3 -40 \ No newline at end of file diff --git a/project5_testcases/test106/05.in b/project5_testcases/test106/05.in index b780041..11c8dd7 100644 --- a/project5_testcases/test106/05.in +++ b/project5_testcases/test106/05.in @@ -1,3 +1 @@ -2 --5 -5 5 5 -100 200 300 400 +7 7 diff --git a/project5_testcases/test106/05.out b/project5_testcases/test106/05.out index a5fba61..af0331c 100644 --- a/project5_testcases/test106/05.out +++ b/project5_testcases/test106/05.out @@ -1 +1 @@ -100 40000 \ No newline at end of file +7 7 14 49 \ No newline at end of file diff --git a/project5_testcases/test106/splc.c b/project5_testcases/test106/splc.c index ac8595e..28c7fd5 100644 --- a/project5_testcases/test106/splc.c +++ b/project5_testcases/test106/splc.c @@ -1,46 +1,21 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 106: Struct with basic members +// Test 106: Simple struct operations struct Point { int x; int y; }; -struct Rectangle { - struct Point topLeft; - struct Point bottomRight; -}; - -int calculate_area(struct Rectangle rect) { - int width = rect.bottomRight.x - rect.topLeft.x; - int height = rect.bottomRight.y - rect.topLeft.y; - if (width < 0) width = -width; - if (height < 0) height = -height; - return width * height; -} - -struct Rectangle rects[10]; - int main0() { - int n = readint(); - int i = 0; - while (i < n) { - rects[i].topLeft.x = readint(); - rects[i].topLeft.y = readint(); - rects[i].bottomRight.x = readint(); - rects[i].bottomRight.y = readint(); - i = i + 1; - } + struct Point p; + p.x = readint(); + p.y = readint(); + + writeint(p.x); + writeint(p.y); + writeint(p.x + p.y); + writeint(p.x * p.y); - i = 0; - while (i < n) { - int area = calculate_area(rects[i]); - writeint(area); - i = i + 1; - } return 0; } diff --git a/project5_testcases/test107/01.in b/project5_testcases/test107/01.in index 4d2bde7..9c6f148 100644 --- a/project5_testcases/test107/01.in +++ b/project5_testcases/test107/01.in @@ -1,2 +1,3 @@ -5 -42 +2 +1 2 +3 4 diff --git a/project5_testcases/test107/01.out b/project5_testcases/test107/01.out index 57b3df2..765f131 100644 --- a/project5_testcases/test107/01.out +++ b/project5_testcases/test107/01.out @@ -1 +1 @@ -1 204 2 324 3 195 4 295 5 233 \ No newline at end of file +3 7 \ No newline at end of file diff --git a/project5_testcases/test107/02.in b/project5_testcases/test107/02.in index d1b0adf..635f3a7 100644 --- a/project5_testcases/test107/02.in +++ b/project5_testcases/test107/02.in @@ -1,2 +1,4 @@ -10 -100 +3 +5 5 +10 20 +0 0 diff --git a/project5_testcases/test107/02.out b/project5_testcases/test107/02.out index 72fa770..93190a4 100644 --- a/project5_testcases/test107/02.out +++ b/project5_testcases/test107/02.out @@ -1 +1 @@ -1 201 2 206 3 138 4 142 5 286 6 149 7 321 8 157 9 180 10 275 \ No newline at end of file +10 30 0 \ No newline at end of file diff --git a/project5_testcases/test107/03.in b/project5_testcases/test107/03.in index dde5d5d..2e0fe5d 100644 --- a/project5_testcases/test107/03.in +++ b/project5_testcases/test107/03.in @@ -1,2 +1,2 @@ -3 -7 +1 +100 200 diff --git a/project5_testcases/test107/03.out b/project5_testcases/test107/03.out index 4272107..4d534a3 100644 --- a/project5_testcases/test107/03.out +++ b/project5_testcases/test107/03.out @@ -1 +1 @@ -1 200 2 136 3 111 \ No newline at end of file +300 \ No newline at end of file diff --git a/project5_testcases/test107/04.in b/project5_testcases/test107/04.in index 05fb676..9a7e65d 100644 --- a/project5_testcases/test107/04.in +++ b/project5_testcases/test107/04.in @@ -1,2 +1,5 @@ -8 -999 +4 +1 1 +2 2 +3 3 +4 4 diff --git a/project5_testcases/test107/04.out b/project5_testcases/test107/04.out index e801e07..8f52d54 100644 --- a/project5_testcases/test107/04.out +++ b/project5_testcases/test107/04.out @@ -1 +1 @@ -1 247 2 277 3 188 4 236 5 199 6 221 7 218 8 127 \ No newline at end of file +2 4 6 8 \ No newline at end of file diff --git a/project5_testcases/test107/05.in b/project5_testcases/test107/05.in index 35512d3..e7fbb4d 100644 --- a/project5_testcases/test107/05.in +++ b/project5_testcases/test107/05.in @@ -1,2 +1,3 @@ -15 -12345 +2 +-5 10 +8 -3 diff --git a/project5_testcases/test107/05.out b/project5_testcases/test107/05.out index 7a49fff..3bffa35 100644 --- a/project5_testcases/test107/05.out +++ b/project5_testcases/test107/05.out @@ -1 +1 @@ -1 369 2 202 3 248 4 365 5 240 6 153 7 336 8 238 9 312 10 138 11 234 12 279 13 276 14 128 15 370 \ No newline at end of file +5 5 \ No newline at end of file diff --git a/project5_testcases/test107/splc.c b/project5_testcases/test107/splc.c index 552980c..7da3f87 100644 --- a/project5_testcases/test107/splc.c +++ b/project5_testcases/test107/splc.c @@ -1,50 +1,29 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 107: Struct with array members -struct Student { - int id; - int scores[5]; - int total; +// Test 107: Struct array and member access +struct Data { + int a; + int b; }; -struct Student students[20]; - -int calculate_total(int idx) { - int sum = 0; - int i = 0; - while (i < 5) { - sum = sum + students[idx].scores[i]; - i = i + 1; - } - students[idx].total = sum; - return sum; -} +struct Data arr[5]; int main0() { int n = readint(); - setseed(readint()); - int i = 0; + while (i < n) { - students[i].id = i + 1; - int j = 0; - while (j < 5) { - students[i].scores[j] = getrand() % 101; - j = j + 1; - } + arr[i].a = readint(); + arr[i].b = readint(); i = i + 1; } i = 0; while (i < n) { - int total = calculate_total(i); - writeint(students[i].id); - writeint(total); + writeint(arr[i].a + arr[i].b); i = i + 1; } + return 0; } diff --git a/project5_testcases/test108/01.in b/project5_testcases/test108/01.in index 1f8e113..aab0fad 100644 --- a/project5_testcases/test108/01.in +++ b/project5_testcases/test108/01.in @@ -1,2 +1,2 @@ -5 -10 15 20 25 30 +3 +10 20 30 diff --git a/project5_testcases/test108/01.out b/project5_testcases/test108/01.out index 6f4fcbe..b4ee7e1 100644 --- a/project5_testcases/test108/01.out +++ b/project5_testcases/test108/01.out @@ -1 +1 @@ -10 1 15 1 20 1 25 1 30 1 \ No newline at end of file +10 20 30 \ No newline at end of file diff --git a/project5_testcases/test108/02.in b/project5_testcases/test108/02.in index 41616cb..c278a74 100644 --- a/project5_testcases/test108/02.in +++ b/project5_testcases/test108/02.in @@ -1,2 +1,2 @@ -3 -7 8 9 +2 +5 15 diff --git a/project5_testcases/test108/02.out b/project5_testcases/test108/02.out index ec42b0c..c0c0100 100644 --- a/project5_testcases/test108/02.out +++ b/project5_testcases/test108/02.out @@ -1 +1 @@ -7 3 8 4 9 5 \ No newline at end of file +5 15 \ No newline at end of file diff --git a/project5_testcases/test108/03.in b/project5_testcases/test108/03.in index 63bb245..18a4d51 100644 --- a/project5_testcases/test108/03.in +++ b/project5_testcases/test108/03.in @@ -1,2 +1,2 @@ -10 -1 2 3 4 5 6 7 8 9 10 +4 +1 2 3 4 diff --git a/project5_testcases/test108/03.out b/project5_testcases/test108/03.out index 79b45fb..7b697b8 100644 --- a/project5_testcases/test108/03.out +++ b/project5_testcases/test108/03.out @@ -1 +1 @@ -1 2 2 3 3 4 4 5 5 1 6 2 7 3 8 4 9 5 10 1 \ No newline at end of file +1 2 3 4 \ No newline at end of file diff --git a/project5_testcases/test108/04.out b/project5_testcases/test108/04.out index a8dea31..a5879dc 100644 --- a/project5_testcases/test108/04.out +++ b/project5_testcases/test108/04.out @@ -1 +1 @@ -100 1 \ No newline at end of file +100 \ No newline at end of file diff --git a/project5_testcases/test108/05.in b/project5_testcases/test108/05.in index 742ab72..0339e6e 100644 --- a/project5_testcases/test108/05.in +++ b/project5_testcases/test108/05.in @@ -1,2 +1,2 @@ -6 -0 1 2 3 4 5 +5 +-5 0 5 10 15 diff --git a/project5_testcases/test108/05.out b/project5_testcases/test108/05.out index 2e83974..f922e63 100644 --- a/project5_testcases/test108/05.out +++ b/project5_testcases/test108/05.out @@ -1 +1 @@ -0 1 1 2 2 3 3 4 4 5 5 1 \ No newline at end of file +-5 0 5 10 15 \ No newline at end of file diff --git a/project5_testcases/test108/splc.c b/project5_testcases/test108/splc.c index ca39a1e..63b5b13 100644 --- a/project5_testcases/test108/splc.c +++ b/project5_testcases/test108/splc.c @@ -1,58 +1,33 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 108: Struct with pointers -struct Node { +// Test 108: Simple struct pointer operations +struct Item { int value; - int count; }; -struct Node nodes[100]; -int node_count; +struct Item items[5]; -int init_node(struct Node *n, int val) { - n->value = val; - n->count = 0; +int set_value(struct Item *p, int v) { + p->value = v; return 0; } -int increment_count(struct Node *n) { - n->count = n->count + 1; - return n->count; -} - int main0() { int n = readint(); - node_count = n; - int i = 0; - while (i < n) { - int val = readint(); - init_node(&nodes[i], val); - i = i + 1; - } - // Increment counts based on values - i = 0; while (i < n) { - struct Node *p = &nodes[i]; - int j = 0; - while (j < p->value % 5 + 1) { - increment_count(p); - j = j + 1; - } + int v = readint(); + set_value(&items[i], v); i = i + 1; } - // Output results i = 0; while (i < n) { - writeint(nodes[i].value); - writeint(nodes[i].count); + writeint(items[i].value); i = i + 1; } + return 0; } diff --git a/project5_testcases/test109/01.in b/project5_testcases/test109/01.in index 4d2bde7..9c6f148 100644 --- a/project5_testcases/test109/01.in +++ b/project5_testcases/test109/01.in @@ -1,2 +1,3 @@ -5 -42 +2 +1 2 +3 4 diff --git a/project5_testcases/test109/01.out b/project5_testcases/test109/01.out index 3a24646..765f131 100644 --- a/project5_testcases/test109/01.out +++ b/project5_testcases/test109/01.out @@ -1 +1 @@ -33 40 40 46 61 \ No newline at end of file +3 7 \ No newline at end of file diff --git a/project5_testcases/test109/02.in b/project5_testcases/test109/02.in index d330ff6..e3ee4d2 100644 --- a/project5_testcases/test109/02.in +++ b/project5_testcases/test109/02.in @@ -1,2 +1,4 @@ -8 -100 +3 +5 5 +10 10 +0 0 diff --git a/project5_testcases/test109/02.out b/project5_testcases/test109/02.out index 55057b2..96958b0 100644 --- a/project5_testcases/test109/02.out +++ b/project5_testcases/test109/02.out @@ -1 +1 @@ -37 41 43 47 56 57 58 72 \ No newline at end of file +10 20 0 \ No newline at end of file diff --git a/project5_testcases/test109/03.in b/project5_testcases/test109/03.in index dde5d5d..2e0fe5d 100644 --- a/project5_testcases/test109/03.in +++ b/project5_testcases/test109/03.in @@ -1,2 +1,2 @@ -3 -7 +1 +100 200 diff --git a/project5_testcases/test109/03.out b/project5_testcases/test109/03.out index 61c7bd4..4d534a3 100644 --- a/project5_testcases/test109/03.out +++ b/project5_testcases/test109/03.out @@ -1 +1 @@ -43 47 49 \ No newline at end of file +300 \ No newline at end of file diff --git a/project5_testcases/test109/04.in b/project5_testcases/test109/04.in index ea48361..6dc196a 100644 --- a/project5_testcases/test109/04.in +++ b/project5_testcases/test109/04.in @@ -1,2 +1,5 @@ -10 -999 +4 +-5 10 +8 -3 +0 0 +1 1 diff --git a/project5_testcases/test109/04.out b/project5_testcases/test109/04.out index b213f30..6c0eae4 100644 --- a/project5_testcases/test109/04.out +++ b/project5_testcases/test109/04.out @@ -1 +1 @@ -24 38 41 43 44 45 47 50 52 73 \ No newline at end of file +5 5 0 2 \ No newline at end of file diff --git a/project5_testcases/test109/05.in b/project5_testcases/test109/05.in index cd4f284..b991c47 100644 --- a/project5_testcases/test109/05.in +++ b/project5_testcases/test109/05.in @@ -1,2 +1,3 @@ -6 -12345 +2 +50 50 +25 75 diff --git a/project5_testcases/test109/05.out b/project5_testcases/test109/05.out index 10e85a3..d3ff3ef 100644 --- a/project5_testcases/test109/05.out +++ b/project5_testcases/test109/05.out @@ -1 +1 @@ -19 44 47 50 58 71 \ No newline at end of file +100 100 \ No newline at end of file diff --git a/project5_testcases/test109/splc.c b/project5_testcases/test109/splc.c index 89d3115..bc3d7b1 100644 --- a/project5_testcases/test109/splc.c +++ b/project5_testcases/test109/splc.c @@ -1,68 +1,34 @@ int readint(); int writeint(int out); -int setseed(int seed); -int getrand(); -int assert_eq(int where, int given, int expected); -// Test 109: Complex pointer and struct operations -struct Data { - int values[5]; - int sum; +// Test 109: Pointer arithmetic and struct pointer +struct Pair { + int first; + int second; }; -struct Data data_array[10]; +struct Pair pairs[5]; -int compute_sum(struct Data *d) { - int s = 0; - int *ptr = &d->values[0]; - int i = 0; - while (i < 5) { - s = s + *(ptr + i); - i = i + 1; - } - d->sum = s; - return s; -} - -int swap_data(struct Data *a, struct Data *b) { - int temp = a->sum; - a->sum = b->sum; - b->sum = temp; - return 0; +int add_pair(struct Pair *p) { + return p->first + p->second; } int main0() { int n = readint(); - setseed(readint()); - int i = 0; - while (i < n) { - int j = 0; - while (j < 5) { - data_array[i].values[j] = getrand() % 20; - j = j + 1; - } - compute_sum(&data_array[i]); - i = i + 1; - } - // Sort by sum (simple bubble sort) - i = 0; - while (i < n - 1) { - int j = 0; - while (j < n - i - 1) { - if (data_array[j].sum > data_array[j + 1].sum) { - swap_data(&data_array[j], &data_array[j + 1]); - } - j = j + 1; - } + while (i < n) { + pairs[i].first = readint(); + pairs[i].second = readint(); i = i + 1; } i = 0; while (i < n) { - writeint(data_array[i].sum); + struct Pair *p = &pairs[i]; + writeint(add_pair(p)); i = i + 1; } + return 0; } From 9cbbe939cb5d8666deb13f9ccb392b8d177727e0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 11:23:12 +0000 Subject: [PATCH 8/9] Revert .class files to original state (undo accidental changes) Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .../framework/AbstractCompiler.class | Bin 381 -> 468 bytes .../framework/AbstractGrader.class | Bin 2431 -> 2989 bytes .../framework/lang/Type.class | Bin 241 -> 311 bytes .../framework/llvm/IRBuilder.class | Bin 6091 -> 7049 bytes .../framework/llvm/IRType$1.class | Bin 816 -> 845 bytes .../framework/llvm/IRType$Type.class | Bin 1182 -> 1274 bytes .../framework/llvm/IRType.class | Bin 3485 -> 3881 bytes .../framework/llvm/IRValue.class | Bin 1829 -> 2044 bytes ...nticError$DefinitionOfIncompleteType.class | Bin 1105 -> 1251 bytes .../Project3SemanticError$MemberError.class | Bin 1140 -> 1281 bytes ...ect3SemanticError$RedeclarationError.class | Bin 1158 -> 1306 bytes ...ject3SemanticError$RedefinitionError.class | Bin 1073 -> 1210 bytes ...ect3SemanticError$UndeclaredUseError.class | Bin 1077 -> 1215 bytes .../project3/Project3SemanticError.class | Bin 1550 -> 1824 bytes .../project4/Project4Exception.class | Bin 369 -> 466 bytes .../project4/Project4SemanticError.class | Bin 4592 -> 5281 bytes .../generated/Splc/SplcBaseListener.class | Bin 3454 -> 5014 bytes .../generated/Splc/SplcBaseVisitor.class | Bin 3672 -> 4949 bytes .../generated/Splc/SplcLexer.class | Bin 8795 -> 9100 bytes .../generated/Splc/SplcListener.class | Bin 2268 -> 2268 bytes .../Splc/SplcParser$BracketContext.class | Bin 1948 -> 2488 bytes .../Splc/SplcParser$ExprStmtContext.class | Bin 1769 -> 2256 bytes .../Splc/SplcParser$ExpressionContext.class | Bin 3554 -> 4636 bytes .../Splc/SplcParser$FuncArgsContext.class | Bin 2427 -> 3067 bytes .../Splc/SplcParser$GlobalDefContext.class | Bin 3043 -> 3790 bytes .../Splc/SplcParser$IfStmtContext.class | Bin 2233 -> 2826 bytes .../Splc/SplcParser$ProgramContext.class | Bin 1965 -> 2530 bytes .../Splc/SplcParser$ReturnStmtContext.class | Bin 1837 -> 2344 bytes .../Splc/SplcParser$SpecifierContext.class | Bin 2729 -> 3478 bytes .../Splc/SplcParser$StatementContext.class | Bin 680 -> 935 bytes .../Splc/SplcParser$VarDecContext.class | Bin 2005 -> 2645 bytes .../Splc/SplcParser$VarDecStmtContext.class | Bin 2196 -> 2739 bytes .../Splc/SplcParser$WhileStmtContext.class | Bin 1997 -> 2539 bytes .../generated/Splc/SplcParser.class | Bin 21632 -> 23005 bytes .../generated/Splc/SplcVisitor.class | Bin 3013 -> 3013 bytes .../impl/Compiler$ArrayType.class | Bin 1383 -> 1626 bytes .../impl/Compiler$BasicType$Kind.class | Bin 1069 -> 1161 bytes .../impl/Compiler$BasicType.class | Bin 948 -> 1159 bytes .../impl/Compiler$ExprInfo.class | Bin 416 -> 509 bytes .../impl/Compiler$FunctionType.class | Bin 1654 -> 2004 bytes .../impl/Compiler$PointerType.class | Bin 1258 -> 1475 bytes .../impl/Compiler$SemanticAnalyzer.class | Bin 20716 -> 24660 bytes .../impl/Compiler$StructType$Member.class | Bin 504 -> 606 bytes .../impl/Compiler$StructType.class | Bin 2624 -> 3097 bytes .../impl/Compiler$Symbol$Kind.class | Bin 1235 -> 1327 bytes .../impl/Compiler$Symbol.class | Bin 924 -> 1107 bytes .../impl/Compiler$SymbolTable.class | Bin 3891 -> 4930 bytes .../impl/Compiler.class | Bin 2253 -> 3622 bytes 48 files changed, 0 insertions(+), 0 deletions(-) diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractCompiler.class index 3dcf784fdd4c4f9a6ecf634226dd7c84263fc2c0..06b4c3cc4f97b08ddda86fb6edf1217adb388ec1 100644 GIT binary patch delta 203 zcmey%bcLDg)W2Q(7#J8F7$hfh?Ftm~$xlwq2}>->Oiap24FM613@jxXnZ=9@GCpZV ziMgre`9<0Kj!DHOMTyBJ&iT0onK`LN){G3S#U+VFC5#MQt`*6t1tppJdByAuViRx0 zB)c&%0U-kem)3R$MlJ2F4D1_$JSGNyAj!wT3?w-jSQxl~BsYTqkS7LF%^=7i1mpqr g0mXS37+Dw@gc;Zv7#T!>Vk|&f6o|!vY$gT?0BQIq+W-In delta 99 zcmcb@{FjOA)W2Q(7#J9A8N?=X?V9*slu>xHC}WJf76TIyGB9vyZD(NA(%#Czz7fb{ qWZ(yqd<@J$l9PdjfeT1-voJCUFt7pT1c9O~Kw1chMSyH322lVIsSRcT diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class b/out/production/CS323-Compilers-2025F-Projects/framework/AbstractGrader.class index deaa9f5e97c6df11ed6cce114487928bb0aa06ab..e9274fab95e3f361f1897bb5311e287690dd04fe 100644 GIT binary patch delta 1031 zcmZ9KT~8B16o%i~?RMKzXl-N5S1_m%+X9UkV+3QwNB}J%ib0JUUCIJ0ZMSZ>f}i!< zd*^p(#E_bJ;SccETmOJp@(aMT({;O;OlHo^oO$LwZ_ZxgV>>=kb0k5>#dr z1+%D?7B$PzmP-0HXJQE0YetQsx3FSqWqrf6*7K7~HQUmP_Ozuf>(&HA)U4apy1igq zx>jaLaVDjXGISZ%{Jx9M1zRhw&uLY`R#D}HN;k9kxKd+}_$Q@1(pl5XTE#YsQ~ZzI z!$;+Ag&}jiz^ig!|I}ttuiA!LnaC_Mg!O-0hGQZj(oWzz%5YFJEE3LlmEIUbXjxyX zuNKTz2D!wK1S{+({}7yIGXE9KG_nYg5$9mwKCMoaKoU$u>nK4IQJEqc6^iqa_HYIP z6&)%}6%S~D(Qc0}_n%61$_S;PM)L~YU!>0*U^JWif?*n88^~|bfrM3>BjU0T9q7jz z?NhB}Pg~U0#$coFBJ;F5YL)CZ;-5WKP#hi-m}o1Zg$Xb`gmb$=xd9wt*rd%Z%+Tye zG%6(`zM1Fg&_JVALl^l3j8F}uq&DxXBk3`cxQ-hx z~MM&OLr2e0W9{ostk;I|~(;5W{8alsVtuY47he-iW`Q&XvJZgnTQE GdG{B;B%ba7 delta 560 zcmY*VOD_Xa6#nkCGq*F1M=DX`O(boV5nYHkA)&OZ5s7FbQ>t2h3|g;^e_(UhY-~wL z#KOW4u=X3ouTW>&32k!kIp==oJKy`d_VM%f4qy&f&zd5Knv9aUcN90RO*5HG zaby|VvgVnoXNr2XV3kWo=_F<5IdbAbK4qt(U+HiK12JK_y2OW~Nx?1gsf4*_Kb0(} zV?yTzb}#ODlu6>72j_K26->d+;pND19MJ)zSA|S8q7tDD3^MW*52zmy*B*a@Ax*Ug ziDDPL=%#J~MTgTvnNdd$y`c4piW*(1f_-iV3wC`>9XI6@x;t2-XfH5CzdFH~Fw}u2 z8&5cRMBJ*q*EOYPxQIDQi^t%DUY##FykRnB+fqX#FEC!Q{Y;N~zZ38vLW@`bR(2A@ z9%28~n%7Ah+{KckJPt|RXq`j#9;Qib1}&H+P8nwoGa|mU-Ui+Rd0iy0w$}Nd;)+=I g4u+-bXZpwz5Cz9N>207LaU2rj0&AzCi>k-VU#bvKlK=n! diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/lang/Type.class index 9bedda4959532eddccde471977573d6cc773adba..af974800cde4b8795aa549b32838afe5adc1cf31 100644 GIT binary patch delta 133 zcmey!xSfgX)W2Q(7#J8F7z8JBwHgWeTQge4YbCMM;ihJXl029}bH%wk3cQJ=J; z#N5>K{Gx3AoW#6z{gBFnRO^YoRyKwVj6lf1z^=8Efsv761CYtYzzrnXAi@khKsFDQ Q&C9?C{>e+7#SHh0GW&o+(42IA`B#X JfIKD!UI6f#3JL%K diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRBuilder.class index 093c92c2bb953626bb0f918713d1b980c081d4b0..04b4c93cecbab0d511f2a8f5e946be20f1bdbbef 100644 GIT binary patch delta 1538 zcmY*ZTWlLe6g_v>UOVfx*RR@jkG-tYIjyaE);E9K7avP~sx=K9V(=bkw; zv$MrkuYO|wz+nJoitW)`dPj8qmYb{f!D?f)I$W;}$bsN#ZW^5+w2OI9ySPv9Tk9FG zj&VM^esgtuwOFr?j}$jF8>8bRs|o&Ey*5@GZ!#cpKH22f{|WPAPS1;3{Si%RP7;!W z0!bf%wi6bMU2Tg+GjLDX+o&}Mc-2#Fj4;`dC>TR3p(SPltHdf}MpHHp6EfmtFeAIAHd)Jrcqp{lqcXcN z%~I%d9be!}AHFhB!q?&&^H}m*f>I_^!zmr#;|CvpH1HFC-n%U9r`)eP0{G3q2ly~7 zf0uLJ8JYXj!25VJjK2vzVr3vM#v<7z|H_ql1MlG7F!q@m5hqA7@CKKXN9>NY$4HYo zpMlr#dYIY>OFMaU7mBkHuSN!;t5f)1 znShta06Z{YB8YZ`kmG0%XAKaKEAcq?@=Tb*J}7vMU#L?I~QbjP{aiwffV1Yot z+o0cV(2u8agz=rcl^Hz4lrAyhD2_RV6;X~a>9zN)S;{ij9uo`&;x2LAAtpSF=Xgzu z*(q*|mv*R@U%FMF<#ss>Zwt%2_`EADkLN96Kpro!2kHV3Wac<$?5&?*J+pYx>2^0X z>rB!IantpMu4T*jWB5`}L7a+591S5xf)xarImOmUgGx5W)sc2}q+K0pM@Nv)_a(f{ zmYzEmxpq#`E3Bx6yBzNhu`=mWO%xYxB1Jr~XvK~N=GC00ehlGNoCJk+c`Y6AWe!*` zbWLODG`3wQ<=O{fn^{I1)-K@FEfy|lGaoKuYwjR7EZ#T2?Gj`bS z7snGD*rkqS+IGnnQ*q%H7hYl0Z87|1aNrm5ET5gfFonty^vXxN@Y-fAN%m9n<0Hn) zXY{dE^$9-Z`3m^(8FPGttG?r1AjTuKR9bg+{?<5N?!6?xjE7)KtZO` LK@_4eMUnasm-Q@^ delta 842 zcmY+C*-ukZ5XQe#QVN&b_9Aox7b+CGXj-val@hC9)Wk^8h#~$1zDbO}nHXZCX?$~D zjBh@w588rNQ4tkU0YSxm-!~N8H;g)mo)}DS=Fa)%H*@C9ImuXGSnK`W(FvdyzfxLK zqke4xZ7kSF&3cj=tz)#wc7PK0G*ua^sMT0cqeiu@U&AE~STLv~ipvx(>~>uhFeQXN z7uPgg#|;Z^>bQm5ZQ7(fQF%{80q*PQ!FfY|b<91M+7lh;aK^whfjNF^Ei9rzyLUQA zU&!c79cR&PAkD%XDGcj4E%A4>P`I2;ERRb0y^d4pGVoEL+)o4fW!6BG-HcrZz6gZ; zNYF?*cwrSLn;J;3qW{ZxhWlR2&zA4966!KniJ?aFB=5NGlv+VWKS#&(t~V2B{brUR%PQFYd{4T^r(0^A2$~f#P|WtV~$^e;##PoWcAi;z3fCI@M0Efn65)L zmSQ&Z{E`$e$0o;@7i`C}F2v+bWV5qlt>A%NV9kV!=;ePsEa+q63Whjx2Y2yc+qY^EoS5s^2tw5%n3^@%1lhkNu9im(S=2ykwJ7~zUX9T zCMU*yliip)#F-g1fLhoX7=dIogC>w<0%EPncbSw7wZS|c23;V{!k`Bv4ZtFL42D2j U2&j??C~D*&#lQjNGYD`108y?MrT_o{ delta 104 zcmX@hwtrX5HU>r@8O@+M u`4^Ltp%#$M#GuWf1Eg6Pbb+KkSVWh>07we~<(Pn?h7M8;96&yU00#iWNf1{6 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/IRType$Type.class index 682a03f6354168de166458d363a977826676edb4..f803b0ac3caabebcf1633fa9f0df17bbae40a64a 100644 GIT binary patch delta 279 zcmbQo`HNHF)W2Q(7#J8F7@XM|m>3zPCLWa9sKw1>CghW!oR|}qSd^KVl#?0)A{ZH1 z@)C1_l#owWVp*boPGVlVesD=qW?s5AP_85+vv{&GQyGf`BZKI~gQAlUG43zPCLWa9sKw1RIhUz~#fFhVbmBqL$-kKTBa|4J z7#M*Hxr7+Cb}+~sU|`$;Ywc}lT(ONIygNpRQ2SM~nzk=YKA3{((vt47T+lAdZbLRYid*;lU$(1kL^e?~P ze*loei#PfSPjuPtBZsW~KI>S{>d$A>;=`a62XX}l-*GEn%BD{a^D~|)O&PKVX|0C` zT33s&!}jqpRVt>v^T+g1=QP-uN4DH+P- z`^INA&SbvX7fCkT@s%2_f-zDuoToS)s=tG^#8L!jxPTpwKFN>zn#&SKDaK1apdBK! zg)9t*#jyRKg8m}njQBgKZ?R?`p;t7mM|8L%E-r=WF1s+|u8d1dF`_PrZdXL*f5f(h zt+cx^Hn=hxQF7|Hmmk)nW!bKuZr4AFCTyxx{XJcA3Nly|2`{7S$k)**is_*Y0Q81@9kKz}sKr3ptjBdn zG0n$~9%`pgMzk!N(~m~nu$xXr8^*~Jjo68sPQ!L0hy$dR5XA)fB)i#6NWY+}(AZD3 z(ke&B;djv}_AC3f#Z9xnE;X5U8xU85p;#;RN1iZ8D7QItZA35zosx*cnotv}q9{g2 zMFJXb@$csF9V1QScCwYm_BL8Y65xDbj^L@EWrjSEG0Ra=d% z-(I!WT6HB91V0d^6^o!Ne~I8qmx9GJWzeC-fpr#3_2DCM`Sxg$q&U6-im_kLiRODIizX;N^3c#k!pi+2CN zKAiPxw)Ph04Yt2S@dZIiLWSAX{|J3e2sIL>lZ4~RUxZBLNx1Zvqs%id;hL#0R%dIz`PGN5M;8=7{V}lOX+ZdRh0(@B>FhrVu(?$B)WKr z=oAm0Cn)}PQb#NYfNfOjJp~h^eMLY3qH})HAhZ zPQ{g)%*)jcyikbhq3L@OM1*X#u4=!%%@p0?kX?pBZ$3?dgc;0|Z=m7k=wHGLMH;D9 ItRs)W56p!}WdHyG delta 349 zcmZ8b%Syvg5IvLR_G*$oK$N7C8W$pTB`$qde1$tNP zg05Wo0seu1A>t$yDK6&BnKNe|-}#4}{qghi24EV;ZTrUHPve|x=4o!-#s)Suwp>hN zn_ta$ZwA(h`6GHtO11(gqh?B zU#n2`wh9^q2bGQ61`7sDFwF#12Qr_LfdeRN&AHN=eoiE8pMO!tO38Da%WWQtDzYD{I|fVj*S0-v96qtYv&` z=AD`5eV+cE*7w)t3c!SU)G?KcTFZ&O7~0O<9xtYYj|h0yv-wJ(WF72+sJltEPmUm= z_!lff$?3=9mm47MA&M3^TRGq*Y!GcYkQ1I75YwlgqlX>Vm<*V5U_z`GGB z#K>Rff$?3=9ko3=SK)QbRxlBLhoGMrJW1gRRfR zL~BOt$?D8~GLZ~S49q}%{94-?7`3#wGO%muY-Qlx2oz$Pe34nw*c`}GfGA@~ delta 114 zcmbQm)yBzn>ff$?3=9mm47MA&Vm<*V5U_z`GGB z#5h@(MUt11!JI*tfsw%!D3Uw5k|ltVaq=k^Sw&_B3!n%SgC&C%m}X+I2GU$Wl^j4( H8wM@_IL#5+ diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError$RedefinitionError.class index 07341ce0569f780d6ea433fa20a16678d6869fea..2921c83c94bb7602356ac2a896d130a406d3838d 100644 GIT binary patch delta 215 zcmdnUv5S-I)W2Q(7#J8F7;H9jJ!X;<^2tw5%n3^@%1lhkNeuxJj0`L#8JWe53^qO! z6RjAnC%^Hb8y0K%N!YERa4120N%(%nas0 Z9utEFgC&?|0;&R;&&a?56t!mH0ssiE9#Q}R delta 125 zcmdnRxsikG)W2Q(7#J9A87wz)J!YEh!Q5=A#lQrF3=CXa+Zh6 X1`7sDFwMkZ1*ExvYB+$R)(l(#i!L8t delta 109 zcmdnbxs`+K)W2Q(7#J9A87wz)J!6{e!`#BCHTfd5s4^pi5m20uff-0DGq5nIFmN)c zGB7e2GiU-yL!fBdWK|YVM#jncEV7Es3?@JkCI(XmGce7>U=F0YfGRnFq81EX0G$pG AOaK4? diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class b/out/production/CS323-Compilers-2025F-Projects/framework/project3/Project3SemanticError.class index 884beddef97db8c56a9ab9985f59554ac1b49168..15dc103723ea3e29e6e0332d599e79ca92bbcac4 100644 GIT binary patch delta 599 zcmZvY%SyvQ7=_O?8B5aGnxerVMJQfs>_x5huDB9Jmm+pkXf-bLI3llP#b@L`u6q~mP0PFV+$KXtR9HrwDM#j5!)?^u=3%fYo|UhI0vLS& zcV57{WFnZQb>w%5Ir7H9&m#k<3=42*s$mgX+L<9=6diTEEhjZ8sUe5FpD2V0C_Yu| z!6?(w@echU14f4emI6Qtst<_ukSHfjLWpV3|8y`VL@emA93YBe2dm#<@_&a32@qal zB>+er?6Q-bq7H4&bMiH82@yka@D8gXLOgQoT27>fBovhV=UKx#sR0ff782y5*r16+ alPJ>Igif delta 419 zcmZvYOHPD97=(*=K!m_#h#kX16m^)VPuzF_kHBfzyKut+^a!#dk;J77Z(zL3WC~2M zLnb8DPw{=-oqqFPT<3fH@d@A&54H29RziEOezm76*MG_w3Ln788Yndf1u5U=U#TlN z#|6J_Tw=!VjPnV!{;%D_DyZ4-Bh4nB?Ze#;_hh{6_C6#(ANW(~{qhGb{2~l!Ok|@I z0t$;kkj@iz8yt=CDe>iiOY4gw&BEgb@z@YFR{uuzYDR^8F)^=T&4Z}e;EL(OfItMF dlZ9(G85;`;Zs4#>aLe?Wcg%=+&lJoY&JJA!Cz1dF diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class b/out/production/CS323-Compilers-2025F-Projects/framework/project4/Project4Exception.class index 108ed5337886b0688b5b76fbd94a1dfab936772d..6fd0d473eaf8da9a69d201d406eeae771f437c42 100644 GIT binary patch delta 141 zcmey!bcvbk)W2Q(7#J8F7(^#>y_FU6$xlwq2}>->Oiap24FM613@jxXnZ=9@Y7;le zOw8kCw4V6YJ<4)W2Q(7#J9A8H6Tsy`5~s=xVCPzyyR03|v~<85p&+w=%GA1o9Xe_<^&benM zqbD1bd;g7J2N1`fmzBTWGpjpt2`#-^GYzdLt*^8VgVRbG1%?=()by>MSJMF8ra*hF-SM) z;J`+*ZgHVv6ZyWWBy7e2oj!mItrXcn{#HJ!wlD{uRBIO4nK3xYHWxE(?|p0$=w@ui zeB!oa^N2%&7a!uIB2NeJ4Ak=afdBRK>LF3RR-ozx6Twl3kBNz15T8`wqZQc5bFiOc zTdDT0KqdB-XJEJEGg0?*d{M+c;P(SLCh^u_XqDanJem!VENM+*2X<1f9ot1{yZ8ekWw57c@qklb`>?;HEg!7Z*7gi-2XIhm`x1wW*fo4OIQxzAc`gyy z2-OBcC5<5*7FauWgggf+7{bva%Ub>@*igZ;tc)dGVhQ7zm=36~guM%UctjUQW!CC z1KmM9=bRa*7d&n*r&s*htfMjhW7et@1h@C2%Ui6dIz_1A1*0aQ;T@q;mX$nWC8?Uf zT9Fvxlw2nOl4#;0O0iMaCnej-cDNzF$W4^UjtvzK)}b6_IE^!&u8s%8ai5PX{H%{h z*|I}EO_gZQ;rx_5q?4XS?r~s$Lu4d@Jh#xU6M|MpucF)a9LDW(Z1x8bNnt_ zg?FIS<0<~(tnziyEc_a-d%T{T%M*KwC$d9$4qYCv&7Ui$M?N6cl5~!#bEs}9agL{F zuwg>>iz|19_52fgmFxQ=vBOHys2h>LMky4tkz}?#k|?-|Uil~GHTtCPE(U}Q;i-K2 e{8=H67UIi7e2q7vccjw7I3}gnx0uFzxc>qAYkq$K diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcBaseListener.class index f2320239d5bc63d6fefe1b4353f58398d413542e..b620eba70f1019f74d33e9e25e25ad547c923846 100644 GIT binary patch literal 5014 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 F{sRpo6vzMo literal 3672 zcmbVOT~`xV6x|opDHxzuZL77kR;(ekj8L^yAP7M$H6kT3wzXfAa7o7w6V{yx%b!(W z>{>qf1N>1g_k0M+OmaKv%j}smXP?>ko^#Kc*Kc0F0%bR(roLRn@9HwB$k!+p5)6*1kY7U+xhm zT(_Evy-F?Dm(ToOLIg%CcGI=|wqk5^kYLs7qQH2l=AP54Th6-N6S$)bapb2}G&fj? z4jq*P*|7I)$vkUy9Qpl!9qACEj?>|O)GW0w8v@I^l|)Wj1+xS2!_P+ry3uwUtE%Y< ztmp!~bJI$=K2U^EL{y<`Jb!;n|34};_R>nwR%J3ks9>Ta3l)E#B35H1)kIv^~b}Shw(4LDUKdlJu`AmoC$jFXlpK&u}J|zQ8U^4P1hyHD=zk$N404DMh*g_l~!9d#3Na^G>?A(R#F>jZpObSLUu5De#GEVSOyO!K z&PvSrlALSEXX0$coN00jn90O>5OcmF=WEPn;#6afNzQf5W#T-EIrHRvgBzJR^_X)L z!|~lMd>dBN0=^^Gk;82)p@ff$?3=9kojENh$u8Erq`Q#@j=7c2{WhN%&q=tY9Mh2FWjLc$21}UHP z)V$Q9#FEq${osO}WH8~AT9I00J^7xv1t)7}UO{OIBZJ~(M=`OtRTi%l>B2wihF zl4cgT=5Q?b9!1xhholu@Zv>jXU~7+WU;x^W90i3)ni2L!V$*yI-Qp6gdZQSlQ9KN` zcr9G71~l%=v1sOCjA6J5(ahL3`MJVdM&`*^6;owFsRR@`F$|83v5Znc-d+Y32#Yap PvbB;VdpuB#i7^2Hw8COY delta 452 zcmeBizwN?x>ff$?3=9mmjL{ppu8B{UlrWoIEwOB~s$?Tux(ov&5Hc{ZY+{(b0Z214 zdIL!|uvi46E0E2==mrsCbO&)5eHs0Lq!*Blq<0~@-Z-EMD;ZWnRa#FrR8Xsjn9aw) z4Ah&DU097Xqbq%x70dxa1fJy=x9zzu(S$zmyWj0Vv5EdirkD{y0 z1F8(hX6A8pm4!f+A=p%&LRVP=R2j+`1|-pfXstZD(sBk4#&Cw45T%S+lm95bWn`NC UN-32wVsehMBzq(3zPCl|5^Z&cpN0RWaL2$TQ- delta 29 lcmca3ct=p+)W2Q(7#J9A8A8|@m>3zPCl|5^Z&cpN0RWZt2$28) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$BracketContext.class index 6ab375ac87ecdcca69d64085e3dc2baf2f29c3a7..2b4a981d0d51c5b430f119f71adec73a20c83eb3 100644 GIT binary patch delta 783 zcma)(yGjF55QhJAcFmeZFj+~&NJI+@V=RpKTjKp1uL<^10xl%p5=3ppN03w4*yI5O zZA2_AEqnz<5J5#z-$0z*tZ^e2vM^_M&V2v;oH;5#uW(&|UR(m`M_d7Cs5;11oi?mX zHEMKiIgwgSY-)+6R5Gpy206Q;Wf%g{gPc#)@^Wz~9lMyuz$O@^?knRFvKpreB zO=+2Iay7Zh&?MYawMfgV*q1e@vZZCT>>AaBM*WSu{5=fb;)y%!-%~?Im%pS^Jj+*m zAxL24xHRCZmChiYP|ndp(Wck=4O%HL%lDuS?exdcfo6&!$}N1|U;OQ#d?&hS3h@&p z#0_yJpxV#i{5}89!Yk(dZko%{Ls%zzO&<}_Z}WCoo!=XzmpTEbN$Oc2!o)Cm;4|5< z*sytu*ar*iD6kGhXtO#yfI*XuiJZ+pEEzB6&}Z>SxcQTXR|~v~Aq*2YLXPOw-IR_N z33;dLI8KdQeFJ&D7t(wEuihBO$%MX`v}jc7cV&yQcc}csBIGL=^U)qA$;}jT`Bm$c j=#Nzu`8S^?-!s(2F^f6lWSFN@rHV}L3$WA25QF^-wCZCR delta 443 zcmZvXyGjE=6o&tqiP>x{Om>N~f*2J+*D4o{x42%S7TWs=w!VSSAk*4d+a%2O%%zEr{KZpu@)rX6{RaosXXNd2&7O_+ VabUebi#}j2!|jLg`2>#O{{n%7GG_n) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ExprStmtContext.class index 14c4b3d3a7a2e7464bbda87fe9552c1418c43aa8..0e6d746a7ff1758f28b0d8db3ddd105a9fe417b4 100644 GIT binary patch delta 689 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$FuncArgsContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$FuncArgsContext.class index 4281115dac36121fbd44d6f085a62f012adbaec4..4ea47a8a05d4a41d75ace8c5f198c7bba8383816 100644 GIT binary patch delta 1096 zcma)*OK%cU6vzMf4$MP}43m@!IL3_&DaP1XYb~wzsZ{EVicd6Xh)zTxFllr}j342C z4HvS(#6;uLxO3&l-~%*iJo8{2ktS~LB1#ksV6>x^MNJi5A z)88f2D7Bu~8kJhdsy%Decb$bHV!yPy46{OyWJO%k#ZY=LGmC*0MLROo#|qmDPMvwrh4>RHK!++OWEIy;<)toGFQ)Y+4MXN41h4ToV1LHKpuX zUCVA!N`91*G8s~TYrSoc)aFK6)1oRX;+XuacMcqk9;f6CX@KZQI&v(~Dm!7G$3;3% zc_~=LCAuxSIR%QH$1<%K=zbXz)d4ZWWCw_SgEWph>!MO#nvX&cF|1HEb%**pPahpx zNGdTwYVJ^}RTs1NuT;X5N{mbO<|kQ&q}C@$>E-~*aniz}QX8bRj!j>x;CD*R>1K8y z4ivc;ZunxzM;&zuYS1JTCwx$mKoT`e$;}@Bgmj;d9_WbEVqSpEmtELNFD-y6*uqtU zP${la?~Bd^6tV4d^Rzo3x$+@Edc&|1dLs964A)WeE6d`IYHmpG_;?blNb8sYcj*bV-$Gx3hX4Qo delta 656 zcmZ`%y-or_5dLoO;P{C-xJ1pNh=x#jn3xy=l|Mm2ITbbG9qfGpVq$NxmG5974Mq!t ziG{KE0ek>UD-z@EvX~2MvokyU{mjhWaCT_NUcVk50hDoSf@yI0yW#YfUvyqHF8H(Y z!9N2Xei=OD=jK~J1qO}Krfchc1a2wSP@pp?%4`K2lrwD7Z5>;5=INg1SD~4%AGb;` zMdS!6-hHChAEIkYv?NL8u_$z+15wwu=K6>ZU`=+DBWPvp()HQIl6}M{(FJ8wm8@-L zv#4xBZY)VQ(~~SQX%Y(xohGzSO_^?X{tix$($Uxvbg5ZZLXe38YN#tlf}&U`GjD#t zqg__0zJpzbE6}iFTs!-O)HSBE1Ek!0EHMZZCci;MAXp7?R!4)XI^n^MFRoBl^7 z^IN4sDowx29`;FIh*Wten(6p0TdCPQZ8T6M5#Ns`T*AV#$?R?z{8Rcr z=!lNuYo^nVGwP@_I-`G&eX84-Wy%z|s(57_4xM z+q%owv&EWOmX~GScDSvfgCX7W7V$d{n#?giDw#d6?bxk+# z@C}7z=&f*frEYS6V=7tL(s%W&sauuooT)obE}tq??Mha+T+`0(Ud!5b%Qbd*)>9im z=Y*1Y9H-FB&`Hdt>Nd9+#*_J09InlIw#4ln!_v*A>N?M9IL(l19sNSxD$m*#M=92j zXd80Tr4;XQ%MB#!nK+)s8HT>&!8;5Wnxjv7`KY^wnJpNOO9G!`xYSzUs&3!mWnbP9 zL#FlN`MsLW9ml9zzP=GWuiTxwO2CF4j5vQvD|aQ!nHG7Li@WUGc_ zxK)yo#^pFBkR=(rV$X*%%$!U{z~A@Rws_gi_24QdHM|tZHC!h*h2~s3RmN5#&njIM zhg37SX_)J_@cNAw>6dWPE7Ii3RIea)nuM4?*NO){k+p4DcDyJ?W!$J@NaPw-*=7`pT8WC1yPC`+WUb)t^7G`X{| zJi9W#L{niywJ*cvwjnmOIYk&-Q5>@f)TirISij0mSu7+pcTIYKV(PWAQ zcF7STfDBh!kRNZP!$Cvif!txLu|w`?V=li7eK5%*S>^3Ty`~)ADdvkOB&L_kyhhQ| zplIz_pH#JWF0@BA+3rEmyO;m?NQ_e1eBm{so& zgwW@O(AOy8s{lohFX48WgmYmMz7F7zLYND~pAW--6NXAB5uPu|S0qCAdnf zsG^om^dI2q#_+!jz%>>AT{<4YJ%Y_6uQGXyDjA`DGDH8cG(&$Q)sK?ujCV{?5dg2_ z4I*JEU{R3;$}-@UWuTGlVL;bWS(d`mG7^@SM*;j%S?-77JHzmgL-EUavpIx8FNDFy z5Pk|!9ECtXKov!vQW}+&$&7r9;V)&@MQ?S>6#h&-_KT!A?;Z0~s$m61BB7$9M9CEe zehaILcAQr6S)}7LpV8~qUju?7zSZBxI|^AOCQ;)=<}pSe;8f-jM$_NpLIgrvRQA26 z?RWI!56R}0JK<|f;9a~&eD6yH>!;ff{_h2snqTlIz2L7WeZhzLh;$3H@2CidD1!6@ z^il+AieNl~{S2*FXr)sffk^(Qq4!VVMMHihL--hl7Ye%sq;5AB_QnOBn rBH-AND?^3WNh+Y2pqum`q$q$vYagv!w2HiJ(>g$_N$Vi3JLvikal&>r delta 975 zcmZvb+fLL_6o&sE=nON_9!zK|Gt7`dqQ%7MjR(LHIf)J^if09lG2VFPg}3t%eGL^5 z7>y(olmv_r$3)(M_b~q5Em}JJX8-Np-&$S!U#mZh`>yrl&zB~EVLZz~Rp13@b#M99 zjK1sx&c$fxN=aziq@M@E}V#D{S?PF@L0xvqNh;~#lam8C1m z(yfxdBBRSPdX4l*J6-p!UK!pXeifrog%2faXk5m3>;{gdZTO5a9;z4@K@(g<^Fp^( zD&4lbh1+&Ia2>q=B(5bQ;{LcSiv4lZ5lx~~?bqq_4~9>;Zkq|F6Vvpw?cE z7ggh>tJx%4;*|WquqIp@D11WqG9RPv=7bMh9I*=2XSFMmcw2V;8gBM7Nw&Qm?=0y_T! Db`xT9 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$IfStmtContext.class index 499bc835362d3a938157261965c9af35dfcd11f0..b835967bcd4b62961b009117b4c6d754c5343ecc 100644 GIT binary patch delta 1036 zcma))%WD%+7{$+>nIq%!sMTn#iS>nxSON}2D@_nx&EAC~ z7r_T8DCpL1qIFT~)<40&!L4*5h-V&7#xM&B+1Kj4#?ubUim{a;J|Q54o0B{Sqj$@HV1d#Ie>=As<-Q-KpWNs7Q+ zT&hG|s+SR0y;Qp}9Jq1Qxo%R{C+xIJUF=@tQ}k|Mk-+)Bn^X{t0#tCyGjkee0$448 znWe8Nyuh~7CJNR%iV9q)>U}UNcbxJXS>;V6r5SQf%;PM1=RAeT@>qotPLRKng}Er{ zElKbGmvkN%INrU?J90+f=V%d2?_nw*BA|R|DUStQq>n}F{BPW?Tu=CRon>#i8ls1bu8YhmFdzG93TpV3B33&FylVQ-|MeNn>z?4?(J07c4_baj(FUv;! zMAi~thdG!qNF{yC3}C+S*T6JuLT!t4))`E)PH}HIf-S#ms1tobu7KHy&dX*plhxfW zc{2CsCd*d$seUebK92>6@U|TLZ#2&d;I>D*!XhIH&Zk66tSVxj5e0kN_nd5i^aq@F z;Wg1xE5(sMRHD;RH^h4}5c!YLUHRMoD|-C#0DX0?^dWA!T1GkI3-Tc~I3~g;wUtub z!4>ydp^7i>5?lQTXD0Fj%2U@oQuCy1)=(j!1}@2Cd-OnupW%sG3-+Q{TIX#Wq3b5L Y!fs%jy`TFrhS))hpMff?!@i5u52KGfK>z>% diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ProgramContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ProgramContext.class index b9e6aa20026589e2eb6f5f01ce48af428a89c0d1..898e5695d759dd87f3f5b8594a92bd80c52f71c4 100644 GIT binary patch delta 873 zcma))OK;Oa6ot=>tr(M5Nv2XDNkMFoz-c8?-ZZp4!Xpr9X`=28vcMuZB{7j&1QG06 zRI`C)5laws69fwsR!IB>cKitzNL8=Lsq0oOkR{*o%stU!PQL)W`s_if*i6@77JPt)!Aj_0%)CaJR^|8i5l(oOkVcauif z?YMr6)+W^2FFiBPklkr!d1=eg)DVzPl#7kV^o-olfAmVwz$lYpajg&S6Ad{^^iHVh zCZ=dS61LztPS6*_Nt~jtV>B*N4due@Be`4d{X>45WE^J{=4_8jz?mf*oNCe%W}%PN z0OoGiW5vpbZ9^+0z&T74gkc}{4`Ee;X#_K@;`nEbt*Z@#Ona5sr)*CY>=1gYFQOSJ z<2+GFiy7hu;b!T+Lz5F!gEg+bkC5Rpbz?bsbW9gkA6J ziol(wPCRtCj0{#{QAK1<;4&%%yrL8=L&K}vJIFtY1C==F8G)YvFX$SslfmF79?7zC zctwvndI5o#F;G5olt&de$i_|5h5tw}Q``0^5Z?AJig=rvIOZ^~D#IPBf@XATUw}yu HLmlQOUF>k8 delta 461 zcmZ9I%`OB%6opS!jcH{TV`>tNpY%c`w1t1;Zwv-2OABux5t(EXBnUFzKzeh)~svqvrb|P665Uo)EG88MD9Oa$21{{8E2YhjZA}_ zAgQ^)=)Ms7XXsyJJs#5_+l`)-L($;{qx}ykws?(q>Tp2^-0hH^GUgIPFE!drs@oqn z4nAUk9t#Oqw$1i|Vd>r%XC0$}6D-ojZzvF3`U7{3`4Z9mwC9YT^R%aeWdhM#tG1?x lw$gAD2AAKkNj|8`X)7*u6>ClfYE;9R43}7k<`LL{{sN*&F0B9n diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$ReturnStmtContext.class index f54d0fe473a1d4f1760a2e4a35f95f6dfb8e5c24..72a99680192c5cf9730e6f989697830124de0a41 100644 GIT binary patch delta 738 zcma)(O-lk%6o%jH9n?`Vy`_|B)S}H~RF-|&hn0O>EsFLgLIake618&E4=C=YRlA@~ zP!I+!qIEx_eSac4Gfp-}ix@cf+{1gG^WHOe{#)UB`+R-@kjD0d=Yn^OY$=~B?&ZpQ zZogRAH3EZDJ=K1O=L)@(0Fd^Uhyw6?KE7ihLp-f`QSXjO) zel=^=QZlCKUe}3U(W@m=#4SZAmSPCE&OJN+o}I8%QF*R>)P}*q$gWFs@jCcDr49^J zbQ)zIK!S2#LxK^E(v2aBF^WT!C#`m`CRFP8zC!(t5H^Iji5SPAfv6E9VKLlVAo`bw z4jaJT1hk{m@-Rz|9mMfyPiWKn>j*v2&HjpzNeDMo7J>AbKyZ>E3{yy1upL=)hGp96 z%5ZZH9;1nOBFMXJ5YdDPOk;+6XK5sDGDzuM3oOw3d(S)W2Q(7#J9A8C*7UO<7->{Kq0 zG0YMSg3OW(=0H)Pj|72wED$;;D{#naAS;#uDwai7Y{_5+GzH{I`^k+Qsv*dV6&Qq= w6=8~n7_7k-+W@Vx1+(lJ?7=i6g9DJ30*bQ$ZFgkg1VTmzCm;z5MP~+10QQn4r2qf` diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$SpecifierContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$SpecifierContext.class index 0dd8bcd66cebb840f40eea1657e5a420d0a828fd..9199586cca0669c73ecfe4f544dd932749546985 100644 GIT binary patch literal 3478 zcmb7HT~`xV6x}xoOn~7lwp96Ou~N(j8l|?iCL$1^q=u+TplYk_5Uz0~OtK~u7X2yy zhd$UBy6QuheeI9x>bZ9&(}dh8d0=KTxqF{|&fVwS@Xx<*{{pazvW5V|r3$yWZ8-cO zS*%yf^77EI8{8g72m=}hb!Z4P#CtAWDAsw|d|`4sQ?nd?;xL3O+$q%#xy7&)&1Pe{ znq5g6mQ%Hp$G4Jp({juso^))^lO=8+nU+z_*A93}#2nT!0-a%;I10@w_edKISE9LB z#<7vC8dfElsTz$&D(1dvI%YMQGaHU%7}GJ135Kyw28MJuK`(7?4cg+TG(;G#_O8O7 zVQ=uVr&c8Lk&cfs#W2(=2BmNzN&#gO?UFCzl7?v=Gni#qRMx6X55r*Ev`lA3lvrKg zE=(#L+tctV!;B&gQ9j{?5zJv;$7Os@738#`w!gm&$!Jaibpv(zAQjsaWD7dJ5M-nL z#B_Wv4Obba6=Zv6!*psSV-YbOaU@8_v3Tc08CLs~(Po%M}NsZtdu4_o@xPhBw zZe`7-KV@zua;m3`@{npWFU{(KEgXKkNBJdOI7nLC+ji+)PXt3Sn=euH=(!t&A(Wv; zq3+0;7SA`2_PJd$_N(+JlB<=CD!I@UpS_nM=cP%uTk2=mM2zjV0vW7WD(q%R;BfYU zj38T_-saW|Yne@YD0mM;jn)7l6_m>ve^Un(&5C6>O`Bw{b}dNvBW@)nOh`?na8559 zGBA_=vLyLfHYvm1zEpIyc1lQ~srEhzod7CmadU^lrxj6qJFjChil7M*^qlJ{*SbOW zq+#5{o^G|;CmdPZw2o_srd26AbR;n7-UQ8B2mFNW8jVpFLvknxAj6Fw>8V$Wm+^qBA`uYbUgb~v04ix4i-uL@ui49obEuD9sZ zO$6x)(Bh%sDS~h4F@Ue=Iw)SVHGECay1NA5;5L0?_*MZQP{G%g@H-0lpbDN*!c#tc z*%Kd*Pb{eL8*TWouRg89&#Um8O8i|F{;~?crNpn`9@W?_e!we!By@_Qv&G+TgKM7r zRoZ|6)(EzOb-D_gdsK!1-ACe)(99`D-yw9C>b|6!a+i5j1V9EGM8dGC(ln{il<%o& zOVWJTt!dKLGR%n`-J;jByM8%$(vZQ7k-+P+UUY*D;v!toZ?7MA(T6O`# zev#ZizjCPz$d@UO%Yu)EGo<%V~{2FaA%iz^W*=yMd-gP(MLZ~X`aca=lEIP U8GfOAguV;WasxwhUhZS)Kejjx8vpjJ?eLz!g#O6tPSMY(~LZ!UJ%> zTDJysR62={D14gu;CJsbx;2WPAw3jDw}ohzAk-}5Fh-ySx6~v{OKhWnc-WG8It!v> ze$hCiSkun=HJ;ThN)}LCgb^-WB03RLaeWypLS{9Pkr$YNSR0bDN-|bhW`k%pBqJ(` zQ~`Bi*xd?b#NRB$H<1y4!f2&I(37FYkrn?s7jisZJ26@ znOV#Q1x-A~VXeZw{Dw;lx62>%SO~xj8^|1X`Vq}%s7)8q?A)S7gNSJUqLxJVV5xm9 zGRu9oSibaMlXhw1{O)qVE{Ek^ma#$^v1HtPtLa=Wmpp>4j=x|#@Nt#;YyNEO*ziw< SO`bN}7#wR0amaW%#6JNL8CJCb diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$StatementContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$StatementContext.class index e04e073ecfbf36c736433b2eacb4a8b86df0707b..12eff6267640cb15a702d9753c23082640a5b9ed 100644 GIT binary patch delta 409 zcmYjMJxc>Y5Ph?k+nDo|5M%s`F@7}O1w6}wdq|MiVK+)r!tisqOqh$4o6c37T%4p~%5(}w2NdM2R(dAf2sXmDz+fR5_No)?idUG4rOPc9g0j z9<-Zlx)>NcV!K%`Dd`@glGJ3x~xQ}f$I(z7`?LOn1o`2Y30Hu LzNMhYJ4f^b#VZu) diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecContext.class index abd8f07786d93bd4728356dad615af514bf6efb7..d36ae590ba991d4b475c595d61616d1c51c70a9f 100644 GIT binary patch literal 2645 zcmb7GZF3S=7(Ev#OJGS1sj*_}YgAsM*r=@)OpU0ON-zUVzHi_b*KBr~Wntn^@jvu~ z{Zd<}wdu=DJ8fs$U)1Sy?=F;-%M?Gb_wMDM^PJ~-&b{#4->=^QxQlHKA%>G3Zgbc0 zc)QT(S}pn5HryU}IamX(>~EW();xuMo{ur8==dqySn2trH7%nLVO~4qUCDS&&4UvaBi3tpe+R^YX!zo3% zs%Fm<)lOgu%Q{ZrJ%$9Qs=0mzWgG?0k8-rk#q5rtN$WTzXyW|9^n4Z#?=z$oG&^R` z^c;%5f-^eK;v7XEh_zw#JDI8irj9<=jVHU$c*`p$Z~?0tF6y|1%M3YXk!9B%q1f`Rkt_m4{9_S$P>emCw;S)oM80;A89l< z>w@oIeY5i8Lz0lcYH7ZwpFD0DOd7(is{)#%6yCP$m{7HX!{u&FE9%Yio s13V=8pAy19hhpW?zqzGQp|3*tj7sxZ&Z^jwBSVeGIBkv4=LzQi0VuCczyJUM delta 673 zcmZwF%TB^T6b9gbIu$6yNE-$P&iI~9?Q~)PA75+I z&YR{>nC7>r7fd>1(rxNRlb(uoP5aai`I3njVy@|X>SdG8n{=1jg~u2iV{kB%Iq4sl zMjIHcvknhE4U6Ri65^4a6|6=pMwo+ZvJ%&^4KL`4{WVk~S5aT7u^Fqs&v4c=T=9Z+ zuHr?zWE&bjbN=Et;&&ZyVv9Qp_FPpRr*NcC{(vVwf3b({V0--IBzF5%6?^?Gu+N<4 Kn{7S^aDD(fqCtBA diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$VarDecStmtContext.class index 1fdd107e0586b6b3f4a0e57c2c0308a15ab92595..ffc16859ecf14d70a871b6492c099922b3e9a0d6 100644 GIT binary patch delta 854 zcma))%TC)s6o&utnD|B{Y#>NnDkQ`vkVO%fLedZ@P%hyTFtl9;6bVZKDiR@BMSX_p zb5x)R7Az3!z6CG93M53!<=8R7Ko)G~KjU-$Z+?6H+blQhfA3Gv0HpBaNWbD8R(fY6 zn_tWBI@$Gn&UP0Dxwz>R7-Hf=ii!XHSm7JReTH7zw~0g6ApXeXVKwg*in;CFE)Ax| zN8Y8S{ReSzDLeJbo>Op&JJjxV+tCkkhRDm)4t_qJ*yoLe5TL}ZShTN8PjX|pGD`ObKC)zO#V}#azssjkEg3w+gZfYXpNR)g=pC3bw zHnbBX{2Fi@0I1arpOJX$S8MtI)$}K!jXu4E=u{%H;A`InEJpRn7PR}0q{t}ELqW%b z=ZMh919acvRw;~;hhZFFeD8|*rF2Yi?<4E(JeOc{9`IXLzl8}*l5dKrbXO*oUtfSC zb6paSysmp`6<&yV%6oa!n4u8vU2X|O?JmiIU^*;r1VF9TV6B+N9HmKSSJHef@8Ou9;{kv6W8m{fctZ6f^+?GagMXD|Q& delta 522 zcmZvY+e*Vg6h-%Bn%J2jI8hOyf>Z<<-$boeYrJ3TO*J*=<@?Z? zDm@q}5!2%846)4ud|iSA!b3%P3)}3HZ8Auv bhfE8fvqKy~p~7r474w+YFi)6c%u}czg={pQ diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser$WhileStmtContext.class index 5e298fcd64d8fab82f454681a4d1187e70a9f843..1223c5cf99a6d827cfdddc2490fbed6fb0012e78 100644 GIT binary patch delta 860 zcma))&r2IY6vw}_vt*M^aFZ27Nr*jpi7D1ttu-23oBFG^S`8kBD1k1-Dkc5XI+|OZxt9`afOuV|eN5ZL;zJf=M$#2Ektl zJY+bLJc2ET@oo%HyD^+fdVfp*3KL+q`x6p_;V~Ew8O|h+HbXC-H0F?{sVOuMJ$Zyk za{IRF3v delta 543 zcmZ{h%}T>S6opS_YGYa?O^RYHSW#S1K7r~31Prfk@TXubE!UMLtSM; zRT?@|R`%<33K9m%VZUI?Cge5u1{N8!y}D>KE@7T=fwcrZnMOa5TgFOE&!`J?te$jx zV=25oqk7ztYN{9BX+dOD$}l4FMG!VxdnV3pHzDBt|oq!PQ7|GK==*HuDjzUp5sy1^@s6 diff --git a/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class b/out/production/CS323-Compilers-2025F-Projects/generated/Splc/SplcParser.class index 0c9f9641a673b6335bcb5daf3f81daa7a92522b1..8c6b6910c035d7a4028c65dc48438538b418953a 100644 GIT binary patch delta 2215 zcmZuxU2Kz87=GXPYuB%Jj52-#Y=enXuxyTv$;Qf-ZlJ&zY-})o+$`NzSfO;aD?eh) zh{lY>1cM(CFW?4Z3>bn?hXxYJBwlC;To{6)CX#r^g?gbziQsd-?`u1Xz4)HD=bZO> z-t#`^oI_{%r!;%Md35C(5e4PVi=HF%=M=XM^@n5K;bb)27mI9EA0|g?Fgnas(q=Rl z&*Fe_V*aHHw49TwtVpQ@P7H?3*tY zYGC&CRk5MIaBO8{$BLnNDsmtN25ZJh%=AL$6W`*6j!-xT6$vGnJfTE58HuM%(n9-B zS1O!>o^iofQKE+u$;du)`kByhDx6H&vx`hYqqk(TGbeJQ#A|%#dr2y-$-jN8d7e={ zWrk6;pl|_pklY)Ktcedqumd-E2kcm1-XDv`qp2n)j;31|Om&UCNQluy$0a)ZDNv*d z-vV>2LxPA4t$Asd7EIS;gk%{$SR)NUmKCxR-$uj}*e>L=bxRN{o?s&$k(cEaJGs&> zMJrC{=Wd&jtBF|&l2-BUr*+5jb9*P`Ic+!VdSjm>7-$1%;xdZN761G5Z-{%x#awp>Roh)1CObg#6{=u zhuFp5K9_XrvJs0M#O#G^0fSV@YQJF23GYjBqI_89P3|^!sY1qIUd% z`fTn^Ic|PC!_7%>cbnX!b>(e&+#cC%anoY7Or8G%zjm3I3l5xS6v~tZa5l#?^la@$jwZrWeZ$z@p+nSy5NFe_wAZgv=y^VPX1B0(LG3e_^!N) zF^y*O*QmG$J1ga{q!*Es%6VK~!)yUM^k+l$>`wO+-V}1B-J#-ibHJxMG`ReDwnNM4 zn0+R0Ig&ee)3MAFCs}4rla- zrmH+^9@w(aIsLe0Ovhfv)?U=i%X5T^xPm?~8|BhIq;4y6EVVC`%W*R^=8V#MYgTSL zPnkyR`mk-Zt|aX}tH?H5Kb)D|___vED;jud>aopE3;1I9@ vm;mkuz78A$CV@@BVc;k*1xy0>0`~*=0S^NA1K$E303HIq0elB|klgDs0=T>5Tu}+ZtB8rg6O-Q5qk6t&gbmx^Lw7}^ZRYX;MsY0zW=+t zLPTB}UvfSwQL813T2)!O`s{AzGb**TL_ID&sveek)Q_@ShrN0H+T@MNn?7T*JTrMF zmlz)++jE*<1X+BzC&l0ONIjlO8q7D+2(tL41$Qr=x2=6kwC^stY&Fxyk?akurI*vpw%nmMB43~{4US+JDx-%SeOM&Y zF9WJ8S~wNLw=0xFYqTI?a&R6P0UNqepFoG)W2Q(7#J8F7{b^Ym>3zPCSDZYsJw_90F9vtxc~qF delta 28 kcmX>qepFoG)W2Q(7#J9A8N%2Zm>3zPCSDZYsJw_90F7}7wg3PC diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$ArrayType.class index 5b8eed13fbd8d083ccfd9480f0b5f1f7869b101f..d80a4fd46c12ed3111edf406c30d56f8e2d8e6fc 100644 GIT binary patch delta 690 zcmZuvO-~b16g_v|D^rH@kulX&LQAnCRJ15Cd=!vcOk6Z!(~!7xS|_&6K+Dje-N@dh zZ(;leZV1uD4K85g%Aerg@Fxi2&d@Xy!s6X~-hDau+I=E?OJ`GkSNu6T5hh`+-cQa$IBEv&+e2vEhn#z zX*n&Ll?K5qHS7aB=i0mPb6b^$Q*Gx7k!HK*c3)RayH( zYbqf!R8Z?8D~p7rDu|@|EavHrIurK~H9X|8O-POvj#c#I9fsgwk}Km79Eb4;Q=EM? zfEXx1!x(|acp6!b8Ls6x`)`r#FX%rQTsQ9vinXBOH9694NO=7i6SuGjk8ZHtTiJ2k z?UL8jwoERB_4Y!HJ3YNIB)g0+Je|LsrM}A4;XQxk89pZ%)$k3v{0=GnDMZMi1L*j` zYkx!>osdCR&mapkc)|*Cr16wZ)7TWSWm1n`;DL_lhHp{2xAbaYA$DQ<1Dqg57)jL_ w55B!=!KctdW>-*RHZbZLo(Fjj3!I}YVewhTI^Rr|h++;eVDR^RiA^M~0I48YssI20 delta 450 zcmZ8d%PvDv6kX?0_qw@lnkJRB^fslcPp?+hqlgdS2T%+|n0O5&2K|ULYGQ68K_VR( z7#aBlbKxTp>sBL82Yc;(&RYBV=6*QN>(A3OfI3zmoSaY&q^XK*$M1ne^Qp;)70HUi0J)bC!TwK3d+rEj2>-$C~5Z~_ab2;+=>&XFVQLR(aFhm>ff$?3=9ko3|1St-Z7d9`Q#@j=7c2{WhN%&q=tY9Mh2F=#9SaH;1YnjsOZ5cQj#2M5X z7#UQ7R+um_0a*+TTtbXmI~aryFfeWa@|YOZfFv7O#+E??$mW5lV$fvJ0?SJ?$N*J= zOfY0%20{h~b}en0?F^C|!P3~ZvomNjaI*mw=ztaJPOfA&W4C4CV9;aGoxF|N!Q75P qiouqF1uC!4U;tKU$Y2DfjTuaVv=Go- z;!xe0N#^p;H~(ydSKsW9yDwnPvNV-)nSN54d(qe4Oc6b|B6rY_8%sdMJ&IdlZ_v_# z303;RPx# diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$BasicType.class index 7104aadeef046199500500b4f66019db391e5947..601fbaf2e68cfef9d1a417a9c632021c8742008f 100644 GIT binary patch delta 487 zcmYk2%}N4c6o%h3qm5cvO(?mT(tf5It4S*t38C~uffAIq2wIFbq#_9>ZG$%Ln@ech zBEbp@x`1w=yNS+xGYdIz{y5M3o%0Qp$8hB5@ADf#0l9u8N19sd)UEcp)oog}wq0=@ zA<%0yZwU#fOw*KicIk?iooC9Wy1l=jg+GUn|?wTR@j(5ag lI3GUcVrZ|BuO?$%OqtjaF@sHxDsv%Zu*LrsEFF%61~-DWjY*&N+=xPmAL? nUd+m3)*BPg(*GyB&`K@U5|(4OxXr5ANoCS&->Oiap24FM613@jxXnZ=9@5VVXrK@S3j+h=MFtke zOAMThml^mNuP}%J#T6Ksfh0eJD1#V~2C=vqco-PLEPe(71}31qIFQH0Ai*FBrllBU QfHW6S4F`i1gDe9V0Nh$58UO$Q delta 115 zcmey%ynvbO)W2Q(7#J9A8Kft29huC^sKF>PS&uO|%$R|Rff*>lueF_lQA>L(1G|>Y zRtDaUKp{p3VIV2Qzyf5RW?*4F!@$XSmVuA)98iM@P=<*?ltBzki!(?9X)d4+4hC@s HDF!Y8PRAx2`+l!ea?!L4ik3GQ4NHJ+JHpc*&#-nrj7-?{gE^F8``XJqsD`WpZ_+**yq zB)K0$?yxlC=c42mw0yIwTQjJ`fs)6cCdF(qctmcfPLQ*E5#hn9r0P+ic8_Et%F`!zO>Aa$3x}Uu9j`?x=F$p^R~^ra@tR%=iR5u#6a< z;w(G+Av4Bt4in5?)sHBIU+p4F!gn?v7BPWD0wO5k9%!6f;{HyTYyKz^o>K|W{0{gp4DPG3)}}f*EpTUrXOjOL^!d1r c9!C>_s?3c&)HPi9^DJ&KM~Dy8t(%Da0rm8RjQ{`u delta 465 zcmZ8dOG^S_6g~6J=-8lUf(7Lixri`a7Fn3l`=yz+Y1b4%QHvHqOMk?-?*Ro7J(NVy ztVPRc*&lEnv}_R-of%z(n{)4XzjF@f-nZ6IukrF*c><6?wqS&WYCy<{h&eSYq)7J5 zni`TB^~&#CJ+!v=Qr5wmwYk47*R-gzEOVNrjL4eSn^Q1JpCB~iG4TW~I7J9&NOB@D z1qIWXAx`jZvMQ{uXc2mzOme^-;k98EWK!y+M4@@2HO2-$%G#W;{VRytRDk*XK>NeF9hUAAk zoU7Y+!p)yDbW{+)12?W>0FP8x9a}Fn-Sdq;9iDM}=L7@PL&oT8-yme)poGyt&knm_ h8Dk1IuKDr*CeIA8$eCd7lvCT%$gnX;^B|2C7=M2xMqU5_ diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$PointerType.class index 68d8003187440403b7ae5941b3497a5aaac2cf45..96f1ea9b034df7991b0a675a3755e87df43b190f 100644 GIT binary patch delta 596 zcmYjNO-mb56g_ul?3hGTGsQ>@ifK}fW6k(cjVAR2gs$SpLflVeFcU^6#L(i(l`Xh& z@w9^UCv;&z5nXgs7t){NZ&2~hWGLbB?&aKf&$;)!$I#zM_}|Oj9{|f(ZieF|M-UZh z%KCYY*5zZuHD360kWPNCuqJ^0CAaqi0vwJ86Mq%ndl3-+?@Q8p(* zXPyE{?d0kJ27_UFe(`qi_RQTPN$81Hym7(C8~*FBww1es84AYywvQP1a}E=nJ@rYx UdCW7?Sf&#>6!>F{SilkzuU4o|@c;k- delta 409 zcmYk1OHKko7=*v>866oE0bfA_5e5MV#J8e}SHQJ9m!86r#ElytY2zteNTL{7xX~2{ z&^vet$J7LF{S7;197MnHyWm{#Fb-l zlscBNZ2O}5cJon>g-7}5*q)V%;2Mt`(%j0Dca%kO(cXl_^Atu!0!i4`N!z-|QaW>H n%lx19L1HVSX(}?QJNWFf&jGnV;6yLE diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SemanticAnalyzer.class index 7329f47c59cfe5f8d821e6a02dd0f920466bcc4a..12579828619262e18e38d17ef5d12a353ccbdd16 100644 GIT binary patch delta 7535 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 Ab^rhX diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$StructType$Member.class index 2546e25474301f114829fafc8dd121b151cc99f1..be64181210a54add5a1a28442de6059719ad626c 100644 GIT binary patch delta 181 zcmeyte2<0e)W2Q(7#J8F7!)URy_OU5$xlwq2}>->Oiap24FM613@jxXnZ=9@iarxP zFi9Yp{D delta 108 zcmcb|@`IV{)W2Q(7#J9A8RRB%y`F5!sKF>PIgU}0QF?L%V-%zD#f zH^r;?3Md7U5CuYrf{G6T1SF0iQBY7&0JH05wODRu-p;=NZ?5+$_-MfU=J)fL0FL3| zruVQk?4K^B)cm|!$*9S^Hme(gR7+>7gh8?8j7SrNeL|J?3{4!EC+zzF{&Kmk5oe?q zUROaYB((}5#=_Vv!BI^TBGXy5p(gTbaWOGdt7M9cll4q~L8~y>H&atnxf5#HOzbQr zvjo3QaWa|JQZ>FRmuhLPBKFI1x*}%e(Y|Y5v~XR)YA<$UO{~kW>86-=jniGxbj9hu zc&5*g^mwFo2IZ&wrwDvW;L7Y4-Z52fZNU6h;sZ zKFi3kU*Oo9$SGq@r;YrH$)B101tEOpY};JdHyb%>k)swliXG@@VwQ>RTzVwQ5tSnj zY z*>;w&bED8f`Pqd+2zOP7Haf(=x{CK&-5(Jxcj%D4=sz}v*Xp=zDYnI?yEWI|(I{^Q zB%zOF1W3U!xiLl_Oc5)o2U+UH68Q|G{t~8mdrPPoZ=zwchj9v3)OZwip?YFe7ptCw z<{R+y_CbCq6hJ=(5u&ig0%F$gV`$(46GFW2i~Q0YsPh~oI21QW&*Gdp=yCS?uHE{s zpW$@Jv}ovG@5l8^CSJm_G1N=AZ1@#iHU1Ks47-7K{u<<#+*rXacrnSR+dP;%xQ7Rb F`~`6Yo!0;W delta 665 zcmZvY&2LO$7{!0j?VbD9ZD+K`R8{J8+DO}wh>eAfL?TiV(H$0pDxHp*q4muu{sDPc z{s)T^v6zKebmcEVNqi;}78W)n%DK~~nGB2jyzlegbIx;~^PuQzGGy=lIj{Ij&f3*8c@iU|`Sy diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol$Kind.class index 5410e34e4faa5ab172a4f9106c7a0fa271bbbfe4..136b7cb4d638f3a40048fe5e6400a44686caa5cf 100644 GIT binary patch delta 336 zcmZur!AiqW5S)DprVWZE=%M04o5YHOp*2=()TUbX(wpM_DJ4eI2({?3|KR%&=}8dv z1H5_{`~v?#+=L!wVQ1LgnVrw#lUe%seR&5E;>3U;l-0MG8#@)zu)4QbGP#h0SY9T* z^Q;l{RQ4IH?v1>cULw=TI~xw-Gzxe(ypHcwM?6rdUd1vUsW0(3YomxIY=ThZH@+Ha z^CN*e^C_NzZ1~KlGY%75XfO&maJgrS8Z<7zSX*CwMrE9@|CbxsW>a7%ziF0CY`~j5 z4xsZCunTWcKbmLQC}0;&! M=x}Ocb{v-f09s@*DF6Tf delta 257 zcmZXPOKO5q428d3FFq~^B2E4;7Cwhg4~6)jw*uEai`r% z$6{#jGvpS^!$&h*rAYHWpe&HHd_RwD07Foaj%8AB)IxS{!P5@D5vYI28v zvCTw4l6yLSX CEgiT3 diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$Symbol.class index a4c58433628b2b0986978ae6177a2e85f6a4bf6b..f50fa8695f35375c41a48e39af7a0adfd60e22ef 100644 GIT binary patch delta 464 zcmZvXy-EX75QWd#>?U#jPmH?Js8Qq3`jbQ>2nsG}r)98TC14;RsGUXf4!0Hb0a7Sf zS@;09zKoSPdoL)+ZRQ+i=9_cxL*_H&7=_S z-BtURm{gA}@Iali&kgm((5(`IdSalCoQOTub1Gd2GjgtoG{72M)-k{xjBpouHV|+R zvodeM(_1CXi6;Al7y`8$#TXpz@|ZwMyD3b=mH9jtq!y)D6;1ZN@D-V7F($a1PP*LJ zDdwUFlR}iSXrYJyXagTw;Uz3v;PHR(JtHe!!HR`0^nV|2qE9Sv3aff+4eMG%Y>MXO P!&!vbf{$%+wJ7)jyUizx{;JL;;f^=sjE3%9kbL#3$*!h3%WaDw~fx9v*n}q c!3-&MxfAfv`_RXLS>(oo4+$FqPtn|Y0}tsMj{pDw diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$SymbolTable.class index e86077c446e1725fbaeb77150fb6d0af6326078e..fa4c6b0f94dfc6f73c1da8d001fa21c18a80bc81 100644 GIT binary patch delta 1928 zcmb`HT~L%&7{~w5ezKq9DiCZ-inMH?vk~in(HMg{nITQVq}8OnAnMBQ!t5^1P!v;% zR$3}Y`%qKMPpBkwV+Jp3va*>jyy~`#ZoKv0v8Ly|=iSp1U3PQMdCxh|^Z&j7^PF?7 z_D0nE>tENu1JHrFtKOT=woupbfRTFM$R>^c)L^e{2#)-oWR4K-N~T9r@eRZ2kz{Hx zTi-L5?jKH>d)mb<=VZMjW2AX|sB5qBiV;s4nceZ8d^VZc-7a&CjqqB9D0fsm!Jk9P z%ua%TU^JT@%;b9phUMxK6*-zurs7+S5e}pT%J(#Z|Hn>bRgf$i8#AGH8k2Y1B|R9-wDXPd$iHFW%-oeh{}0VIL;BC)^Jgw{P-z zm)PfNU#BvK;NZorD5q^$K`$UqFP20|Xa`o3Q4(Ee zMIT^IJ7^`#zr#QZBF?=8bT$@H^(7A!k7NYxEXm^34DaGSD|k+1ypK;fOomE0IUWAxvpJLK!ndLarfUWsswTIAqEu@IF3ZO*wZMPcdH*Q5?Zh_G5}?rF&{d@QnO} zGSEGQ-Du{OV>k|SnPyIj+uml&jv%K29?q8j18MF?_6A`m{r zN8HK-Jj*bAY=||^p`&|E)4bU1TeZNBSK*}BxHQJGl-@v;CQOz_6{T5Xnk8njII#*J zvk7)>f|?OLqfJ<0COm~tEzW7tm&rOXe8X z(s47>3RaAu0;f$UfL2Z2YEc(UMC~fN zf!c}EQ!SX9l}ruRRL__ksVhvlq+<=-|uXr9aQy0(@# z>y!a2r4tQhW(C?xs$b3sPC&SfEcdbke-k@`TP^=;q^I;fKcF`dq96GI{Rz$VGZJ)D zi^VyvSW8`&YzU8YES`&)Sb2DpVnmH+?% delta 917 zcmZ9K+e=hY6vn@0j>kDi=c19RdFwJ}7i7|ivMfx+?r4&VU|3E{R%4=3P?V`%)U@1c zT6y=OARRAl!)7@S!8$~7ZDVb@`ljb)np_+r z$(6z-Wk{Ek$d+WGkrSzCcvsYHTQAw#Os!G5bC8H75KWeKD(3KO<1 z^GJBfjj0vXhtzPrgS%XVXF0EyjQzXK{%c@k{wy3)heYuqS?aMv8bTV;kl#qw;3ant z_bs|ueTwmJFuOZ=4#-8)m#|6vtms0wRac{GV{=xhw7@2_vbRk8$ktsd&pcgx(4;`w_8E-raW5%5;nE^6`WQNELlNqs?{$=K^I^}B2 zHg!C()3Gr!<76g~Ba_INDU`@GDrE-M@*Fktf<5-SGYo|R>#SQwrKHP4zMG+SQvt8H-=H_US+@wGwT@eO`JoGkDSF2XAxkt>1Ft*nO4 zwFHCLqM_^;65}UfB#aSUF;NsEVAe^9CV=tYnRJpSJ>9dXdt&0c zizWLAjF96(xFJoAQ8V$8N>JSlFH7bpa`G6}YlDmdIUm9t@+s$Mx+mr&4>n+Ff zcM3GMq!#M!lg5ZCyIK#{BZ_(rF&z!i1r}SGteq@D84DD7R&|gVmSCxdOLSa{MuC;p zP7_!fSF;Qt@JL(u%{nXPIRC~ zeXh~*6I?4$H)(m6FK}Iz5YZPi83bUEv#vb7Y{MB#?jJsErhRg&1J~*3M3=y&T>lJ0Yd-Cf< z=tZA~{W|)UUyTu`bDE})hMO2a`)=H+KPGwj+i9Kanq zhHxiQ>0=-3(0q`5K$Pm;I_|-}q3Ymtma6LBU#Jtop-MnE?uVgaSVvl6FRP#ncX^iCYiN}7i5E^C|5}g1nWxEQbko@-9?KPb!}DSRH?6U zgM<1PpCAv7*}M>eBg@gEzv+7YH_o`OeQPA%tE$ z;2Y_QULzYsR>N-v)>N*_#g?MscXYBsBtm=VS;YRcXDV%G1A=JyBdJ?#Yx|25YK84@ zFMBktD)iZ{N|#*eGd;i8RJ8CkJj1k>B|fodDl2=OQCGurto!A%FyndmUZ^5Y+-f-^ z8veuxf7~7MmPYV)45#pC4S!L!;vF{c zAUVP9x132bIvL*huzc+0L&}xY0xy;p_`G5WdW+$VurDN1t~-&-b}g(XB`akcl@}G% z?<&#Hx2e*4l!xdxY;63OdaRNWU$sLvhk<_W#;$_SrGP0(bVucp9TM0 zmAGN(v5pVeMQj7$moY(vU&&uP`CF|=HgB1QI2*`4e$^WqSV_$|e9l&cTF7CNzo@Ss z!o(1G09z;{miPy1P*2%EH-8Lm28%z%veX>nLquNPJBQ|>wppz0o5T8{_E~J`tc};s zprvgFZEDiqSvQA{A+>cD+d3ohNW5+a+YiMfGuUwqCzPP^`Wft03%k!@uRy03*Ulj& z@Dke9>^6a~aG*1)RO8VZ98#aV&fz|R^B4iR`P7f!20-JS2b05jMEn0jbjuJ`)M}uj zc01qWKoeur%-I^w)?yQ`L>pg$S78ILMGId%tw^CAgV@S;pTrSLjPMYvn{F3`> zXv5cd7>}Tq7M$amk20?}<1`+_ub9bS)8=;6{s;?EP5u2wLtI0%hV>dA*U+KyC4_%r z+rQDoDJS?nx76~mKk)km=Zo+pp5nNQr0BrYc$UwZ=W!G-(zRD`0w?i0-lROrJ#X>< zUA)I%lCQhZ dILq;QB7AyNoF^ZptMxqhWbpeuKEoG?{})<(`5XWM delta 922 zcmaKqOHUI~7>3`|(w9IiV-_o)l zv;U|Jjiz%85>Euq9IJGl^^_amw0YEL%GN^Sxq72D_a^^nG;XDHuIZGd3j*~=8x1;+ zu~|wksvlZ|SXNc#t*S-8UQ>PSWz?)5l>X9@R9+t{$irI^C@an>;E$Twr0Jj)8a#Y< za24>u&oxZ%9Q|V4-`TYbu|-Q@h^u}OJxgVfkzsVvFY3R;%T7SLa~pC8m3uffwvRx9 z)xqe#dRx&~sNY9VqL|)A-)$L?0pAY#i=90Ooo}L&b~7r_f?Cei$QjNfgo|j$6R|}q!`GPCh3wBY_(1%So&fhz|H6Ik{c~iLH{=gq018h From df4b28a59e297fa8ed6a7c418afeb60530633598 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 11:24:32 +0000 Subject: [PATCH 9/9] Remove .class files that were accidentally added Co-authored-by: wuzhi456 <217564920+wuzhi456@users.noreply.github.com> --- .../CS323-Compilers-2025F-Projects/Main.class | Bin 669 -> 0 bytes .../framework/Utils.class | Bin 3970 -> 0 bytes .../framework/llvm/BasicBlockBuilder.class | Bin 8296 -> 0 bytes .../framework/llvm/FunctionBuilder.class | Bin 7188 -> 0 bytes .../framework/llvm/Inst$1.class | Bin 1176 -> 0 bytes .../framework/llvm/Inst$BinaryInst.class | Bin 1632 -> 0 bytes .../framework/llvm/Inst$CallInst.class | Bin 2684 -> 0 bytes .../framework/llvm/Inst$ConversionInst.class | Bin 1336 -> 0 bytes .../framework/llvm/Inst$ICmpInst.class | Bin 1228 -> 0 bytes .../framework/llvm/Inst$InstType.class | Bin 1709 -> 0 bytes .../framework/llvm/Inst$MemoryInst.class | Bin 3117 -> 0 bytes .../framework/llvm/Inst$TermInst.class | Bin 1424 -> 0 bytes .../framework/llvm/Inst.class | Bin 4196 -> 0 bytes .../framework/llvm/LLVMIcmpPredicate.class | Bin 1755 -> 0 bytes .../framework/project5/Grader.class | Bin 2046 -> 0 bytes .../impl/Compiler$IRCodeGenerator$VarInfo.class | Bin 533 -> 0 bytes .../impl/Compiler$IRCodeGenerator.class | Bin 23319 -> 0 bytes 17 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 out/production/CS323-Compilers-2025F-Projects/Main.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/Utils.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ICmpInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$InstType.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/framework/project5/Grader.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class delete mode 100644 out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class diff --git a/out/production/CS323-Compilers-2025F-Projects/Main.class b/out/production/CS323-Compilers-2025F-Projects/Main.class deleted file mode 100644 index 34cfc56dc9dced7b616c9831f2dd89d5ecae26da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmZ`$ZBG+H5Pqf{EIp1Ffff*vf{3jGXJY(RH8CnkQYcAD6XFN5Jr;7lKBGza6&KZrsUC!)PU=QMiOsM<*8e{Me|}1Ts~rZ@s6_ z{It^!wgMLdo~0Wn6w0*$AvX!*vudT8$0Vi%?s%BS%wL)spHrhEmXc(wtZ)rxAqR}S z5m6N=5Ef3gjMQbKKl-UOuUo0nGBDS~tXgNWz%s$vlVQx}O>&|LleI8b`&rad`cSso9C4yvzF7Y7 zukRta?>+^pW5Og(1=a~Ow*%R&_cL78NHQHLJ0wEhQf}Egtl&Nm-L4$Sj-AgE-EnPtzP3OB9t9`}9-W6t#o@}t!MR9-g8x{s# fii`mFa507ncv!?ZmU+%=9CeuKA@4`*=TQC)Zrqzd diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class b/out/production/CS323-Compilers-2025F-Projects/framework/Utils.class deleted file mode 100644 index bc2a2c87b5652b35d21e02b0c7457ef5b0979c9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3970 zcmb7H-FFms8Ge4rWGC635C|+~A<#e}Y&L|Yd<4ky6_OydNq{5}pjtA?PLoL{Gt2C3 zAW{`AR@-X*s@h=HirT10&xu|HQqEC&JbK}cH{N;SIsO4&dK3|TelxpC_GAIQ$j)zO z-jC;f-j8|nhesd&8o*)vG>kHot57slASAGIOrO+~mTr$EPY;b5!=6CskZGIV5rOh} z6{u0MQo}0L3e>#f z>J!FQ#~n|e^Gqu%P?eF={jOmMoQs#V(dD=!N!|7=H#xaC>E>+DoG_BKZzQE&s`UFa zx|=oJRO9(D)*z~4t%hf?PGCbxYk{#;#a zoraCrRG=isc#>_dt4~ocq-VR#ELqtWU#cGvoN5eA`WjNqXQ^JpW^56tT_B{_7|yv_ zbCS$-#!Cmegan`cMU$uUPKt4F#WocU8nz=Yu)0LT1XSO@Wy|1~hc4+{frN%8>=1~M ztsWP)!K!qo$Q^cUTyH$(~ZNS77~O zUH1kh(|K*!$atn>SE7Z2SFTwm@Jb_#<0@@&84Vb#(o}7suHINB`&FY zQ9~EH1u6?P2s|gi&f}~G4>^|Jgg!3g7}mW3(;MX}>v809lx#0i z8l~z=#Z~6MWQcydbh@tN%4U`GzhA{C1sWbN-EX)Prmb62A%ZEqs^L@kG{-dq?VFky zaxC`d<0$QS#tl0a!3}&?#pg7p6P-o#t9U}iffGTxLw0WJwB?L^KGPM2vL0p0!jki{p*o<5~YB3<~NaOU)R z`tW$Sp7Bkp_!?*F(lMX^OpvWUbHvuYoJ+qKpYFG~stzsd|J0FGsmu$UeY))@#ZG$ZA-osHckw+H-%c)xOq)4%UD#P7m(S5!umKI9!KCl#IyKY&1re|=N-eyUQR>6sM z%C-%+-O{sJBdg-a+%6Wa7r8FRtYU`E`ead#=paCB=J&mflL=5Es-tHLAGaz0I=}-G*}CMAfgLCYtV|dQn^sAE1Uimsc$-7tEbj&af3&DZ)q=m@CZekEueCB(na95? z8k)u`A92Ot0_Ip{!G7ND0Kv@Q)oADzA_em?g<^FTgFe9>15s5OEO^>QPs-q8Y`3t9 z(#jkzD(N|VoUHi41Xddg2$l5vSX(6LdkrZqp_?jcIk4z?f#9WaFQoVbH1fQGrB=tv z*@zhGna9oiRBS;ji|sIz{vub}mw8Q7)pN)1dz8G*b@FG}jbCu%yNA8_ z9rodmXu+SbAAjXm@;6%gJ5qSaEl=QxsKPO^4sBvTIz$ILMHfzpUaoAHxq4Z6LAdA= zIqVVFxk0^#v*I1}`DM2UH4hO}ar6-yR2&py;{#MYgeo3jd-cCjEyP1SuVQCR`xj0= z`v7Hpjj#KmeuD+sM8H804X{vUW!E>c2b%H?(d~Cfz9D)NY>md*1)5f{>wpXFgp2(D zZZ z@*!Mcwt1FXlhde7%;B0mPfcSTWvAwGT_AuvkIx9qvX*YjCm-R)G-`I-#|{7a47A{l z)L#hYIHv=cPX(9xU*{m(T4%n8n9pG(nd1W(VZO%DhH>t&HoD^lJnypHZb4K*VX{ZWkPx;RmkOkxJ ox^F#%@<{nHPG`L9zn|s+0VkWlclh@M{E&BHo_>T6@Ds%T3o5n-(f|Me diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/BasicBlockBuilder.class deleted file mode 100644 index 2b1bc83fbc85f7a90f5b00df2cf2e97fb23d1351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8296 zcmcIpd3;pW75;9vNrsmYhJb`cqejWffViNESQ4Q|17dpaj&iT%{_g!B3 z?}29loURtRQGh}hiZm3XM4@uKKCF9#dbrD$F(~ zCE|ggcU3g1@9GT1;%>N5ScVzUTqxI2ftd<5eNjDRTpWoGdV|5?khe{b1$=G6h;Ohh z5eWK?sDc&<$Kuh1FCK`5V}$Qan-;4rVsVxR4`wU4<3=RhOafCua zUoYW0v+&j=!lq#x%`{f6VLlcp6opAm!D9iM4tK|+fpEV$YmtT{#RDxC*L{Plg5<2n zT&Pi)pAJx0A{-BdjMY1R#*pwY#W4yewd>(4Bi(cQXd{8XC~3P%bg<)O(HKI@7hPx_YOf z8ED257rYvlVwpn4#Bej&%!Z+d6c(i3Hq&f9^)f;nZ1GS!%Qc*clN5^SXmFRpQ4{9( z*^&3AQqVF3r(lH(r)oG2Eec1ZfhX9e%0l{(!U{VGCc4v_?O6_PE{YnnvxLw=kqLn_ zG`tO~D3?f|!jifz8S$~y-jd(2yx*?jOsr;xX`DeUkuI3Ig56BBaxuY4QSYoL1}D!d-aZl z9;6%d>+)Ey-z?Q0(hx?3LEfgDy@2NGHrMya&<+hz>EW}jk#&*yhVh2!Ml0eP5*W7B z>u+Q8?al#Z`kJW?J8romne87_K_N6_r-og)geunk?9>zbS*pzF%Wk~Wh08QtF0nc? z%T}syj4u@B{YJdYh$o_93AMO$g@!9}6;YxFD{)N@U(BR9qiMP5Orp>i!`EoI7T2-% zdKsho%=#JEP!?P1FMM@3-mT$1xSqXuSPusLT&X(zMwsl5&uJySl-Pzvi8snJaFaq) zj#r$%m@Z2CTXBm-{Z@tH9FefInoYZF(g-=x-YjzO({P(mD2yd~h0^UB?lA8|2@1Xy zdo|o;-unZ?a(}mmd(8W&5t4%VkcJOqpF&w6ww?`)OC@d9iSYfnPs9E8SO-V?ji@|* zP{Tu_AJ>pIU*z{u>GB^_sLhOEN_ZJ<+1y|VjYl**ipL1mZ*b`eAGY|VTeJz4PjOrE zxP~Y2358OwE3tTB`3bWAb~xu-oye@Qr^Lw-g_CnQnNh3x+;(A%MHh+od)YjLQSb1H z-l(;m@rD91pLe|;V0=fhU(|R&Ve!;pD8$`(TEjDVmRXEOB5`xOC%JHVlivNL_Gi+> z4r%x#KE)=bo0~3$_8jT3Wa}s&2SkS*FiG-fG(3+N*e-(+on2{b4zq8mN}QmnKJt== zmj$sn#zom|S)bMLDn3UJ0bhtpyK~AMIy-yTcJQ6`QNthL&V#G>|F@R?_=1Kn+V$4P z^~%u062&iTcnx2n2bUN-+1Ca3=@P{JmALU-8CKX+74lJ$iKtDf(5>f6) z7H1J}%^9Cmq;~kb0DW0KsF<1?|JhXLUBP}1Q|Wf zG3vyTc^5k7<>NX2+@V&dGVI(a#HL|>@(sXrP~+1@?Z^)KTXJ^GbYU|V$GqFQ@lc*U zZR=UmPx&Nizii6Jrqb^1zA>E?894~#SxU1yMUIl4M1YsSWt_YnXXW%5R0Q=y9L%K4T4!Tlj70DCi}U0DiM_jf}_QQGIBw5g&;7 zV>3(eA2GI{ybCemO%)3`Jw_Wy27Qk70 z*dH`vwVjd3U}7jobTV{4;l=EPPkqpW%!G2joB2&|kG6Ax?hbIvQmKlvzJw<3PBRYz zW|pWDZU>c1!{70GC0?IdEJq-%YKEpXIqfQoN2E%+jG;OV*u%&7)S5I}CTTyEr;jj^H z56T%p%%!TiDou&BOD*6B!Q@l9E4So^qq$Qr;3;4+PiA=l%PWr@tMa!}j(&NL^caycgN6ys+c`8lulpb$m;J-J~Fs^K79o5oN!0(V2<2r3&IM^M$! zG=h1H_F`6gbm2oNZBQdv_ypf9z%Tgsc$D#PC2f@xbv~*v3)Lov**J!GOUd>mV*iq} zs!;F-9~8MT!-d^0Y*gTT3ctcWo7E!z@*#>FoK=;ssC}l}Q<0vjl!Z(V6 zQ3OeTNQgBy(TisOOCq)(7Z+e-LlGq;Nw7jNm+nfsD)=$u!RZX*N*)=U!O<)6TN`7O zor7g22F+HD;?jvY_QS>`-ZcqK8zI{1)|rgNrOPCnDNIMM)KkzDDsuDN5>)m-q5g zlviDp!~>!{>8I}M;-<#tBtDYF!#0WHwD7EMaRqz8mF(kJQSDdbI9$ViaV^fmbtaKN z+C;7(4e2fCnM8_(NO3k1Q{)*;iftw(CX3;$Qq0+yLXV4XZVh*1{f7?PIz&5z3q zqc|un?74K~v}*8n=Hm`7Yjw$-GX87>o=HIQxF$R5%yP5Xe$ld>Zo*bG zdzf!M!gxN)|NMN6wqC_wY>PXXQqk6GaUrEG(Um2rRKrh+$~Qq&(#|NXSDdP{Lir@q z_!Lt(!kx(|*P=1BAxYrZ#v|Cz_?fFjI)av{KX0!zjtI)I^w2Nmi{jIa;xpWGJj*CP z$0#1c3Tj624C}941EiiVAf))bG}C7$&T^7E8LykhCc5`kr+e1Y_B`Etfl+;t+p(9p zw7qO^#r{_5maViM;Rd3n_AB2!gslYq?jiV-_(59rvbOC>i+?DWh^%U diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/FunctionBuilder.class deleted file mode 100644 index 29b9beaed11976d6d6477ef647ea7999caee45e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7188 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 diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$1.class deleted file mode 100644 index 6af37897eef8933d03e535cf57f9fc8bc9c895ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcma))TTc@~6vzKtO1CXjsa)hDDoEwxg$fE@xQIZJDio6vec;9I?g$IpU9!6c^~pp( zfQddE6HRyqKzLE5U^k>z}Xiaj7uk2IB{JGL?9Dmc1-9eltBfkreb zP#xDWZOu|p)7PI@aY#Y?nzpHBEzMrZ7Mx;5U!66jW#nAfaXDM7KpSU^lma{~(7{;a zN}rdH3LFbqGYsY~f#U&tl@fDC;6%XXipAV3&=;^_ZZe+~I2Euf%gkp42AHFkqXhxa z3JkKL*7F@#vdcMv^TC!CxxqXlaDh3dS(c+~Y`P?HIf(K=-t$$ADM*K>Tr90g-B%DF z(=F3B{fXc*Zc)x@$Dk*!pEqq;sFX|6UD8SxSyDw`)7R;N{&KSDR9s!on!K3c<{04c zv^8hzmgAZB%7XM)9Ye*eg2vrf4Lgdm7o_LUIUW@v^0qDAX-o4w?yUH~ZcBGk2aQsf zD(P14A)b+C922Bh2%e*cX27qHPQ*y%AswVQq-*gs~8h5UL?| z62?R9CQMg(_b^wv_cK@dpJq;k`?Ji+kcXJ-LLO!oAzx%p1^gB%B+!HwG@}*W=ppUJ z5Qa%da1}G8Iow2%bP0E$lN#87N9yAt9+5uA6Fen-h8K8A`U-EbP5K^R@Rjr%e&8o* z1e0`)vEVX?DK;>T_S-70EbK89*!CX-qL`vk5eha#8l`f9Yk?()InoANi;y)x*+%b5 HUpoE=Tr%=o diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$BinaryInst.class deleted file mode 100644 index 56aa895a6eb0d3d101a0de35e42370223193f8b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1632 zcmb7E+fx!@6#spIEYO;YSJVs*5)j2p7Y!}bG*LiDj2Xw57FZ2kF0;F6zV+IBe?V`| z^i)k+(~LbgJ@=3F-ZY(WNwB~NcIND!J@@nb&iTIo{_+*T9AXZbU>0Bz(F7|)`>rbG z;xbqqY*YU{WthikN(mxz;+Qj){|q#ZWc1vo@p zfygjWFZx0@FR91nO3a1g1Vc}4o^n7Q?y86u9*ayT?P!BjK)Z+zbTV|-3s3QeJ&B{N zo_-dSik^yzhXY`=R_Twyv=iYux<&NB#bD8?Ybv{@9s;D|6?UKx{Q|Cu7{GOg{z{4} z#uZ}*p`d1{V}&~K`6D(AGB~}Od(JIoGHznLT98P<4Tjcz=}-zOQhqPAp4ykwI)hP(H-!?FCZXd1VM(b|C4VT$T8S>yKy>vh7O-UT8*60)ogw*%tMcf2w|L1 z(2p6qYnm<}wgZzq;Zz;C4Fd;mlxRQYZ}%}F$OGrrn7b}op@O^54L zYeV=PHm#JZ!e+zVxja`=F3KO!@Eb5|ne5?3#lwn1m2*`E!;6NOp**CQ;8rWX%)Bi3 zCu#l`3mH1FmS{FF$4j}CtZqpug(P;p5RE2dn{tt%IiXAG1Dfr>I!B^VQq%Hs)-dFI zHO5byMj$S0`bvRsyco&nWpz=JG)>k>bH3pWj_NvMkY>U}_lSwsjP{qfHokj?#6%a$ z0vHzQZyFX@>Dv()84Z2{3%D#N5CX2I6EwdkIm07*JIM-UFVJ5zme7u6(kvlZj>4W( zL`KGwAJ7{3h^|xgj=iOSFL`lK8_^)q6QY+yXGA}pZs80=+h%g`oMJe!Z6R*-6cdT< zCgKD`W+kqfbDweR4SqQ9HSF`+Ioq(0;=JFm&$M&CVIK>7M@X0qjE4-ARteKJJVg|* z5W_db@eAv092;x`tAsk}429qnf93^RS2G?P5mpc}z9zB)dP&|#ao6Tu#vDY!uUmRr GZGQl*&y>&r diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$CallInst.class deleted file mode 100644 index 35ba5d0b035f0fcb5bc0620a1f4a6cf824cf1683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2684 zcmb_eTUQ%Z6#h>&kbNWWq9_VT(YJJRMk6))gCv0w?iu2UGNkHV8c8W$8?RPiD*3?~nhIq$+I95P=X zj-J7x=14B7cnO0H5oe3xRM?|SYyw&7@G?Vh$d^=T#}!;vkW(>&ml---c>8P+B-^nB zuQHt73&Y*?q>@+K%%`aOURCiLUT0|IwVF-=^&ileX>l~u$W8f+d^_I2bp@j;-b9|_ zZ#X_+o1vx3YYf*11BnV-^C@Z)TMXkw(QrC}w=k*ThKidg5S);|f~o72Pt&5RP}WVV zXQRS!&G+k;QDKc+CGnsxj53vGARs^FeG@LaTPmjT4jC(ZmKjEZAVOz?Y4&Q1dT$2r zDtJ#t5wi!1kC=Dki>{hhl~c)$1_SkW^Y;RU<68_m@wH@4-d1r3?^9Pe?qukrJ9jl_jaIh94Tt#K%T}=Y0p} z`#T1nj3n-u#p2@Zyr6bS>AbqU!ZZ7#%m~Bqkr6dzI#Dv~R#{AG5=~sr&#RIV8a{Kv zcBV}^Pm?!I)3F_k*Jg#YX0F(sQLH2&u&SVv1x9IT+t1VPViMOJBr3Z zdo}p)?_ja|hdc+<+*r|tohh2;M!l8~7fnEN;Nanu{{KzSWzbdlY>+^IS6(_L%@O$| zHW)4i5jE*GUqtj(6Le!3Dn7yeB<_>oK>`+R1&(a1IzuMJr&pd{r%mlK`cu&3fry_Q zhkjf9#~3-xM+^^XYO^$BP-hH7SOuNiwxF>PYrH*Tdv~^iuNVeGkegM5f^X=xa=a?t zSYGMi0?{0!izz}62YNcts!QJdG`|*I>0PwYx*Z>q#u7r-_9LK_Sp(Qk^>fbS5;_vGLQ^x#L|;60Lmj11{Xa{^IX0k=}8lt0k7)RO%T zXSdN`T56@$z&3_TOKr3|QCf=9r+Wv(47+#**uk|3Qe)3Bv4giGC_TgU&t%AR-$79W zkLl)rf*W|8OvpO&T@Dcv>9Q-kjX82apZ;CU1C8TeOiu{Ir=%FcXW;HPhGqJuNKz&T i>(F7MM#eVrImyqEEJ9>%P4>B@enIHJ#MgL)zJCFidj&cG diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$ConversionInst.class deleted file mode 100644 index 55c03334d106d7a832f7848dbdcf40e140b2b31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 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 MemMkO?5&La2lh8jL;wH) diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$MemoryInst.class deleted file mode 100644 index f9e88ad75b758dfda03dcfb9930b1085ffb291bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3117 zcmd5;TXz#x6#h<{WRi3WX}E@KffUkE8W2PSl>h39q3+X}!fs~NCG+*Pnwy$F= zY>#V3o#zI|qlh4?Af}=lD#MOWr;qTeWzTy^qMD&s%qlkt70V0lH7eF3&Y;vR-E_Il zu(=(DXHJMGRIC%?p*ev->}*i65t|rd6<*WLvR>j2L%cAf&1u=Xs~g#Z?zp)qlGvhP ztBP&d&aj~q&_fLSQpH=kTbdrxYN@73N>C|DYBI$TxGdrCRMCfB3_+LpBLdp66SYmP zTnu}VQqZqrFZMBPYnoV&R#TWLvFx&LY6e4BdLSRc0G;3O^quT8EUnzv?+o_UTwBhP z)xQ3+g8k&XbluR*O7{HZ3@^EYr2{I41aD!RJ9Wd2;UEqvctpiv9AVh_Zy;lmafXO+ zeUws)VSReQBUPSUbZyRh8;e{w zUcieACRDtH%M`L@!!2i1+Euk0!?6Ze(t7)84URfsi{L6%`Cts!aYKQoViG0trp?^2 zWf+vEmQ97L%upMk%wjm|57F?nW*7O*IyXzyc6`O%K-@e+I>%K^fsRm0-pLFH{XVqm z_`}?Yd;~gmA{j%?Fszc+QfCp&65TTVqLQkj378B?BEGGXWCvx47OC-RZr!F*%J>`* z-RVTTme=u4QN7&zZ+murC0i@*FUL!E(t&a6cEeVg{8(GiO+H$$PICK_Hfhk#*Z(iD zs}L*Ph`LsxFg`NIDa(6`u2!0*zTfa9VQAIKvX*L!qz*C+w!7zb%B7t2_eQ#sidNk& z@w2+1CMs^gAwed!)lu%a=PYqI$In=nOBt!vMz}j|m7TR=ydJ|FcvHb!D&EFB47+6r z|y3s5r2&;oig$?yVt zGf8Cu>%Suz28VvPAWXkkpx`QcaE%^J*Xi|h13RHLY`7#@#}WD^3+y7vGn&KSV{_&Q z>{!I^p|9wKKWRj12+Z4QT%>V_#&3zV@)I%>T_ilXh-`5pNUKK|alAMYqE(OF3)4!u zj}yiFIP)dGNt|oyc#=Y=S4ys=b35^DQ)hKM>mQ)N@DO9b1B?fdxN;xY9-th6XMHF! z9bOIbGR`3TmOKnd9`{P`Ins2STtNkQF-Z;; me!PqK@F6~;o!un4hwy%UIw|w)6T+ONeZ(X96rbZBlK%jh|7O7e diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst$TermInst.class deleted file mode 100644 index 8c8d0dae204bdc450e33f388bf51d26af8468e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmb_cTTc^F5dKbYyDeLxY!?Voe~*bz zY6LHd{s4cJadx*CNXwhup3K>qZ|2N=XJ-HW{rMZfGG6=OfRlqufEyl$?n7NF$>(ML zB&n)rrDR5{8VsH#MN^C?4BOFc8-Qq{b}uS&y2ZM4i#ji!A4U-7Fe>0a#%^Jy&N%~D)(;d-QW>1lScXT0AzaYIN-7+wPKK@e z!;#3%J%@3It|lW}g=4vB_z**!!-RlIOfmE|N~<-)PK|lqtaOtag`p=JYbDl)B&Io} z1kB*!jdN_~=~@oUdP$)j$4E-&%+x_XINuau^!CNle0x%f=xACtPSnI`BO)O9CvRXbMk~_1CCU2gW3bMW{ z6;#rAjdC`d-`J5W#6ixGiYL^HHJdM2KGloznqmRXK1rAt&A@NURb#zuPPCBGG+AF& zrD|2KlBL;Ae0|(7O7uDCE8#@IoKD&W%$c$z%?wEgJ#IV&!wS7Ug9{##q4>lk`vw-D zx&#*wxh~<4huoJ4d?q6!7|=&CRXqkE^tq`qcTH8U<^9v95oCM^q5Y6qmXy?!Exk&_a-;wx$`QRg09pkrEVsOq~ zS1nv&$#$~>SS~L1iGn+zKzr7Vs8}c!yc663Pd+I2IgP;iw!ZURZuF cv1UmJUXdIm{Rl-{UkO>vW?+78=-0*n1G@cQ*Z=?k diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/Inst.class deleted file mode 100644 index 32e297b5c47decb8bee1558fce7eedcadb131818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 zcmcInTW=dh6#m9>v$4D6o;HC}NSd_qB{eM+8l2u@2pF6Txj_O1*7h{rbiFp~b=s6m zOW}c6-uM-WB0><6Dk1TJKtkey2Ojtuu61*NKLE#}ep4s{4eCIo7X3zfo*Y^(r zT*4<|1kj`)sNx8k8QRyhbuD3N=4xU(yT)@iL-Uw!>h@)Zrs2q92rURH2&*^>m7(jp zr4{(CqIEN280&>Z+AI?yXm6A_!^upYr-Ne2JUvf}ty)#Ip`9UMZ!jG9t)Km8VW)~N zbQ2kimn#PO==CpN)Qk#GDmcb)qMqk@ZWV<05PH$4;87Kii5Tjxt+FJKxuTgLx5DVb z<3gm94EC_kIc>WWneV9^hkx2-oY~QQ&bD-OHR+!b%J+53toQjLi*y05R&r1ZDj<3_U(M z1tSJ^mD|@0ebp>*lMV}=+_cc^RTUYr)seDYw78g=QZel)xXMckUXz`MRG}maD2y4* z39;rGKJ|-ru+(QVi<9YGp)_Ohyq?o+o|Nk1i?UiY3Kk`lQrif7 z#gdb`J4FiKWEiMrDDHz)(Olv;OKbPFLgM|Y!US1hW=&;BRpV?N(r9xo?lIs|pP4;jALH>3UBp$&^x z#!<>JNB1hjjeRprdoKmasogtO_Yd9Ge@IN_z$7GR)vvdc9+}+Xxnjl2@d@3zHpOe? ztPqmn=oBy8)Y#CaT2^qUPA4GVALpnONSh|NQifJ8^D;w=*h9FapVfYtA-vNg(qN}w z66?KJKmDw}QW;wR{b~#LQ!5{!?};XKi0=aW)gjt-$5Maq*Z{rhvS7&3XpB||$#zG# zz@o8DDAD*P9*K@@qT>P0Gvw+2F+zYE-XI1L!YQ;;x7&pw0&-lZCn4(JSG^t2Kq2oy z+ctWZzQ%FdHNJ%tU(uAiSuVXELF;)-s z4S^z9+XWH<6KII&ogsE3TZq=u`;I^f8E8ZT+9uF>8R#hq=plhF$Usj^KtB-Zq73w` z1oR_;F5#vpM3hECz0Pfnk`T#Qw7s1P0Wa5T@e{2~!SHZ#8j1XNySQtyXzW|O5U-2; zh1OkMe0M zNm0P9+n8C3M`I&>!7a?zhWR^TER;Q$gJ^bKs@qstas_?87V(GY%_iguD*g&vCSl)l z!SB?9|0EUH9kRD@n`|eY+zo0(7pSuzrO&}0`X+dv=ErHim;OGu+DCIO_>i0pk^PA5 bDA~JYXUN_oyFm71vdd)elieUZ+FSkxg5HFH diff --git a/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class b/out/production/CS323-Compilers-2025F-Projects/framework/llvm/LLVMIcmpPredicate.class deleted file mode 100644 index 108f9028251509a528195777be4873c906a13c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1755 zcma)7>vj`W6#h;o$(#(Qbez&aq1+0UB(#lHE@}c6N(zlBJ8^yoE2~VxQe8)5}^lKju5%H+!Fb&c00E{PV|O0Ip!eL`>k+ddqA0 zKQ>!G>8C~WDs=0u(+f|?BlEP(tOw}&d!+PhcKsp+b|dS|Ue>!KY5$bOHS!OA2_t?iFVP*G@2`U!~@z1H@pB`Uo3_4)2Ae1iwNjGRsC;_*!Oe-x4u@vlRC zwz)=m8!XpDf1%r0^;=8cYCy`RJ?@;{zejeqLqE4PFuHxcPPavS5AU@%-BA{+LBBvo zCQHJFNRoBgi~AqoDwWT2o84B`pR4POq<78#ly1hEX-eP(eKyq0i2f7+gf!ZWG|Y@N zy^J)jj5ME&G?0umgN!tGj5KMqqpjPL;HVxl;z`=~As$e?Z;6c&>Yvra*zb7%HO~D) zOyE0uCi$H~_IY^!*~eJ59Fcp8^RFRx+Y5@g+P6PWs3RnD&oRBzbOvWEe;V)kIW71_g(Td_$>6OcASK;kGts)v*A&eIx@@Uh;H^*5DC|9*Z& zk(^Hq=hGJ`K7+yZv$!+E)MR=+;mk6%n3j^x9Mb`&w@hcAsm=7ZbjnPJm@e2!XOVfD z`4_h7e93%-`I0T2W#*&Izp_)#*UV48#Jy)2dzZo~N*pLfgLHJ=Ba<*uq)XkV3g3f; a4SN5C{yLsw06$T>WBnx8@ICp(P=5POBYJ$=mLe31d^=KvNoY?Ec_^4AarTjfc-L#LroJqvYoZl z9`>;ApV&*Kz4UET`;ekdpuJ7nUo`EZ?ARe8S&=49k*@7?@A=MmzH`papRa#C25=h( z0rWuN5G8ovWf&@(a#ek7n2*wndzNj=ioI&eCDml`&TG16FEA{{@(1!aa#}OeYkIA2 z7j09OtJ$`(P`Cff8sFmZF$}mk6luMK;w^&d^DWx?&q7#B6N$4aZI>Q!Q6i#ZGrP5%3Tq9K#YW;T?vNGp6U9W{@;% zQBhRO()KDuUWmna9E8gf-bIuYvQ)csUySWIijH+DTG%@v7LMDvgb7?_=+)K7Ym|tr zD+D^(l}7V)mn5eqju^x6n|;wL5J!UH!dXJgPZYIgYliN}G?E-C32D67MXmU)Wvf-n zOEpQ)aJzFhsRvr^?FOO#z3BHe;WHz9hlf>n+? z64r2+A>^v7Q+j0@iS#BxGV~Z_hU__cb#`ZStXgI5LdbIDY2dq|3pG_QxYY|_0|kyv z3HR_xOW-!Z3h|)%>UTS;J?#uDr+nH69j@6^Ms4F+loqpp-6c-z+?Vjc=^KG`bI5!u z;WKR0lvB*kD~4h9{|D^^q9M&eaF)*{eBsnyFzeJiV$LYhyae-_u5Q$;d#ZU~cE_@> zXv@l@b-Ct#bL^2!=ZMb`XwQVjK~T+UadIxScPLI()+pRy*Ic#=xJ4*Mx2+uMX_lLf zl5)z2QR3V~_c49zof5mi1Y(|iK*%2E3g;z&hQnj&b1E=fYZ&%oMh>nJlHIG z2WaQ1=LmdT2>FZKVyL&6XX{fN$>TXunDc}^Vex0&ONKo&8E?dUh`tPuaPbKJbiSw9 zz=e!2;%ngIPw+>4VgnxzkA^rtV5DGzwM79J!h1_pSi65y9j`(*H$DU`+>=r3Ik+Mq&Gx>x#v;G@$+fxE5 zeTZdxe0+%YmncqmS+-tbXCv9bu2a0G3}f)o`wZdF(*MWCN;t>tRmy4 PN6irGAjj~~h0y*1?M($A diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator$VarInfo.class deleted file mode 100644 index ee45659b338473aba822334e7fb8af9107cddf71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 zcmZ8e%TB^j5IwiH6l!_+KoG^azy#1(6PKtP5|xBtf`t7AE~eNAxh)z$!NXyUU%4s6}m4Cep|dHhdThhU_dh+NVR|8pBa}HZj{|HvV5w=~BmN zD~5E__C#yq_Jr*4oRH zAOam*48=Lbq82oMK^+GDS0C&WeTD9!AQS0IUMA9lETgAkh3qPM$I-FKrmOE@)%`c< y)q^)AU#Gw|`d6V6{t>G7goO5tl=eae>y%ND#m3a;usKC4C?JPz7&N?qB8(p-JbSeO diff --git a/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class b/out/production/CS323-Compilers-2025F-Projects/impl/Compiler$IRCodeGenerator.class deleted file mode 100644 index 3c923a675debd99b471adb21f34abbf603cb0c68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23319 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