diff --git a/corpus/declarations.txt b/corpus/declarations.txt index b04b9b2..59b275e 100644 --- a/corpus/declarations.txt +++ b/corpus/declarations.txt @@ -37,3 +37,21 @@ a { (block (declaration (property_name) (color_value)) (declaration (property_name) (color_value))))) + +============================ +Strings +============================ + +a { + b: ''; + c: '\'hi\''; +} + +--- + +(stylesheet + (rule_set + (selectors (tag_name)) + (block + (declaration (property_name) (string_value)) + (declaration (property_name) (string_value))))) diff --git a/grammar.js b/grammar.js index e33d45c..dfae3f0 100644 --- a/grammar.js +++ b/grammar.js @@ -191,8 +191,8 @@ module.exports = grammar({ color_value: $ => /#[0-9a-fA-F]{3,8}/, string_value: $ => token(choice( - seq("'", /([^'\n]|\\(.|\n))+/, "'"), - seq('"', /([^"\n]|\\(.|\n))+/, '"') + seq("'", /([^'\n]|\\(.|\n))*/, "'"), + seq('"', /([^"\n]|\\(.|\n))*/, '"') )), integer_value: $ => seq( diff --git a/src/grammar.json b/src/grammar.json index 3c9164f..4cc99f9 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -810,7 +810,7 @@ }, { "type": "PATTERN", - "value": "([^']|\\\\.)+" + "value": "([^'\\n]|\\\\(.|\\n))*" }, { "type": "STRING", @@ -827,7 +827,7 @@ }, { "type": "PATTERN", - "value": "([^\"]|\\\\.)+" + "value": "([^\"\\n]|\\\\(.|\\n))*" }, { "type": "STRING", diff --git a/src/parser.c b/src/parser.c index 8404399..86ecc11 100644 --- a/src/parser.c +++ b/src/parser.c @@ -555,523 +555,585 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\"') ADVANCE(2); if (lookahead == '#') - ADVANCE(7); + ADVANCE(6); if (lookahead == '$') - ADVANCE(8); + ADVANCE(7); if (lookahead == '&') - ADVANCE(10); + ADVANCE(9); if (lookahead == '\'') - ADVANCE(11); + ADVANCE(10); if (lookahead == '(') - ADVANCE(15); + ADVANCE(13); if (lookahead == ')') - ADVANCE(16); + ADVANCE(14); if (lookahead == '*') - ADVANCE(17); + ADVANCE(15); if (lookahead == '+') - ADVANCE(19); + ADVANCE(17); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '-') - ADVANCE(19); + ADVANCE(17); if (lookahead == '.') - ADVANCE(27); + ADVANCE(25); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ':') - ADVANCE(33); + ADVANCE(31); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); if (lookahead == '=') - ADVANCE(36); + ADVANCE(34); if (lookahead == '>') - ADVANCE(37); + ADVANCE(35); if (lookahead == '@') - ADVANCE(38); + ADVANCE(36); if (lookahead == '[') - ADVANCE(58); + ADVANCE(56); if (lookahead == ']') - ADVANCE(59); + ADVANCE(57); if (lookahead == '^') - ADVANCE(60); + ADVANCE(58); if (lookahead == 'a') - ADVANCE(62); + ADVANCE(60); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(20); if (lookahead == 'n') - ADVANCE(65); + ADVANCE(63); if (lookahead == 'o') - ADVANCE(68); + ADVANCE(66); if (lookahead == '{') - ADVANCE(70); + ADVANCE(68); if (lookahead == '|') - ADVANCE(71); + ADVANCE(69); if (lookahead == '}') - ADVANCE(73); + ADVANCE(71); if (lookahead == '~') - ADVANCE(74); + ADVANCE(72); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(76); + SKIP(74); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); END_STATE(); case 1: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 2: - if (lookahead == '\\') + if (lookahead == '\"') ADVANCE(3); - if (lookahead != 0 && - lookahead != '\"') + if (lookahead == '\\') ADVANCE(4); + if (lookahead != 0 && + lookahead != '\n') + ADVANCE(2); END_STATE(); case 3: - if (lookahead == '\n') - ADVANCE(4); - if (lookahead == '\"') - ADVANCE(6); - if (lookahead == '\\') - ADVANCE(3); - if (lookahead != 0) - ADVANCE(4); + ACCEPT_TOKEN(sym_string_value); END_STATE(); case 4: + if (lookahead == '\n') + ADVANCE(2); if (lookahead == '\"') ADVANCE(5); if (lookahead == '\\') - ADVANCE(3); - if (lookahead != 0) ADVANCE(4); + if (lookahead != 0) + ADVANCE(2); END_STATE(); case 5: ACCEPT_TOKEN(sym_string_value); + if (lookahead == '\"') + ADVANCE(3); + if (lookahead == '\\') + ADVANCE(4); + if (lookahead != 0 && + lookahead != '\n') + ADVANCE(2); END_STATE(); case 6: - ACCEPT_TOKEN(sym_string_value); - if (lookahead == '\"') - ADVANCE(5); - if (lookahead == '\\') - ADVANCE(3); - if (lookahead != 0) - ADVANCE(4); - END_STATE(); - case 7: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); - case 8: + case 7: if (lookahead == '=') - ADVANCE(9); + ADVANCE(8); END_STATE(); - case 9: + case 8: ACCEPT_TOKEN(anon_sym_DOLLAR_EQ); END_STATE(); - case 10: + case 9: ACCEPT_TOKEN(sym_nesting_selector); END_STATE(); - case 11: + case 10: + if (lookahead == '\'') + ADVANCE(3); if (lookahead == '\\') - ADVANCE(12); + ADVANCE(11); if (lookahead != 0 && - lookahead != '\'') - ADVANCE(13); + lookahead != '\n') + ADVANCE(10); + END_STATE(); + case 11: + if (lookahead == '\n') + ADVANCE(10); + if (lookahead == '\'') + ADVANCE(12); + if (lookahead == '\\') + ADVANCE(11); + if (lookahead != 0) + ADVANCE(10); END_STATE(); case 12: - if (lookahead == '\n') - ADVANCE(13); - if (lookahead == '\'') - ADVANCE(14); - if (lookahead == '\\') - ADVANCE(12); - if (lookahead != 0) - ADVANCE(13); - END_STATE(); - case 13: - if (lookahead == '\'') - ADVANCE(5); - if (lookahead == '\\') - ADVANCE(12); - if (lookahead != 0) - ADVANCE(13); - END_STATE(); - case 14: ACCEPT_TOKEN(sym_string_value); if (lookahead == '\'') - ADVANCE(5); + ADVANCE(3); if (lookahead == '\\') - ADVANCE(12); - if (lookahead != 0) - ADVANCE(13); + ADVANCE(11); + if (lookahead != 0 && + lookahead != '\n') + ADVANCE(10); END_STATE(); - case 15: + case 13: ACCEPT_TOKEN(anon_sym_LPAREN2); END_STATE(); - case 16: + case 14: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 17: + case 15: ACCEPT_TOKEN(sym_universal_selector); if (lookahead == '=') - ADVANCE(18); + ADVANCE(16); END_STATE(); - case 18: + case 16: ACCEPT_TOKEN(anon_sym_STAR_EQ); END_STATE(); - case 19: + case 17: if (lookahead == '.') - ADVANCE(20); + ADVANCE(18); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(20); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); + END_STATE(); + case 18: + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(19); + END_STATE(); + case 19: + ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_PLUS_PIPE_DASH_PIPE_RPAREN_BSLASHd_STAR_LPAREN_DOT_BSLASHd_PLUS_PIPEe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_PIPE_DOT_BSLASHd_PLUSe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_RPAREN_SLASH); + if (lookahead == 'e') + ADVANCE(20); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(19); END_STATE(); case 20: - if (('0' <= lookahead && lookahead <= '9')) + if (lookahead == '-') ADVANCE(21); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(22); END_STATE(); case 21: - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_PLUS_PIPE_DASH_PIPE_RPAREN_BSLASHd_STAR_LPAREN_DOT_BSLASHd_PLUS_PIPEe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_PIPE_DOT_BSLASHd_PLUSe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_RPAREN_SLASH); - if (lookahead == 'e') - ADVANCE(22); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(21); + ADVANCE(22); END_STATE(); case 22: - if (lookahead == '-') - ADVANCE(23); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); - END_STATE(); - case 23: - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); - END_STATE(); - case 24: ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_PLUS_PIPE_DASH_PIPE_RPAREN_BSLASHd_STAR_LPAREN_DOT_BSLASHd_PLUS_PIPEe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_PIPE_DOT_BSLASHd_PLUSe_LPAREN_DASH_PIPE_RPAREN_BSLASHd_PLUS_RPAREN_SLASH); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); + ADVANCE(22); END_STATE(); - case 25: + case 23: ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_PLUS_PIPE_DASH_PIPE_RPAREN_BSLASHd_PLUS_SLASH); if (lookahead == '.') - ADVANCE(20); + ADVANCE(18); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(20); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); END_STATE(); - case 26: + case 24: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 27: + case 25: ACCEPT_TOKEN(anon_sym_DOT); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(21); + ADVANCE(19); + END_STATE(); + case 26: + if (lookahead == '*') + ADVANCE(27); + if (lookahead == '/') + ADVANCE(30); + END_STATE(); + case 27: + if (lookahead == '*') + ADVANCE(28); + if (lookahead != 0) + ADVANCE(27); END_STATE(); case 28: if (lookahead == '*') - ADVANCE(29); + ADVANCE(28); if (lookahead == '/') - ADVANCE(32); + ADVANCE(29); + if (lookahead != 0) + ADVANCE(27); END_STATE(); case 29: - if (lookahead == '*') - ADVANCE(30); - if (lookahead != 0) - ADVANCE(29); - END_STATE(); - case 30: - if (lookahead == '*') - ADVANCE(30); - if (lookahead == '/') - ADVANCE(31); - if (lookahead != 0) - ADVANCE(29); - END_STATE(); - case 31: ACCEPT_TOKEN(sym_comment); END_STATE(); - case 32: + case 30: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && lookahead != '\n') - ADVANCE(32); + ADVANCE(30); END_STATE(); - case 33: + case 31: ACCEPT_TOKEN(anon_sym_COLON); if (lookahead == ':') - ADVANCE(34); + ADVANCE(32); END_STATE(); - case 34: + case 32: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); - case 35: + case 33: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); - case 36: + case 34: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 37: + case 35: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 38: + case 36: if (lookahead == 'c') - ADVANCE(39); + ADVANCE(37); if (lookahead == 'i') - ADVANCE(47); - if (lookahead == 'm') - ADVANCE(53); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 39: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'h') - ADVANCE(40); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 40: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'a') - ADVANCE(41); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 41: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'r') - ADVANCE(42); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 42: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 's') - ADVANCE(43); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 43: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'e') - ADVANCE(44); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 44: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 't') ADVANCE(45); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 45: - ACCEPT_TOKEN(anon_sym_ATcharset); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 46: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 47: - ACCEPT_TOKEN(sym_at_keyword); if (lookahead == 'm') - ADVANCE(48); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 48: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'p') - ADVANCE(49); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 49: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'o') - ADVANCE(50); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 50: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'r') ADVANCE(51); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ADVANCE(44); END_STATE(); - case 51: + case 37: ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 't') - ADVANCE(52); + if (lookahead == 'h') + ADVANCE(38); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ADVANCE(44); END_STATE(); - case 52: + case 38: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'a') + ADVANCE(39); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 39: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'r') + ADVANCE(40); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 40: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 's') + ADVANCE(41); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 41: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'e') + ADVANCE(42); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 42: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 't') + ADVANCE(43); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_ATcharset); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 44: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 45: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'm') + ADVANCE(46); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 46: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'p') + ADVANCE(47); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 47: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'o') + ADVANCE(48); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 48: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'r') + ADVANCE(49); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 49: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 't') + ADVANCE(50); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 50: ACCEPT_TOKEN(anon_sym_ATimport); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ADVANCE(44); + END_STATE(); + case 51: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'e') + ADVANCE(52); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); + END_STATE(); + case 52: + ACCEPT_TOKEN(sym_at_keyword); + if (lookahead == 'd') + ADVANCE(53); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(44); END_STATE(); case 53: ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'e') + if (lookahead == 'i') ADVANCE(54); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ADVANCE(44); END_STATE(); case 54: ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'd') + if (lookahead == 'a') ADVANCE(55); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ('b' <= lookahead && lookahead <= 'z')) + ADVANCE(44); END_STATE(); case 55: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'i') - ADVANCE(56); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 56: - ACCEPT_TOKEN(sym_at_keyword); - if (lookahead == 'a') - ADVANCE(57); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) - ADVANCE(46); - END_STATE(); - case 57: ACCEPT_TOKEN(anon_sym_ATmedia); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(46); + ADVANCE(44); END_STATE(); - case 58: + case 56: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 59: + case 57: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 60: + case 58: if (lookahead == '=') + ADVANCE(59); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 60: + if (lookahead == 'n') ADVANCE(61); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_CARET_EQ); + if (lookahead == 'd') + ADVANCE(62); END_STATE(); case 62: - if (lookahead == 'n') - ADVANCE(63); + ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 63: - if (lookahead == 'd') + if (lookahead == 'o') ADVANCE(64); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_and); + if (lookahead == 't') + ADVANCE(65); END_STATE(); case 65: - if (lookahead == 'o') - ADVANCE(66); + ACCEPT_TOKEN(anon_sym_not); END_STATE(); case 66: - if (lookahead == 't') + if (lookahead == 'r') ADVANCE(67); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_not); - END_STATE(); - case 68: - if (lookahead == 'r') - ADVANCE(69); - END_STATE(); - case 69: ACCEPT_TOKEN(anon_sym_or); END_STATE(); - case 70: + case 68: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 71: + case 69: if (lookahead == '=') - ADVANCE(72); + ADVANCE(70); END_STATE(); - case 72: + case 70: ACCEPT_TOKEN(anon_sym_PIPE_EQ); END_STATE(); - case 73: + case 71: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 74: + case 72: if (lookahead == '=') + ADVANCE(73); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_TILDE_EQ); + END_STATE(); + case 74: + if (lookahead == 0) + ADVANCE(1); + if (lookahead == '\"') + ADVANCE(2); + if (lookahead == '#') + ADVANCE(6); + if (lookahead == '$') + ADVANCE(7); + if (lookahead == '&') + ADVANCE(9); + if (lookahead == '\'') + ADVANCE(10); + if (lookahead == '(') ADVANCE(75); + if (lookahead == ')') + ADVANCE(14); + if (lookahead == '*') + ADVANCE(15); + if (lookahead == '+') + ADVANCE(17); + if (lookahead == ',') + ADVANCE(24); + if (lookahead == '-') + ADVANCE(17); + if (lookahead == '.') + ADVANCE(25); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ':') + ADVANCE(31); + if (lookahead == ';') + ADVANCE(33); + if (lookahead == '=') + ADVANCE(34); + if (lookahead == '>') + ADVANCE(35); + if (lookahead == '@') + ADVANCE(36); + if (lookahead == '[') + ADVANCE(56); + if (lookahead == ']') + ADVANCE(57); + if (lookahead == '^') + ADVANCE(58); + if (lookahead == 'a') + ADVANCE(60); + if (lookahead == 'e') + ADVANCE(20); + if (lookahead == 'n') + ADVANCE(63); + if (lookahead == 'o') + ADVANCE(66); + if (lookahead == '{') + ADVANCE(68); + if (lookahead == '|') + ADVANCE(69); + if (lookahead == '}') + ADVANCE(71); + if (lookahead == '~') + ADVANCE(72); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(74); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(23); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_TILDE_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 76: if (lookahead == 0) @@ -1079,154 +1141,94 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\"') ADVANCE(2); if (lookahead == '#') - ADVANCE(7); - if (lookahead == '$') - ADVANCE(8); + ADVANCE(6); if (lookahead == '&') - ADVANCE(10); + ADVANCE(9); if (lookahead == '\'') - ADVANCE(11); - if (lookahead == '(') - ADVANCE(77); - if (lookahead == ')') - ADVANCE(16); + ADVANCE(10); if (lookahead == '*') - ADVANCE(17); - if (lookahead == '+') - ADVANCE(19); - if (lookahead == ',') - ADVANCE(26); - if (lookahead == '-') - ADVANCE(19); + ADVANCE(77); if (lookahead == '.') - ADVANCE(27); + ADVANCE(78); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ':') - ADVANCE(33); - if (lookahead == ';') - ADVANCE(35); - if (lookahead == '=') - ADVANCE(36); - if (lookahead == '>') - ADVANCE(37); + ADVANCE(31); if (lookahead == '@') - ADVANCE(38); + ADVANCE(36); if (lookahead == '[') - ADVANCE(58); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == '^') - ADVANCE(60); - if (lookahead == 'a') - ADVANCE(62); - if (lookahead == 'e') - ADVANCE(22); - if (lookahead == 'n') - ADVANCE(65); - if (lookahead == 'o') - ADVANCE(68); - if (lookahead == '{') - ADVANCE(70); - if (lookahead == '|') - ADVANCE(71); - if (lookahead == '}') - ADVANCE(73); - if (lookahead == '~') - ADVANCE(74); + ADVANCE(56); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(76); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); - END_STATE(); - case 77: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); - case 78: - if (lookahead == 0) - ADVANCE(1); - if (lookahead == '\"') - ADVANCE(2); - if (lookahead == '#') - ADVANCE(7); - if (lookahead == '&') - ADVANCE(10); - if (lookahead == '\'') - ADVANCE(11); - if (lookahead == '*') - ADVANCE(79); - if (lookahead == '.') - ADVANCE(80); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == ':') - ADVANCE(33); - if (lookahead == '@') - ADVANCE(38); - if (lookahead == '[') - ADVANCE(58); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(78); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 79: + case 77: ACCEPT_TOKEN(sym_universal_selector); END_STATE(); - case 80: + case 78: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 81: + case 79: ACCEPT_TOKEN(sym_identifier); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 82: + case 80: if (lookahead == '\"') ADVANCE(2); if (lookahead == '#') - ADVANCE(83); + ADVANCE(81); if (lookahead == '\'') - ADVANCE(11); + ADVANCE(10); if (lookahead == '(') - ADVANCE(15); + ADVANCE(13); if (lookahead == '+') - ADVANCE(19); + ADVANCE(17); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '-') - ADVANCE(92); + ADVANCE(90); if (lookahead == '.') - ADVANCE(20); + ADVANCE(18); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); if (lookahead == 'e') - ADVANCE(93); + ADVANCE(91); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(95); + SKIP(93); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); + END_STATE(); + case 81: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) + ADVANCE(82); + END_STATE(); + case 82: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) + ADVANCE(83); END_STATE(); case 83: if (('0' <= lookahead && lookahead <= '9') || @@ -1235,12 +1237,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ADVANCE(84); END_STATE(); case 84: + ACCEPT_TOKEN(sym_color_value); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(85); END_STATE(); case 85: + ACCEPT_TOKEN(sym_color_value); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) @@ -1269,243 +1273,255 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 89: ACCEPT_TOKEN(sym_color_value); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) - ADVANCE(90); END_STATE(); case 90: - ACCEPT_TOKEN(sym_color_value); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '.') + ADVANCE(18); + if (lookahead == 'e') ADVANCE(91); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(23); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); END_STATE(); case 91: - ACCEPT_TOKEN(sym_color_value); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '-') + ADVANCE(92); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(22); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); END_STATE(); case 92: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') - ADVANCE(20); - if (lookahead == 'e') - ADVANCE(93); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(22); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); case 93: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '-') - ADVANCE(94); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); - END_STATE(); - case 94: - ACCEPT_TOKEN(sym_identifier); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); - END_STATE(); - case 95: if (lookahead == '\"') ADVANCE(2); if (lookahead == '#') - ADVANCE(83); + ADVANCE(81); if (lookahead == '\'') - ADVANCE(11); + ADVANCE(10); if (lookahead == '+') - ADVANCE(19); + ADVANCE(17); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '-') - ADVANCE(92); + ADVANCE(90); if (lookahead == '.') - ADVANCE(20); + ADVANCE(18); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); if (lookahead == 'e') - ADVANCE(93); + ADVANCE(91); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(95); + SKIP(93); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 96: + case 94: if (lookahead == '(') - ADVANCE(77); + ADVANCE(75); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); if (lookahead == 'n') - ADVANCE(97); + ADVANCE(95); if (lookahead == '{') - ADVANCE(70); + ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(96); + SKIP(94); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 97: + case 95: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'o') - ADVANCE(98); + ADVANCE(96); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 98: + case 96: ACCEPT_TOKEN(sym_identifier); if (lookahead == 't') - ADVANCE(99); + ADVANCE(97); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 99: + case 97: ACCEPT_TOKEN(anon_sym_not); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 100: + case 98: if (lookahead == '#') - ADVANCE(7); + ADVANCE(6); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '.') - ADVANCE(80); + ADVANCE(78); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ':') - ADVANCE(33); + ADVANCE(31); if (lookahead == '>') - ADVANCE(37); + ADVANCE(35); if (lookahead == '[') - ADVANCE(58); + ADVANCE(56); if (lookahead == '{') - ADVANCE(70); + ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(100); + SKIP(98); END_STATE(); - case 101: + case 99: if (lookahead == 0) ADVANCE(1); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(101); + SKIP(99); END_STATE(); - case 102: + case 100: if (lookahead == '(') - ADVANCE(77); + ADVANCE(75); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); if (lookahead == 'n') - ADVANCE(103); + ADVANCE(101); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(107); + SKIP(105); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + ADVANCE(104); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_') - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 103: + case 101: ACCEPT_TOKEN(sym_unit); if (lookahead == 'o') - ADVANCE(104); + ADVANCE(102); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + ADVANCE(104); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_') - ADVANCE(81); + ADVANCE(79); + END_STATE(); + case 102: + ACCEPT_TOKEN(sym_unit); + if (lookahead == 't') + ADVANCE(103); + if (('a' <= lookahead && lookahead <= 'z')) + ADVANCE(104); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') + ADVANCE(79); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_not); + if (('a' <= lookahead && lookahead <= 'z')) + ADVANCE(104); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_') + ADVANCE(79); END_STATE(); case 104: ACCEPT_TOKEN(sym_unit); - if (lookahead == 't') - ADVANCE(105); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + ADVANCE(104); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_') - ADVANCE(81); + ADVANCE(79); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_not); - if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + if (lookahead == '(') + ADVANCE(75); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ';') + ADVANCE(33); + if (lookahead == 'n') + ADVANCE(95); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(105); if (lookahead == '-' || ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') - ADVANCE(81); + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); END_STATE(); case 106: - ACCEPT_TOKEN(sym_unit); - if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_') - ADVANCE(81); - END_STATE(); - case 107: if (lookahead == '(') - ADVANCE(77); + ADVANCE(13); + if (lookahead == ')') + ADVANCE(14); + if (lookahead == ',') + ADVANCE(24); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); + ADVANCE(33); + if (lookahead == ']') + ADVANCE(57); if (lookahead == 'n') - ADVANCE(97); + ADVANCE(95); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1515,94 +1531,104 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + ADVANCE(79); + END_STATE(); + case 107: + if (lookahead == '(') + ADVANCE(75); + if (lookahead == ')') + ADVANCE(14); + if (lookahead == ',') + ADVANCE(24); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ';') + ADVANCE(33); + if (lookahead == ']') + ADVANCE(57); + if (lookahead == 'n') + ADVANCE(95); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(107); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); END_STATE(); case 108: - if (lookahead == '(') - ADVANCE(15); if (lookahead == ')') - ADVANCE(16); + ADVANCE(14); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == 'n') - ADVANCE(97); + ADVANCE(33); + if (lookahead == 'a') + ADVANCE(60); + if (lookahead == 'o') + ADVANCE(66); + if (lookahead == '{') + ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(109); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); + SKIP(108); END_STATE(); case 109: - if (lookahead == '(') - ADVANCE(77); - if (lookahead == ')') - ADVANCE(16); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == 'n') - ADVANCE(97); + ADVANCE(33); + if (lookahead == 'a') + ADVANCE(60); + if (lookahead == 'o') + ADVANCE(66); + if (lookahead == '{') + ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(109); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); END_STATE(); case 110: if (lookahead == ')') - ADVANCE(16); + ADVANCE(14); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); - if (lookahead == 'a') - ADVANCE(62); - if (lookahead == 'o') - ADVANCE(68); - if (lookahead == '{') - ADVANCE(70); + ADVANCE(33); + if (lookahead == ']') + ADVANCE(57); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(110); + SKIP(111); + if (('a' <= lookahead && lookahead <= 'z')) + ADVANCE(112); END_STATE(); case 111: + if (lookahead == ')') + ADVANCE(14); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ';') - ADVANCE(35); - if (lookahead == 'a') - ADVANCE(62); - if (lookahead == 'o') - ADVANCE(68); - if (lookahead == '{') - ADVANCE(70); + ADVANCE(33); + if (lookahead == ']') + ADVANCE(57); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -1610,232 +1636,196 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { SKIP(111); END_STATE(); case 112: - if (lookahead == ')') - ADVANCE(16); - if (lookahead == ',') - ADVANCE(26); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == ';') - ADVANCE(35); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(113); - if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(114); - END_STATE(); - case 113: - if (lookahead == ')') - ADVANCE(16); - if (lookahead == ',') - ADVANCE(26); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == ';') - ADVANCE(35); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(113); - END_STATE(); - case 114: ACCEPT_TOKEN(sym_unit); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(114); + ADVANCE(112); END_STATE(); - case 115: + case 113: if (lookahead == '#') - ADVANCE(7); + ADVANCE(6); if (lookahead == '(') - ADVANCE(15); + ADVANCE(13); if (lookahead == ',') - ADVANCE(26); + ADVANCE(24); if (lookahead == '.') - ADVANCE(80); + ADVANCE(78); if (lookahead == '/') - ADVANCE(28); + ADVANCE(26); if (lookahead == ':') - ADVANCE(33); + ADVANCE(31); if (lookahead == '>') - ADVANCE(37); + ADVANCE(35); if (lookahead == '[') - ADVANCE(58); + ADVANCE(56); if (lookahead == '{') - ADVANCE(70); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(100); - END_STATE(); - case 116: - if (lookahead == '$') - ADVANCE(8); - if (lookahead == '*') - ADVANCE(117); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == '=') - ADVANCE(36); - if (lookahead == ']') - ADVANCE(59); - if (lookahead == '^') - ADVANCE(60); - if (lookahead == '|') - ADVANCE(71); - if (lookahead == '~') - ADVANCE(74); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(116); - END_STATE(); - case 117: - if (lookahead == '=') - ADVANCE(18); - END_STATE(); - case 118: - if (lookahead == 0) - ADVANCE(1); - if (lookahead == '\"') - ADVANCE(2); - if (lookahead == '#') - ADVANCE(7); - if (lookahead == '&') - ADVANCE(10); - if (lookahead == '\'') - ADVANCE(11); - if (lookahead == '*') - ADVANCE(79); - if (lookahead == '.') - ADVANCE(80); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == ':') - ADVANCE(33); - if (lookahead == '@') - ADVANCE(38); - if (lookahead == '[') - ADVANCE(58); - if (lookahead == '}') - ADVANCE(73); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(118); - if (lookahead == '-' || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); - END_STATE(); - case 119: - if (lookahead == '\"') - ADVANCE(2); - if (lookahead == '#') - ADVANCE(83); - if (lookahead == '\'') - ADVANCE(11); - if (lookahead == ')') - ADVANCE(16); - if (lookahead == '+') - ADVANCE(19); - if (lookahead == ',') - ADVANCE(26); - if (lookahead == '-') - ADVANCE(92); - if (lookahead == '.') - ADVANCE(20); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == 'e') - ADVANCE(93); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - SKIP(119); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(81); - END_STATE(); - case 120: - if (lookahead == ')') - ADVANCE(16); - if (lookahead == '/') - ADVANCE(28); - if (lookahead == ':') - ADVANCE(121); - if (lookahead == 'a') - ADVANCE(62); - if (lookahead == 'o') ADVANCE(68); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(120); + SKIP(98); END_STATE(); - case 121: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 122: - if (lookahead == '\"') - ADVANCE(2); - if (lookahead == '#') - ADVANCE(83); - if (lookahead == '\'') - ADVANCE(11); - if (lookahead == '+') - ADVANCE(19); - if (lookahead == ',') - ADVANCE(26); - if (lookahead == '-') - ADVANCE(92); - if (lookahead == '.') - ADVANCE(20); + case 114: + if (lookahead == '$') + ADVANCE(7); + if (lookahead == '*') + ADVANCE(115); if (lookahead == '/') - ADVANCE(28); - if (lookahead == ';') - ADVANCE(35); - if (lookahead == 'e') - ADVANCE(123); + ADVANCE(26); + if (lookahead == '=') + ADVANCE(34); + if (lookahead == ']') + ADVANCE(57); + if (lookahead == '^') + ADVANCE(58); + if (lookahead == '|') + ADVANCE(69); + if (lookahead == '~') + ADVANCE(72); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') - SKIP(95); + SKIP(114); + END_STATE(); + case 115: + if (lookahead == '=') + ADVANCE(16); + END_STATE(); + case 116: + if (lookahead == 0) + ADVANCE(1); + if (lookahead == '\"') + ADVANCE(2); + if (lookahead == '#') + ADVANCE(6); + if (lookahead == '&') + ADVANCE(9); + if (lookahead == '\'') + ADVANCE(10); + if (lookahead == '*') + ADVANCE(77); + if (lookahead == '.') + ADVANCE(78); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ':') + ADVANCE(31); + if (lookahead == '@') + ADVANCE(36); + if (lookahead == '[') + ADVANCE(56); + if (lookahead == '}') + ADVANCE(71); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(116); + if (lookahead == '-' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); + END_STATE(); + case 117: + if (lookahead == '\"') + ADVANCE(2); + if (lookahead == '#') + ADVANCE(81); + if (lookahead == '\'') + ADVANCE(10); + if (lookahead == ')') + ADVANCE(14); + if (lookahead == '+') + ADVANCE(17); + if (lookahead == ',') + ADVANCE(24); + if (lookahead == '-') + ADVANCE(90); + if (lookahead == '.') + ADVANCE(18); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == 'e') + ADVANCE(91); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(117); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(25); + ADVANCE(23); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(79); + END_STATE(); + case 118: + if (lookahead == ')') + ADVANCE(14); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ':') + ADVANCE(119); + if (lookahead == 'a') + ADVANCE(60); + if (lookahead == 'o') + ADVANCE(66); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(118); + END_STATE(); + case 119: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 120: + if (lookahead == '\"') + ADVANCE(2); + if (lookahead == '#') + ADVANCE(81); + if (lookahead == '\'') + ADVANCE(10); + if (lookahead == '+') + ADVANCE(17); + if (lookahead == ',') + ADVANCE(24); + if (lookahead == '-') + ADVANCE(90); + if (lookahead == '.') + ADVANCE(18); + if (lookahead == '/') + ADVANCE(26); + if (lookahead == ';') + ADVANCE(33); + if (lookahead == 'e') + ADVANCE(121); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') + SKIP(93); + if (('0' <= lookahead && lookahead <= '9')) + ADVANCE(23); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + ADVANCE(104); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_') - ADVANCE(81); + ADVANCE(79); END_STATE(); - case 123: + case 121: ACCEPT_TOKEN(sym_unit); if (lookahead == '-') - ADVANCE(94); + ADVANCE(92); if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(24); + ADVANCE(22); if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(106); + ADVANCE(104); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_') - ADVANCE(81); + ADVANCE(79); END_STATE(); default: return false; @@ -1844,149 +1834,149 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 78}, - [2] = {.lex_state = 82}, - [3] = {.lex_state = 96}, - [4] = {.lex_state = 82}, - [5] = {.lex_state = 78}, - [6] = {.lex_state = 78}, - [7] = {.lex_state = 78}, - [8] = {.lex_state = 78}, - [9] = {.lex_state = 78}, - [10] = {.lex_state = 100, .external_lex_state = 1}, - [11] = {.lex_state = 96}, - [12] = {.lex_state = 101}, - [13] = {.lex_state = 96}, - [14] = {.lex_state = 100, .external_lex_state = 1}, - [15] = {.lex_state = 78}, - [16] = {.lex_state = 102}, - [17] = {.lex_state = 102}, - [18] = {.lex_state = 108}, - [19] = {.lex_state = 96}, - [20] = {.lex_state = 96}, - [21] = {.lex_state = 96}, - [22] = {.lex_state = 110}, - [23] = {.lex_state = 111}, - [24] = {.lex_state = 112}, - [25] = {.lex_state = 112}, - [26] = {.lex_state = 82}, - [27] = {.lex_state = 100, .external_lex_state = 1}, - [28] = {.lex_state = 115, .external_lex_state = 1}, - [29] = {.lex_state = 100, .external_lex_state = 1}, - [30] = {.lex_state = 100, .external_lex_state = 1}, - [31] = {.lex_state = 116}, - [32] = {.lex_state = 118}, - [33] = {.lex_state = 118}, - [34] = {.lex_state = 96}, - [35] = {.lex_state = 111}, - [36] = {.lex_state = 118}, - [37] = {.lex_state = 78}, - [38] = {.lex_state = 78}, - [39] = {.lex_state = 78}, - [40] = {.lex_state = 78}, - [41] = {.lex_state = 78}, - [42] = {.lex_state = 78}, - [43] = {.lex_state = 78}, - [44] = {.lex_state = 78}, - [45] = {.lex_state = 100}, - [46] = {.lex_state = 78}, - [47] = {.lex_state = 109}, - [48] = {.lex_state = 109}, - [49] = {.lex_state = 119}, - [50] = {.lex_state = 109}, - [51] = {.lex_state = 118}, - [52] = {.lex_state = 96}, - [53] = {.lex_state = 111}, - [54] = {.lex_state = 96}, - [55] = {.lex_state = 120}, - [56] = {.lex_state = 120}, - [57] = {.lex_state = 110}, - [58] = {.lex_state = 96}, - [59] = {.lex_state = 96}, - [60] = {.lex_state = 118}, - [61] = {.lex_state = 100}, - [62] = {.lex_state = 118}, - [63] = {.lex_state = 119}, - [64] = {.lex_state = 100, .external_lex_state = 1}, - [65] = {.lex_state = 82}, - [66] = {.lex_state = 100, .external_lex_state = 1}, - [67] = {.lex_state = 118}, - [68] = {.lex_state = 100, .external_lex_state = 1}, - [69] = {.lex_state = 118}, - [70] = {.lex_state = 96}, - [71] = {.lex_state = 118}, - [72] = {.lex_state = 96}, - [73] = {.lex_state = 111}, - [74] = {.lex_state = 100, .external_lex_state = 1}, - [75] = {.lex_state = 100, .external_lex_state = 1}, - [76] = {.lex_state = 100, .external_lex_state = 1}, - [77] = {.lex_state = 115, .external_lex_state = 1}, - [78] = {.lex_state = 100, .external_lex_state = 1}, - [79] = {.lex_state = 100, .external_lex_state = 1}, - [80] = {.lex_state = 116}, - [81] = {.lex_state = 100, .external_lex_state = 1}, - [82] = {.lex_state = 100}, - [83] = {.lex_state = 109}, - [84] = {.lex_state = 119}, - [85] = {.lex_state = 96}, - [86] = {.lex_state = 118}, - [87] = {.lex_state = 96}, - [88] = {.lex_state = 82}, - [89] = {.lex_state = 82}, - [90] = {.lex_state = 110}, - [91] = {.lex_state = 96}, - [92] = {.lex_state = 111}, - [93] = {.lex_state = 110}, - [94] = {.lex_state = 118}, - [95] = {.lex_state = 100}, - [96] = {.lex_state = 100, .external_lex_state = 1}, - [97] = {.lex_state = 119}, - [98] = {.lex_state = 116}, - [99] = {.lex_state = 82}, - [100] = {.lex_state = 118}, - [101] = {.lex_state = 118}, - [102] = {.lex_state = 111}, - [103] = {.lex_state = 118}, - [104] = {.lex_state = 111}, - [105] = {.lex_state = 100, .external_lex_state = 1}, - [106] = {.lex_state = 82}, - [107] = {.lex_state = 100, .external_lex_state = 1}, - [108] = {.lex_state = 82}, - [109] = {.lex_state = 109}, - [110] = {.lex_state = 119}, - [111] = {.lex_state = 111}, - [112] = {.lex_state = 118}, - [113] = {.lex_state = 82}, - [114] = {.lex_state = 119}, - [115] = {.lex_state = 100, .external_lex_state = 1}, - [116] = {.lex_state = 119}, - [117] = {.lex_state = 100, .external_lex_state = 1}, - [118] = {.lex_state = 122}, - [119] = {.lex_state = 122}, - [120] = {.lex_state = 82}, - [121] = {.lex_state = 82}, - [122] = {.lex_state = 116}, - [123] = {.lex_state = 119}, - [124] = {.lex_state = 109}, - [125] = {.lex_state = 119}, - [126] = {.lex_state = 110}, - [127] = {.lex_state = 100, .external_lex_state = 1}, - [128] = {.lex_state = 82}, - [129] = {.lex_state = 82}, - [130] = {.lex_state = 119}, - [131] = {.lex_state = 82}, - [132] = {.lex_state = 82}, - [133] = {.lex_state = 118}, - [134] = {.lex_state = 82}, - [135] = {.lex_state = 100, .external_lex_state = 1}, - [136] = {.lex_state = 82}, - [137] = {.lex_state = 119}, - [138] = {.lex_state = 82}, - [139] = {.lex_state = 118}, - [140] = {.lex_state = 82}, - [141] = {.lex_state = 82}, - [142] = {.lex_state = 119}, - [143] = {.lex_state = 82}, + [1] = {.lex_state = 76}, + [2] = {.lex_state = 80}, + [3] = {.lex_state = 94}, + [4] = {.lex_state = 80}, + [5] = {.lex_state = 76}, + [6] = {.lex_state = 76}, + [7] = {.lex_state = 76}, + [8] = {.lex_state = 76}, + [9] = {.lex_state = 76}, + [10] = {.lex_state = 98, .external_lex_state = 1}, + [11] = {.lex_state = 94}, + [12] = {.lex_state = 99}, + [13] = {.lex_state = 94}, + [14] = {.lex_state = 98, .external_lex_state = 1}, + [15] = {.lex_state = 76}, + [16] = {.lex_state = 100}, + [17] = {.lex_state = 100}, + [18] = {.lex_state = 106}, + [19] = {.lex_state = 94}, + [20] = {.lex_state = 94}, + [21] = {.lex_state = 94}, + [22] = {.lex_state = 108}, + [23] = {.lex_state = 109}, + [24] = {.lex_state = 110}, + [25] = {.lex_state = 110}, + [26] = {.lex_state = 80}, + [27] = {.lex_state = 98, .external_lex_state = 1}, + [28] = {.lex_state = 113, .external_lex_state = 1}, + [29] = {.lex_state = 98, .external_lex_state = 1}, + [30] = {.lex_state = 98, .external_lex_state = 1}, + [31] = {.lex_state = 114}, + [32] = {.lex_state = 116}, + [33] = {.lex_state = 116}, + [34] = {.lex_state = 94}, + [35] = {.lex_state = 109}, + [36] = {.lex_state = 116}, + [37] = {.lex_state = 76}, + [38] = {.lex_state = 76}, + [39] = {.lex_state = 76}, + [40] = {.lex_state = 76}, + [41] = {.lex_state = 76}, + [42] = {.lex_state = 76}, + [43] = {.lex_state = 76}, + [44] = {.lex_state = 76}, + [45] = {.lex_state = 98}, + [46] = {.lex_state = 76}, + [47] = {.lex_state = 107}, + [48] = {.lex_state = 107}, + [49] = {.lex_state = 117}, + [50] = {.lex_state = 107}, + [51] = {.lex_state = 116}, + [52] = {.lex_state = 94}, + [53] = {.lex_state = 109}, + [54] = {.lex_state = 94}, + [55] = {.lex_state = 118}, + [56] = {.lex_state = 118}, + [57] = {.lex_state = 108}, + [58] = {.lex_state = 94}, + [59] = {.lex_state = 94}, + [60] = {.lex_state = 116}, + [61] = {.lex_state = 98}, + [62] = {.lex_state = 116}, + [63] = {.lex_state = 117}, + [64] = {.lex_state = 98, .external_lex_state = 1}, + [65] = {.lex_state = 80}, + [66] = {.lex_state = 98, .external_lex_state = 1}, + [67] = {.lex_state = 116}, + [68] = {.lex_state = 98, .external_lex_state = 1}, + [69] = {.lex_state = 116}, + [70] = {.lex_state = 94}, + [71] = {.lex_state = 116}, + [72] = {.lex_state = 94}, + [73] = {.lex_state = 109}, + [74] = {.lex_state = 98, .external_lex_state = 1}, + [75] = {.lex_state = 98, .external_lex_state = 1}, + [76] = {.lex_state = 98, .external_lex_state = 1}, + [77] = {.lex_state = 113, .external_lex_state = 1}, + [78] = {.lex_state = 98, .external_lex_state = 1}, + [79] = {.lex_state = 98, .external_lex_state = 1}, + [80] = {.lex_state = 114}, + [81] = {.lex_state = 98, .external_lex_state = 1}, + [82] = {.lex_state = 98}, + [83] = {.lex_state = 107}, + [84] = {.lex_state = 117}, + [85] = {.lex_state = 94}, + [86] = {.lex_state = 116}, + [87] = {.lex_state = 94}, + [88] = {.lex_state = 80}, + [89] = {.lex_state = 80}, + [90] = {.lex_state = 108}, + [91] = {.lex_state = 94}, + [92] = {.lex_state = 109}, + [93] = {.lex_state = 108}, + [94] = {.lex_state = 116}, + [95] = {.lex_state = 98}, + [96] = {.lex_state = 98, .external_lex_state = 1}, + [97] = {.lex_state = 117}, + [98] = {.lex_state = 114}, + [99] = {.lex_state = 80}, + [100] = {.lex_state = 116}, + [101] = {.lex_state = 116}, + [102] = {.lex_state = 109}, + [103] = {.lex_state = 116}, + [104] = {.lex_state = 109}, + [105] = {.lex_state = 98, .external_lex_state = 1}, + [106] = {.lex_state = 80}, + [107] = {.lex_state = 98, .external_lex_state = 1}, + [108] = {.lex_state = 80}, + [109] = {.lex_state = 107}, + [110] = {.lex_state = 117}, + [111] = {.lex_state = 109}, + [112] = {.lex_state = 116}, + [113] = {.lex_state = 80}, + [114] = {.lex_state = 117}, + [115] = {.lex_state = 98, .external_lex_state = 1}, + [116] = {.lex_state = 117}, + [117] = {.lex_state = 98, .external_lex_state = 1}, + [118] = {.lex_state = 120}, + [119] = {.lex_state = 120}, + [120] = {.lex_state = 80}, + [121] = {.lex_state = 80}, + [122] = {.lex_state = 114}, + [123] = {.lex_state = 117}, + [124] = {.lex_state = 107}, + [125] = {.lex_state = 117}, + [126] = {.lex_state = 108}, + [127] = {.lex_state = 98, .external_lex_state = 1}, + [128] = {.lex_state = 80}, + [129] = {.lex_state = 80}, + [130] = {.lex_state = 117}, + [131] = {.lex_state = 80}, + [132] = {.lex_state = 80}, + [133] = {.lex_state = 116}, + [134] = {.lex_state = 80}, + [135] = {.lex_state = 98, .external_lex_state = 1}, + [136] = {.lex_state = 80}, + [137] = {.lex_state = 117}, + [138] = {.lex_state = 80}, + [139] = {.lex_state = 116}, + [140] = {.lex_state = 80}, + [141] = {.lex_state = 80}, + [142] = {.lex_state = 117}, + [143] = {.lex_state = 80}, }; enum {