core: lexer: Add arrow token

Signed-off-by: Chloe M. <chloe@mirocom.org>
This commit is contained in:
2026-05-23 08:10:57 -04:00
parent 3e3ccae003
commit 86645eb137
3 changed files with 9 additions and 0 deletions
+7
View File
@@ -239,6 +239,13 @@ lexer_nom(struct cescal_state *state, struct token *res)
return 0; return 0;
} }
return -1;
case '-':
res->c = c;
if (lexer_consume_single(state, true) == '>') {
res->type = TT_ARROW;
return 0;
}
return -1; return -1;
default: default:
if (lexer_scan_ident(state, c, res) == 0) { if (lexer_scan_ident(state, c, res) == 0) {
+1
View File
@@ -37,6 +37,7 @@ static const char *toktab[] = {
[TT_LPAREN] = qtok("("), [TT_LPAREN] = qtok("("),
[TT_RPAREN] = qtok(")"), [TT_RPAREN] = qtok(")"),
[TT_COMMA] = qtok(","), [TT_COMMA] = qtok(","),
[TT_ARROW] = qtok("->"),
[TT_RETURN] = qtok("return"), [TT_RETURN] = qtok("return"),
[TT_PUB] = qtok("pub"), [TT_PUB] = qtok("pub"),
[TT_PROC] = qtok("proc"), [TT_PROC] = qtok("proc"),
+1
View File
@@ -17,6 +17,7 @@ typedef enum {
TT_LPAREN, /* '(' */ TT_LPAREN, /* '(' */
TT_RPAREN, /* '( */ TT_RPAREN, /* '( */
TT_COMMA, /* ',' */ TT_COMMA, /* ',' */
TT_ARROW, /* '->' */
TT_RETURN, /* 'return' */ TT_RETURN, /* 'return' */
TT_PUB, /* 'pub' */ TT_PUB, /* 'pub' */
TT_PROC, /* 'proc' */ TT_PROC, /* 'proc' */