aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.c')
-rwxr-xr-x[-rw-r--r--]src/lexer.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/lexer.c b/src/lexer.c
index 99ed54b..6e8c08d 100644..100755
--- 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';