From 942bbf33dcce413aadc7cc51693b184d6172c302 Mon Sep 17 00:00:00 2001 From: c+1 Date: Fri, 5 May 2023 16:37:57 -0400 Subject: HEKLP IT WON"T TERMINATc --- src/lexer.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) mode change 100644 => 100755 src/lexer.c (limited to 'src/lexer.c') diff --git a/src/lexer.c b/src/lexer.c old mode 100644 new mode 100755 index 99ed54b..6e8c08d --- a/src/lexer.c +++ b/src/lexer.c @@ -69,20 +69,8 @@ token_t* lexer_get_next_token(lexer_t* lexer) { lexer_get_c_as_string(lexer) ) ); break; - case '[': return lexer_next_token( - lexer, - token_init( - TOKEN_LBRAK, - lexer_get_c_as_string(lexer) - ) - ); break; - case ']': return lexer_next_token( - lexer, - token_init( - TOKEN_RBRAK, - lexer_get_c_as_string(lexer) - ) - ); break; + case '[': return lexer_get_comment(lexer); break; + case ']': lexer_next(lexer); break; case '#': return lexer_next_token( lexer, token_init( @@ -100,7 +88,8 @@ token_t* lexer_get_next_token(lexer_t* lexer) { } } - return token_init(TOKEN_EOF, "\0"); + // return token_init(TOKEN_EOF, "\0"); + return NULL; } token_t* lexer_get_string(lexer_t* lexer) { @@ -121,6 +110,17 @@ token_t* lexer_get_string(lexer_t* lexer) { return token_init(TOKEN_QUOTE, str_so_far); } +token_t* lexer_get_comment(lexer_t* lexer) { + lexer_next(lexer); + + while (lexer->c != ']') { + lexer_next(lexer); + } + + lexer_next(lexer); + return token_init(TOKEN_SEMI, NULL); +} + token_t* lexer_get_id(lexer_t* lexer) { char* str_so_far = calloc(1, sizeof(char)); str_so_far[0] = '\0'; -- cgit v1.2.3