From 08e94971beef1899c33e3646ea6695b64282a056 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <jan.travnicek@.fit.cvut.cz>
Date: Fri, 22 Nov 2019 13:17:04 +0100
Subject: [PATCH] add comments

---
 alib2cli/src/lexer/Lexer.cpp | 46 +++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/alib2cli/src/lexer/Lexer.cpp b/alib2cli/src/lexer/Lexer.cpp
index f0367e1ff5..c163aa97a8 100644
--- a/alib2cli/src/lexer/Lexer.cpp
+++ b/alib2cli/src/lexer/Lexer.cpp
@@ -153,7 +153,7 @@ q0:	if ( m_source.getCharacter ( ) == EOF ) {
 		res.m_raw += m_source.getCharacter ( );
 		m_source.advance ( readNextLine );
 		res.m_type = TokenType::SLASH_SIGN;
-		return res;
+		goto qComment;
 	}
 	if ( m_source.getCharacter ( ) == '*' ) {
 		res.m_raw += m_source.getCharacter ( );
@@ -574,6 +574,50 @@ qType:
 		res.m_type = TokenType::TYPE;
 		return res;
 	}
+
+qComment :
+	if ( m_source.getCharacter ( ) == EOF ) {
+		return res;
+	}
+	if ( m_source.getCharacter ( ) == '\0' ) {
+		return res;
+	}
+
+	if ( m_source.getCharacter ( ) == '/' ) {
+		res.m_value = "";
+		res.m_raw += m_source.getCharacter ( );
+		m_source.advance ( readNextLine );
+
+		while ( m_source.getCharacter ( ) != EOF && m_source.getCharacter ( ) != '\n' && m_source.getCharacter ( ) != '\0' ) {
+			res.m_raw += m_source.getCharacter ( );
+			m_source.advance ( readNextLine );
+		}
+
+		res.m_raw += m_source.getCharacter ( );
+		m_source.advance ( true );
+	} else if ( m_source.getCharacter ( ) == '*' ) {
+		res.m_value = "";
+		res.m_raw += m_source.getCharacter ( );
+		m_source.advance ( true );
+
+		do {
+			while ( m_source.getCharacter ( ) != EOF && m_source.getCharacter ( ) != '*' && m_source.getCharacter ( ) != '\0' ) {
+				res.m_raw += m_source.getCharacter ( );
+				m_source.advance ( true );
+			}
+
+			res.m_raw += m_source.getCharacter ( );
+			m_source.advance ( true );
+		} while ( m_source.getCharacter ( ) != EOF && m_source.getCharacter ( ) != '/' && m_source.getCharacter ( ) != '\0' );
+
+		res.m_raw += m_source.getCharacter ( );
+		m_source.advance ( true );
+	} else {
+		return res;
+	}
+
+	goto q0;
+
 }
 
 } /* namespace cli */
-- 
GitLab