From 2537f6d3009c17d5684af61db303d7b48c49d4b5 Mon Sep 17 00:00:00 2001 From: Vu Tuan Minh Date: Wed, 30 Apr 2025 10:30:10 +0200 Subject: [PATCH] fix \OA --- src/main/java/TP2/asd/toLLVM_Visitor.java | 16 +++++++++++++--- tests/fragment1/print4 | Bin 16360 -> 16344 bytes 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/TP2/asd/toLLVM_Visitor.java b/src/main/java/TP2/asd/toLLVM_Visitor.java index 908b939..241a65c 100644 --- a/src/main/java/TP2/asd/toLLVM_Visitor.java +++ b/src/main/java/TP2/asd/toLLVM_Visitor.java @@ -182,9 +182,19 @@ public class toLLVM_Visitor implements ProgramVisitor, Object obj = instr.t().get(i); if(obj instanceof String){ String str = (String)obj; - size+=str.length(); //on compte avant car \0A compte pour 1 en LLVM, mais 3 pour java - str = str.replace("\n", "\\0A"); - strGlobal+=str; + str = str.replace("\\n", "\\0A"); + + //count OA + int countOA = 0; + int index = 0; + //using array + while ((index = str.indexOf("\\0A", index)) != -1) { + countOA++; + index += 3; + } + + size += str.length() - countOA * 2; + strGlobal += str; } else if(obj instanceof Expression){ Expression exp = (Expression)obj; diff --git a/tests/fragment1/print4 b/tests/fragment1/print4 index 8c582199b597ee2d2498f6a79e430b7300f32bc1..a0366684ffbae7e13b05118fc5d5742c462c2b0d 100755 GIT binary patch delta 501 zcmaD+f1`ea2BXAAO@BttQ%nqCaA9*J<8ww4&lCZdyK*zXFbICATp0#0G{J8UOzO-^mDMHy>p6=(Vk!d__>1F?I3}K{dv>$?`&SjDef& zgx<)yb1|r<=&GhD*ea-|fY@3{Y<(oQHk=Le0#KcThH45>P!pnaa-xASFVF~(GN{NR z1HZ}d4Q4XV+T3aA&&W7y@=YUuMxM!<#_E;<4j@Aq7nBn-8*j^xD==z9Oj1SUUNKpc-S|WO*Su#-z=5 zLT_ZvWAYeOQ*>2R6l@h#Q@|W8WR5;EM;pPJTxcMyr=gkx6w-ug1^W#~sHSKs08IpG zfyz&wXy7;bfx!&M)tf5~{TUfoPd;hn&&WGj(pcRx!~vp@7pgrO=yE{@Nrnkfabc)< zCRE%CD$YB((l{I#C>M?Of#xxq=mXh?CiN