diff options
Diffstat (limited to 'src/lex.c')
-rw-r--r-- | src/lex.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -392,3 +392,14 @@ unlex(struct lexer *lexer, const struct token *in) assert(lexer->un.token == T_NONE); lexer->un = *in; } + +bool +match(struct lexer *lexer, enum lexical_token token) +{ + struct token tmp; + enum lexical_token kind = lex(lexer, &tmp); + if (kind != token) { + unlex(lexer, &tmp); + } + return kind == token; +} |