diff options
author | koekeishiya <aasvi93@hotmail.com> | 2017-08-24 10:52:01 +0200 |
---|---|---|
committer | koekeishiya <aasvi93@hotmail.com> | 2017-08-24 10:52:01 +0200 |
commit | a97f0fb98a874d1bcea93938c81749931203e136 (patch) | |
tree | 7bf43a78464a4769bd48ccc8d56b02242dd39e7a | |
parent | 498e08c26b58a5c454a8004920923febd4c5061b (diff) | |
download | skhd-a97f0fb98a874d1bcea93938c81749931203e136.tar.gz skhd-a97f0fb98a874d1bcea93938c81749931203e136.zip |
#2 add function keys support to lexer
-rw-r--r-- | src/tokenize.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/tokenize.c b/src/tokenize.c index 53f294a..333ee67 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -58,10 +58,18 @@ eat_hex(struct tokenizer *tokenizer) } } +// NOTE(koekeishiya): production rules: +// identifier = <char><char> | <char><number> +// number = <digit><digit> | <digit> +// digit = 0..9 internal void eat_identifier(struct tokenizer *tokenizer) { - while(*tokenizer->at && isalpha(*tokenizer->at)) { + while((*tokenizer->at) && isalpha(*tokenizer->at)) { + advance(tokenizer); + } + + while((*tokenizer->at) && isdigit(*tokenizer->at)) { advance(tokenizer); } } |