Javascript - Eigener Code Parser

Javascript - Eigener Code Parser

Zeile für Zeile

Für die nächsten Schritte, gehen wir den Quelltext Zeile für Zeile durch.

var lines = code.split("\n");

for(var x = 0; x < lines.length; ++x)
{
// Weiterer Code folgt hier
}

Zeichenketten finden

Um String Literale ausfindig zu machen benötigt man einen etwas komplexeren Regex.

// Finde Zeichenketten in Anführungszeichen
var replaceStrings = lines[x].match(/(?:"[^"]*"|^[^"]*$)/g);

for(var y = 0; y < replaceStrings.length; ++y)
{
var replaceString = replaceStrings[y];
lines[x] = lines[x].replace(new RegExp(replaceString, "g"), "<span class='string'>" + replaceString + "</span>");
}

Einfache Kommentare und Zeilen hervorheben

Um einzeilige Kommentare zu finden und Zeilen hervorzuheben verwende ich folgende Abfragen.

var trimmed = lines[x].trim();

// Prüfe ob aktuelle Zeile ein einzeiliger Kommentar ist
if(trimmed.length >= 2 && trimmed.charAt(0) == "/" && trimmed.charAt("1") == "/")
{
lines[x] = '<span class="comment">' + lines[x] + '</span>';
}
// Hervorzuhebende Zeile?
else if(trimmed.length >= 2 && trimmed.charAt(0) == "*" && trimmed.charAt("1") == "*")
{
lines[x] = '<span class="highlight">' + lines[x].replace("**", "") + '</span>';
}

Zeilen können so mit einem doppelten Sternchen (**) hervorgehoben werden.

// ...
var a = 1;
**var hervorgehoben = 1;
Nächste Seite
Gesamter Quelltext
Hinterlasse gerne einen Like oder Kommentar (~‾▿‾)~
Name Text