String stripComments(String source) {
List<String> lines = [];
bool inMultilineComment = false;
source.split("\n").forEach((String line) {
String cleanLine = line.trim();
if (cleanLine.length > 1) {
if (cleanLine[0] == '/') {
if (cleanLine[1] == '/' || cleanLine[1] == '|') {
} else if (cleanLine[1] == '*') {
inMultilineComment = true;
}
} else if (cleanLine[0] == '*' && cleanLine[1] == '/') {
inMultilineComment = false;
} else {
!inMultilineComment ? lines.add(line) : null;
}
} else {
!inMultilineComment ? lines.add(line) : null;
}
});
return lines.join('\n');
}