diff options
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -75,6 +75,10 @@ static const struct token tokens[] = { { TK_ELLIP, { .pat = "..." }, 3, NULL }, { TK_QLBRACK, { .pat = "?.[" }, 3, NULL }, { TK_QLPAREN, { .pat = "?.(" }, 3, NULL }, + { TK_ASEXP, { .pat = "**=" }, 3, NULL }, + { TK_ASAND, { .pat = "&&=" }, 3, NULL }, + { TK_ASOR, { .pat = "||=" }, 3, NULL }, + { TK_ASNULLISH, { .pat = "\?\?=" }, 3, NULL }, { TK_AND, { .pat = "&&" }, 2, NULL }, { TK_ASADD, { .pat = "+=" }, 2, NULL }, { TK_ASBAND, { .pat = "&=" }, 2, NULL }, @@ -84,6 +88,7 @@ static const struct token tokens[] = { { TK_ASMOD, { .pat = "%=" }, 2, NULL }, { TK_ASMUL, { .pat = "*=" }, 2, NULL }, { TK_ASSUB, { .pat = "-=" }, 2, NULL }, + { TK_EXP, { .pat = "**" }, 2, NULL }, { TK_DEC, { .pat = "--" }, 2, NULL }, { TK_INC, { .pat = "++" }, 2, NULL }, { TK_EQ, { .pat = "==" }, 2, NULL }, @@ -100,6 +105,7 @@ static const struct token tokens[] = { { TK_LSTM, { .pat = "{%" }, 2, NULL }, { TK_RSTM, { .pat = "%}" }, 2, NULL }, { TK_ARROW, { .pat = "=>" }, 2, NULL }, + { TK_NULLISH, { .pat = "??" }, 2, NULL }, { TK_QDOT, { .pat = "?." }, 2, NULL }, { TK_ADD, { .pat = "+" }, 1, NULL }, { TK_ASSIGN, { .pat = "=" }, 1, NULL }, |