Kurze kurze Antwort
Ja, es ist die Standardpraxis, Kommentare im "Lexer" oder "Parser" zu erkennen.
Manchmal hat der "Parser" einen eingebauten "Lexer" oder wird mit dem "Parser" als einzelnes Tool ("Lexer-Parser") gemischt.
Erweiterte Antwort
Ich arbeite nur in diesem Fall.
Die meisten "Scanner" (auch als "Tokenizer" oder "Lexer" bekannt) erkennen Kommentare, werden jedoch entfernt, wenn Token an den "Parser" zurückgegeben werden.
Manchmal verwendet eine Programmiersprache einige Kommentare mit einer besonderen Bedeutung, z. B. "Compiler-Direktiven" oder "Dokumentation".
Beispiel für einen Standardkommentar:
/*
This function does something cool.
*/
int doSomething()
{
return 0;
}
Beispiel für einen Richtungskommentar:
/*
##override
*/
int doSomething()
{
return 0;
}
Kommentar zum Dokumentationsgenerator Beispiel:
/*
@description: This Function text will be turn,
into an external pdf file, togheter with other
similar comments.
*/
int doSomething()
{
return 0;
}
Die meisten Compiler-Tools erkennen diese speziellen Kommentare mit einem Analysator oder Präprozessor, der nicht der Hauptlexer oder Parser ist und sogar einen eigenen kleinen Lexer hat.
Prost.