p = {
let a = text;
function findMatchingParenthesis(str, index) {
let openParens = 0;
for (let i = index; i < str.length; i++) {
if (str[i] === "(") {
openParens++;
} else if (str[i] === ")") {
openParens--;
if (openParens === 0) {
return i;
}
}
}
return -1;
}
a = a.replace(/\.simpli/g, ".simplify()");
a = a.replace(/\.getg\(\)/g, ".g");
a = replaceExpressionPol(a);
a = a.replace(/\.getd\(\)/g, ".d");
a = a.replace(/\.getn\(\)/g, ".data.length");
a = a.replace(/_infinit/g, "NegInfinity");
a = a.replace(/infinit/g, "Infinity");
a = a.replace(/\bs1\b/g, "self");
a = foldFn(a, "oplus");
a = replaceSubstringsFun2Method(a, "oplus");
a = foldFn(a, "otimes");
a = replaceSubstringsFun2Method(a, "otimes");
a = removeOuterParenthesis(a, "if");
a = removeOuterParenthesis(a, "while");
a = wrapInIsZero(a);
a = replaceInit(a);
return md`\`\`\`rust
${a}
\`\`\``;
}