1
0
Fork 0

Reorder conditions in lexer

This commit is contained in:
Alex Kotov 2023-05-07 14:43:10 +04:00
parent 9d9c5eef42
commit 55dd616416
Signed by: kotovalexarian
GPG key ID: 553C0EBBEB5D5F08

View file

@ -132,14 +132,14 @@ void Lexer_lex(const Lexer self, const char chr)
token_start_putc(self, STATE_QUOTE, chr);
} else if (chr == '#') {
token_start(self, STATE_SHARP);
} else if (chr == '"') {
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_start_putc(self, STATE_WHITESPACE, chr);
} else if (is_ident_head(chr)) {
token_start_putc(self, STATE_IDENT, chr);
} else if (is_number(chr)) {
token_start_putc(self, STATE_NUM, chr);
} else if (chr == '"') {
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -171,6 +171,9 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (chr == '#') {
token_finish(self);
token_start(self, STATE_SHARP);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_putc(self, chr);
} else if (is_ident_head(chr)) {
@ -179,9 +182,6 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (is_number(chr)) {
token_finish(self);
token_start_putc(self, STATE_NUM, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -227,6 +227,9 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (chr == '#') {
token_finish(self);
token_start(self, STATE_SHARP);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_finish(self);
token_start_putc(self, STATE_WHITESPACE, chr);
@ -236,9 +239,6 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (is_number(chr)) {
token_finish(self);
token_start_putc(self, STATE_NUM, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -271,14 +271,14 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (chr == '}') {
token_finish(self);
token_start_putc(self, STATE_CURLY_CLOSE, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_finish(self);
token_start_putc(self, STATE_WHITESPACE, chr);
} else if (is_tag(chr)) {
token_putc(self, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -304,14 +304,14 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (chr == '}') {
token_finish(self);
token_start_putc(self, STATE_CURLY_CLOSE, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_finish(self);
token_start_putc(self, STATE_WHITESPACE, chr);
} else if (is_ident_tail(chr)) {
token_putc(self, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -337,14 +337,14 @@ void Lexer_lex(const Lexer self, const char chr)
} else if (chr == '}') {
token_finish(self);
token_start_putc(self, STATE_CURLY_CLOSE, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_finish(self);
token_start_putc(self, STATE_WHITESPACE, chr);
} else if (is_number(chr)) {
token_putc(self, chr);
} else if (chr == '"') {
token_finish(self);
token_start(self, STATE_STRING_START);
} else {
assert(0);
}
@ -377,14 +377,14 @@ void Lexer_lex(const Lexer self, const char chr)
token_start_putc(self, STATE_QUOTE, chr);
} else if (chr == '#') {
token_start(self, STATE_SHARP);
} else if (chr == '"') {
token_start(self, STATE_STRING_START);
} else if (is_space(chr)) {
token_start_putc(self, STATE_WHITESPACE, chr);
} else if (is_ident_head(chr)) {
token_start_putc(self, STATE_IDENT, chr);
} else if (is_number(chr)) {
token_start_putc(self, STATE_NUM, chr);
} else if (chr == '"') {
token_start(self, STATE_STRING_START);
} else {
assert(0);
}