// problemParser.js export function parseProblems(output) { if (!output) return []; const lines = output.split("\n"); const problems = []; const regexes = [ // Python { re: /(File "(.+)", line (\d+))/, lang: "python" }, // Java { re: /(.*\.java):(\d+): (.+)/, lang: "java" }, // JS { re: /(.*):(\d+):(\d+)/, lang: "js" }, ]; for (let line of lines) { for (let { re, lang } of regexes) { const m = line.match(re); if (m) { problems.push({ file: m[2] || m[1], line: m[3] || m[2], message: m[4] || m[0], lang, }); } } } return problems; }