Einzelnen Beitrag anzeigen

Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#1

eigene Programmiersprache: Verschachtelte Kommentare

  Alt 18. Jun 2005, 14:46
Hi!

Ich bin immer noch an meiner "Programmiersprache" am basteln... mir kommt da nur wieder ein kleines Problem auf:

Ich durchsuche den Quellcode vorerst mit einem Tokenizer, der den Quellcode "aufteilt". Der "tokenized" Code soll dann erst dem parser zugeschoben werden.

der Parser soll jedoch Kommentare zum Beispiel gar nicht erst sehen. Dafür prüfe ich im Tokenizer, ob Kommentar-Begrenzer im Quellcode vorkommen (z.B. "/*"... welche Zeichen ich als Begrenzer wähle, kann ja jederzeit angepasst bzw. entschieden werden).

Ich will sowohl einzeilige Kommentare (//), als auch mehrzeile erlauben. Bei einzeiligen Kommentaren ist die Verschatelung kein Problem, da ich da einfach prüfen kann, ob eine neue Zeile im Quellcode vorkommt (also #10#13). Bei mehrzeiligen Kommentaren weiß ich aber nicht, wie ich das machen soll...

Um mehrzeilige Kommentare zu erkennen, gehe ich den Quellcode durch, und prüfe nach dem Kommentarbegrenzer. Wenn ein Kommentar erkannt wurde, wird eine Boolsche Variable (is_comment) auf TRUE gesetzt. Sobald dann der jeweilige "Endbegrenzer" gefunden wurde, wird die Variable wieder auf FALSE gesetzt. Wenn jedoch ein verschachtelter Kommentar zu Ende sein sollte, würde dann trotzdem mein "Kommentar" zu ende sein. Tja, und da ist das kleine Problem...

Hat jemand eine Ahnung, wie ich die Verwendung von veraschtelten Kommenaren ermöglichen könnte?
  Mit Zitat antworten Zitat