Spaces:
Running
Running
File size: 662 Bytes
ac3107a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // 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;
}
|