diff --git a/.gitignore b/.gitignore index 244f59a..f565f65 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,6 @@ /.pre-commit-config.yaml # Tree-sitter artifact -/tree-sitter-blueprint.wasm +/tree-sitter-bp.wasm # Rust bindings /target diff --git a/Cargo.toml b/Cargo.toml index 9e95645..4707f77 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "tree-sitter-blueprint" +name = "tree-sitter-bp" description = "Blueprint grammar for the tree-sitter parsing library" -version = "0.1.0" +version = "0.2.0" keywords = ["incremental", "parsing", "android", "blueprint"] categories = ["parsing", "text-editors"] -repository = "https://git.belanyi.fr/ambroisie/tree-sitter-blueprint" +repository = "https://git.belanyi.fr/ambroisie/tree-sitter-bp" edition = "2018" license = "MIT" diff --git a/Makefile b/Makefile index e421948..d60784a 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,18 @@ -.PHONE: all +.PHONY: all all: tree-sitter generate -.PHONE: test +.PHONY: test test: all tree-sitter test --apply-all-captures + nvim-test-runner -.PHONE: update-tests +.PHONY: update-tests update-tests: all tree-sitter test -u --apply-all-captures + nvim-test-runner +.PHONY: playground playground: nix shell pkgs#emscripten --command tree-sitter build-wasm tree-sitter playground diff --git a/README.md b/README.md index 0a33789..129e93d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# tree-sitter-blueprint +# tree-sitter-bp Tree-sitter grammar for [Blueprint][blueprint-aosp], the meta-build system used in AOSP for its `Android.bp` files. diff --git a/binding.gyp b/binding.gyp index c94ea72..be4507b 100644 --- a/binding.gyp +++ b/binding.gyp @@ -1,7 +1,7 @@ { "targets": [ { - "target_name": "tree_sitter_blueprint_binding", + "target_name": "tree_sitter_bp_binding", "include_dirs": [ " exports, Local module) { Local constructor = Nan::GetFunction(tpl).ToLocalChecked(); Local instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_blueprint()); + Nan::SetInternalFieldPointer(instance, 0, tree_sitter_bp()); - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("blueprint").ToLocalChecked()); + Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("bp").ToLocalChecked()); Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); } -NODE_MODULE(tree_sitter_blueprint_binding, Init) +NODE_MODULE(tree_sitter_bp_binding, Init) } // namespace diff --git a/bindings/node/index.js b/bindings/node/index.js index 3b30fe6..9bd9a6e 100644 --- a/bindings/node/index.js +++ b/bindings/node/index.js @@ -1,11 +1,11 @@ try { - module.exports = require("../../build/Release/tree_sitter_blueprint_binding"); + module.exports = require("../../build/Release/tree_sitter_bp_binding"); } catch (error1) { if (error1.code !== 'MODULE_NOT_FOUND') { throw error1; } try { - module.exports = require("../../build/Debug/tree_sitter_blueprint_binding"); + module.exports = require("../../build/Debug/tree_sitter_bp_binding"); } catch (error2) { if (error2.code !== 'MODULE_NOT_FOUND') { throw error2; diff --git a/bindings/rust/lib.rs b/bindings/rust/lib.rs index 5f3b8ca..22bfdfc 100644 --- a/bindings/rust/lib.rs +++ b/bindings/rust/lib.rs @@ -1,4 +1,4 @@ -//! This crate provides blueprint support for the [tree-sitter][] parsing library. +//! This crate provides bp support for the [tree-sitter][] parsing library. //! //! Typically, you will use the [language][language func] function to add this language to a //! tree-sitter [Parser][], and then use the parser to parse some code: @@ -6,7 +6,7 @@ //! ``` //! let code = ""; //! let mut parser = tree_sitter::Parser::new(); -//! parser.set_language(tree_sitter_blueprint::language()).expect("Error loading txtpb grammar"); +//! parser.set_language(tree_sitter_bp::language()).expect("Error loading txtpb grammar"); //! let tree = parser.parse(code, None).unwrap(); //! ``` //! @@ -18,14 +18,14 @@ use tree_sitter::Language; extern "C" { - fn tree_sitter_blueprint() -> Language; + fn tree_sitter_bp() -> Language; } /// Get the tree-sitter [Language][] for this grammar. /// /// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html pub fn language() -> Language { - unsafe { tree_sitter_blueprint() } + unsafe { tree_sitter_bp() } } /// The content of the [`node-types.json`][] file for this grammar. @@ -47,6 +47,6 @@ mod tests { let mut parser = tree_sitter::Parser::new(); parser .set_language(super::language()) - .expect("Error loading blueprint language"); + .expect("Error loading bp language"); } } diff --git a/flake.nix b/flake.nix index e7053c4..77fba0a 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,7 @@ }: let inherit (flake-utils.lib) eachDefaultSystem; + inherit (nixpkgs) lib; in eachDefaultSystem (system: @@ -46,6 +47,25 @@ overlays = [ self.overlays.default ]; }; + nvim-test-runner = pkgs.writeShellApplication { + name = "nvim-test-runner"; + + runtimeInputs = with pkgs; [ + highlight-assertions + neovim + ]; + + text = '' + export NVIM_PLENARY='${pkgs.vimPlugins.plenary-nvim}' + export NVIM_TREESITTER='${pkgs.vimPlugins.nvim-treesitter}' + export NVIM_TREESITTER_TEXTOBJECTS='${pkgs.vimPlugins.nvim-treesitter-textobjects}' + export NVIM_TREESITTER_PARSER='${pkgs.vimPlugins.nvim-treesitter.grammarToPlugin self.packages.${system}.tree-sitter-bp}' + + nvim --headless --noplugin -u ${scripts/minimal_init.lua} \ + -c "PlenaryBustedDirectory test/ { minimal_init = '${./scripts/minimal_init.lua}' }" + ''; + }; + bump-version = pkgs.writeShellScriptBin "bump-version" '' set -eu @@ -90,6 +110,13 @@ enable = true; }; + nvim-test-runner = { + enable = true; + name = "nvim tests"; + entry = "${lib.getExe nvim-test-runner}"; + pass_filenames = false; + }; + tree-sitter = { enable = true; name = "tree-sitter tests"; @@ -112,6 +139,7 @@ nativeBuildInputs = with pkgs; [ bump-version nodejs + nvim-test-runner # FIXME: waiting on #301336 # (tree-sitter.override { webUISupport = true; }) tree-sitter @@ -122,9 +150,9 @@ }; packages = { - default = packages.tree-sitter-blueprint; + default = packages.tree-sitter-bp; - inherit (pkgs.tree-sitter.passthru.builtGrammars) tree-sitter-blueprint; + inherit (pkgs.tree-sitter.passthru.builtGrammars) tree-sitter-bp; inherit (pkgs) tree-sitter; }; @@ -133,7 +161,7 @@ default = final: prev: { tree-sitter = prev.tree-sitter.override { extraGrammars = { - tree-sitter-blueprint = { + tree-sitter-bp = { src = ./.; }; }; diff --git a/grammar.js b/grammar.js index 997674c..6d16c74 100644 --- a/grammar.js +++ b/grammar.js @@ -3,12 +3,11 @@ function commaSeparated(elem) { } module.exports = grammar({ - name: "blueprint", + name: "bp", extras: ($) => [ /\s+/, - $.line_comment, - $.block_comment, + $.comment, ], rules: { @@ -19,9 +18,10 @@ module.exports = grammar({ $.module, ), - line_comment: (_) => seq("//", /[^\n]*/), - - block_comment: (_) => seq("/*", /[^*]*\*+([^/*][^*]*\*+)*/, '/'), + comment: (_) => choice( + seq("//", /(\\+(.|\r?\n)|[^\\\n])*/), + seq("/*", /[^*]*\*+([^/*][^*]*\*+)*/, "/"), + ), // Definitions {{{ diff --git a/package.json b/package.json index 3db073a..3c864d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "tree-sitter-blueprint", - "version": "0.1.0", + "name": "tree-sitter-bp", + "version": "0.2.0", "description": "Blueprint grammar for tree-sitter", "main": "bindings/node", "keywords": [ @@ -18,7 +18,7 @@ }, "tree-sitter": [ { - "scope": "source.blueprint", + "scope": "source.bp", "file-types": [ "bp" ], diff --git a/queries/folds.scm b/queries/folds.scm new file mode 100644 index 0000000..6f39fe9 --- /dev/null +++ b/queries/folds.scm @@ -0,0 +1,8 @@ +[ + (list_expression) + (map_expression) + (module) + (select_expression) +] @fold + +; vim: sw=2 foldmethod=marker diff --git a/queries/highlights.scm b/queries/highlights.scm index 9506ebd..4209180 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -1,7 +1,4 @@ -[ - (line_comment) - (block_comment) -] @comment +(comment) @comment ; Operators {{{ (operator) @operator diff --git a/queries/indents.scm b/queries/indents.scm new file mode 100644 index 0000000..2797122 --- /dev/null +++ b/queries/indents.scm @@ -0,0 +1,29 @@ +; Expressions {{{ +(list_expression) @indent.begin +(list_expression + "]" @indent.branch) + +(map_expression) @indent.begin +(map_expression + "}" @indent.branch) + +(select_expression) @indent.begin +(select_expression + ")" @indent.branch) + +; FIXME: how to fix this +; (select_expression +; "{" @indent.begin) +; (select_expression +; "}" @indent.branch) +; }}} + +; Declarations {{{ +(module) @indent.begin +(module + ")" @indent.branch) +(module + "}" @indent.branch) +; }}} + +; vim: sw=2 foldmethod=marker diff --git a/queries/injections.scm b/queries/injections.scm new file mode 100644 index 0000000..9735c59 --- /dev/null +++ b/queries/injections.scm @@ -0,0 +1,4 @@ +((comment) @injection.content + (#set! injection.language "comment")) + +; vim: sw=2 foldmethod=marker diff --git a/scripts/dummy_plugin/queries/bp b/scripts/dummy_plugin/queries/bp new file mode 120000 index 0000000..4578310 --- /dev/null +++ b/scripts/dummy_plugin/queries/bp @@ -0,0 +1 @@ +../../../queries \ No newline at end of file diff --git a/scripts/minimal_init.lua b/scripts/minimal_init.lua new file mode 100644 index 0000000..3813249 --- /dev/null +++ b/scripts/minimal_init.lua @@ -0,0 +1,40 @@ +vim.opt.runtimepath:append(vim.env.NVIM_PLENARY) +vim.opt.runtimepath:append(vim.env.NVIM_TREESITTER) +vim.opt.runtimepath:append(vim.env.NVIM_TREESITTER_TEXTOBJECTS) +vim.opt.runtimepath:append(vim.env.NVIM_TREESITTER_PARSER) + +vim.cmd.runtime({ "plugin/plenary.vim", bang = true }) +vim.cmd.runtime({ "plugin/nvim-treesitter.lua", bang = true }) +vim.cmd.runtime({ "plugin/nvim-treesitter-textobjects.lua", bang = true }) + +local Path = require("plenary.path") + +local project_root = Path:new(".") -- FIXME: relies on current working directory + +vim.filetype.add({ + extension = { + bp = "bp", + }, +}) + +vim.o.swapfile = false +vim.bo.swapfile = false + +local parser_config = require("nvim-treesitter.parsers").get_parser_configs() +parser_config.bp = { + install_info = { + url = project_root.filename, + files = {"src/parser.c"}, + }, +} + +require("nvim-treesitter.configs").setup({ + indent = { enable = true }, + highlight = { enable = true }, +}) + +-- We need a hierarchy of `queries/bp/*.scm` in the runtimepath, otherwise +-- `nvim-treesitter` doesn't enable some of its features (e.g: folding). +-- The dummy plugin has a symlink following that format for our queries. +local dummy_plugin_path = project_root / "scripts" / "dummy_plugin" +vim.opt.runtimepath:append(dummy_plugin_path.filename) diff --git a/src/grammar.json b/src/grammar.json index 06f61d9..0a90627 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1,5 +1,5 @@ { - "name": "blueprint", + "name": "bp", "rules": { "source_file": { "type": "REPEAT", @@ -21,33 +21,38 @@ } ] }, - "line_comment": { - "type": "SEQ", + "comment": { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "//" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "//" + }, + { + "type": "PATTERN", + "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*" + } + ] }, { - "type": "PATTERN", - "value": "[^\\n]*" - } - ] - }, - "block_comment": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "/*" - }, - { - "type": "PATTERN", - "value": "[^*]*\\*+([^/*][^*]*\\*+)*" - }, - { - "type": "STRING", - "value": "/" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/*" + }, + { + "type": "PATTERN", + "value": "[^*]*\\*+([^/*][^*]*\\*+)*" + }, + { + "type": "STRING", + "value": "/" + } + ] } ] }, @@ -924,11 +929,7 @@ }, { "type": "SYMBOL", - "name": "line_comment" - }, - { - "type": "SYMBOL", - "name": "block_comment" + "name": "comment" } ], "conflicts": [], diff --git a/src/node-types.json b/src/node-types.json index 6eb385e..24a3425 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -168,12 +168,12 @@ } }, { - "type": "block_comment", + "type": "boolean_literal", "named": true, "fields": {} }, { - "type": "boolean_literal", + "type": "comment", "named": true, "fields": {} }, @@ -197,11 +197,6 @@ ] } }, - { - "type": "line_comment", - "named": true, - "fields": {} - }, { "type": "list_expression", "named": true, diff --git a/src/parser.c b/src/parser.c index 20ee16e..0586e8d 100644 --- a/src/parser.c +++ b/src/parser.c @@ -8,7 +8,7 @@ #define LANGUAGE_VERSION 14 #define STATE_COUNT 114 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 64 +#define SYMBOL_COUNT 63 #define ALIAS_COUNT 0 #define TOKEN_COUNT 34 #define EXTERNAL_TOKEN_COUNT 0 @@ -18,9 +18,9 @@ enum ts_symbol_identifiers { anon_sym_SLASH_SLASH = 1, - aux_sym_line_comment_token1 = 2, + aux_sym_comment_token1 = 2, anon_sym_SLASH_STAR = 3, - aux_sym_block_comment_token1 = 4, + aux_sym_comment_token2 = 4, anon_sym_SLASH = 5, anon_sym_EQ = 6, anon_sym_PLUS_EQ = 7, @@ -52,42 +52,41 @@ enum ts_symbol_identifiers { anon_sym_PLUS = 33, sym_source_file = 34, sym__definition = 35, - sym_line_comment = 36, - sym_block_comment = 37, - sym_assignment = 38, - sym_module = 39, - sym__old_module = 40, - sym__new_module = 41, - sym__expr = 42, - sym_boolean_literal = 43, - sym_integer_literal = 44, - sym__string_literal = 45, - sym_interpreted_string_literal = 46, - sym_select_expression = 47, - sym_select_value = 48, - sym_soong_config_variable = 49, - sym__select_cases = 50, - sym_select_case = 51, - sym__case_value = 52, - sym_list_expression = 53, - sym_map_expression = 54, - sym_binary_expression = 55, - sym__colon_property = 56, - sym__equal_property = 57, - aux_sym_source_file_repeat1 = 58, - aux_sym__old_module_repeat1 = 59, - aux_sym__new_module_repeat1 = 60, - aux_sym_interpreted_string_literal_repeat1 = 61, - aux_sym__select_cases_repeat1 = 62, - aux_sym_list_expression_repeat1 = 63, + sym_comment = 36, + sym_assignment = 37, + sym_module = 38, + sym__old_module = 39, + sym__new_module = 40, + sym__expr = 41, + sym_boolean_literal = 42, + sym_integer_literal = 43, + sym__string_literal = 44, + sym_interpreted_string_literal = 45, + sym_select_expression = 46, + sym_select_value = 47, + sym_soong_config_variable = 48, + sym__select_cases = 49, + sym_select_case = 50, + sym__case_value = 51, + sym_list_expression = 52, + sym_map_expression = 53, + sym_binary_expression = 54, + sym__colon_property = 55, + sym__equal_property = 56, + aux_sym_source_file_repeat1 = 57, + aux_sym__old_module_repeat1 = 58, + aux_sym__new_module_repeat1 = 59, + aux_sym_interpreted_string_literal_repeat1 = 60, + aux_sym__select_cases_repeat1 = 61, + aux_sym_list_expression_repeat1 = 62, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [anon_sym_SLASH_SLASH] = "//", - [aux_sym_line_comment_token1] = "line_comment_token1", + [aux_sym_comment_token1] = "comment_token1", [anon_sym_SLASH_STAR] = "/*", - [aux_sym_block_comment_token1] = "block_comment_token1", + [aux_sym_comment_token2] = "comment_token2", [anon_sym_SLASH] = "/", [anon_sym_EQ] = "=", [anon_sym_PLUS_EQ] = "operator", @@ -119,8 +118,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_PLUS] = "operator", [sym_source_file] = "source_file", [sym__definition] = "_definition", - [sym_line_comment] = "line_comment", - [sym_block_comment] = "block_comment", + [sym_comment] = "comment", [sym_assignment] = "assignment", [sym_module] = "module", [sym__old_module] = "_old_module", @@ -152,9 +150,9 @@ static const char * const ts_symbol_names[] = { static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, - [aux_sym_line_comment_token1] = aux_sym_line_comment_token1, + [aux_sym_comment_token1] = aux_sym_comment_token1, [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR, - [aux_sym_block_comment_token1] = aux_sym_block_comment_token1, + [aux_sym_comment_token2] = aux_sym_comment_token2, [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, @@ -186,8 +184,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_PLUS] = anon_sym_PLUS_EQ, [sym_source_file] = sym_source_file, [sym__definition] = sym__definition, - [sym_line_comment] = sym_line_comment, - [sym_block_comment] = sym_block_comment, + [sym_comment] = sym_comment, [sym_assignment] = sym_assignment, [sym_module] = sym_module, [sym__old_module] = sym__old_module, @@ -225,7 +222,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [aux_sym_line_comment_token1] = { + [aux_sym_comment_token1] = { .visible = false, .named = false, }, @@ -233,7 +230,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [aux_sym_block_comment_token1] = { + [aux_sym_comment_token2] = { .visible = false, .named = false, }, @@ -361,11 +358,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = true, }, - [sym_line_comment] = { - .visible = true, - .named = true, - }, - [sym_block_comment] = { + [sym_comment] = { .visible = true, .named = true, }, @@ -4569,130 +4562,130 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(86); - if (lookahead == '"') ADVANCE(195); - if (lookahead == '(') ADVANCE(105); - if (lookahead == ')') ADVANCE(106); - if (lookahead == '+') ADVANCE(215); - if (lookahead == ',') ADVANCE(103); - if (lookahead == '-') ADVANCE(188); - if (lookahead == '/') ADVANCE(99); - if (lookahead == ':') ADVANCE(210); - if (lookahead == '=') ADVANCE(100); - if (lookahead == '[') ADVANCE(212); + if (eof) ADVANCE(87); + if (lookahead == '"') ADVANCE(198); + if (lookahead == '(') ADVANCE(108); + if (lookahead == ')') ADVANCE(109); + if (lookahead == '+') ADVANCE(218); + if (lookahead == ',') ADVANCE(106); + if (lookahead == '-') ADVANCE(191); + if (lookahead == '/') ADVANCE(102); + if (lookahead == ':') ADVANCE(213); + if (lookahead == '=') ADVANCE(103); + if (lookahead == '[') ADVANCE(215); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(213); - if (lookahead == '`') ADVANCE(83); - if (lookahead == 'd') ADVANCE(129); - if (lookahead == 'f') ADVANCE(111); - if (lookahead == 'p') ADVANCE(165); - if (lookahead == 'r') ADVANCE(137); - if (lookahead == 's') ADVANCE(139); - if (lookahead == 't') ADVANCE(166); - if (lookahead == 'u') ADVANCE(158); - if (lookahead == 'v') ADVANCE(114); - if (lookahead == '{') ADVANCE(102); - if (lookahead == '}') ADVANCE(104); + if (lookahead == ']') ADVANCE(216); + if (lookahead == '`') ADVANCE(84); + if (lookahead == 'd') ADVANCE(132); + if (lookahead == 'f') ADVANCE(114); + if (lookahead == 'p') ADVANCE(168); + if (lookahead == 'r') ADVANCE(140); + if (lookahead == 's') ADVANCE(142); + if (lookahead == 't') ADVANCE(169); + if (lookahead == 'u') ADVANCE(161); + if (lookahead == 'v') ADVANCE(117); + if (lookahead == '{') ADVANCE(105); + if (lookahead == '}') ADVANCE(107); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(84) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(185); + lookahead == ' ') SKIP(85) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); END_STATE(); case 1: if (lookahead == '\n') SKIP(2) - if (lookahead == '"') ADVANCE(195); - if (lookahead == '/') ADVANCE(192); + if (lookahead == '"') ADVANCE(198); + if (lookahead == '/') ADVANCE(195); if (lookahead == '\\') ADVANCE(11); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(193); - if (lookahead != 0) ADVANCE(194); + lookahead == ' ') ADVANCE(196); + if (lookahead != 0) ADVANCE(197); END_STATE(); case 2: if (lookahead == '\n') SKIP(2) - if (lookahead == '/') ADVANCE(192); + if (lookahead == '/') ADVANCE(195); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(193); + lookahead == ' ') ADVANCE(196); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(194); + lookahead != '\\') ADVANCE(197); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(191); - if (lookahead == '(') ADVANCE(105); + if (lookahead == '"') ADVANCE(194); + if (lookahead == '(') ADVANCE(108); if (lookahead == '+') ADVANCE(10); - if (lookahead == '-') ADVANCE(188); + if (lookahead == '-') ADVANCE(191); if (lookahead == '/') ADVANCE(6); - if (lookahead == '=') ADVANCE(100); - if (lookahead == '[') ADVANCE(212); - if (lookahead == '`') ADVANCE(83); - if (lookahead == 'f') ADVANCE(111); - if (lookahead == 's') ADVANCE(140); - if (lookahead == 't') ADVANCE(166); - if (lookahead == 'u') ADVANCE(158); - if (lookahead == '{') ADVANCE(102); + if (lookahead == '=') ADVANCE(103); + if (lookahead == '[') ADVANCE(215); + if (lookahead == '`') ADVANCE(84); + if (lookahead == 'f') ADVANCE(114); + if (lookahead == 's') ADVANCE(143); + if (lookahead == 't') ADVANCE(169); + if (lookahead == 'u') ADVANCE(161); + if (lookahead == '{') ADVANCE(105); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(191); - if (lookahead == '-') ADVANCE(188); + if (lookahead == '"') ADVANCE(194); + if (lookahead == '-') ADVANCE(191); if (lookahead == '/') ADVANCE(6); - if (lookahead == '[') ADVANCE(212); - if (lookahead == ']') ADVANCE(213); - if (lookahead == '`') ADVANCE(83); - if (lookahead == 'f') ADVANCE(111); - if (lookahead == 's') ADVANCE(140); - if (lookahead == 't') ADVANCE(166); - if (lookahead == '{') ADVANCE(102); + if (lookahead == '[') ADVANCE(215); + if (lookahead == ']') ADVANCE(216); + if (lookahead == '`') ADVANCE(84); + if (lookahead == 'f') ADVANCE(114); + if (lookahead == 's') ADVANCE(143); + if (lookahead == 't') ADVANCE(169); + if (lookahead == '{') ADVANCE(105); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(191); + if (lookahead == '"') ADVANCE(194); if (lookahead == '/') ADVANCE(6); - if (lookahead == '`') ADVANCE(83); + if (lookahead == '`') ADVANCE(84); if (lookahead == 'd') ADVANCE(33); if (lookahead == 'p') ADVANCE(62); if (lookahead == 'r') ADVANCE(34); if (lookahead == 's') ADVANCE(59); if (lookahead == 'v') ADVANCE(20); - if (lookahead == '}') ADVANCE(104); + if (lookahead == '}') ADVANCE(107); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5) END_STATE(); case 6: - if (lookahead == '*') ADVANCE(94); - if (lookahead == '/') ADVANCE(87); + if (lookahead == '*') ADVANCE(97); + if (lookahead == '/') ADVANCE(88); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(98); + if (lookahead == '*') ADVANCE(101); if (lookahead == '/') ADVANCE(9); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(7); if (lookahead != 0) ADVANCE(8); END_STATE(); case 8: - if (lookahead == '*') ADVANCE(98); + if (lookahead == '*') ADVANCE(101); if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: - if (lookahead == '*') ADVANCE(95); - if (lookahead == '/') ADVANCE(88); + if (lookahead == '*') ADVANCE(98); + if (lookahead == '/') ADVANCE(89); if (lookahead != 0) ADVANCE(8); END_STATE(); case 10: - if (lookahead == '=') ADVANCE(101); + if (lookahead == '=') ADVANCE(104); END_STATE(); case 11: if (lookahead == 'U') ADVANCE(82); if (lookahead == 'u') ADVANCE(78); if (lookahead == 'x') ADVANCE(76); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(198); - if (lookahead != 0) ADVANCE(196); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(201); + if (lookahead != 0) ADVANCE(199); END_STATE(); case 12: if (lookahead == '_') ADVANCE(72); @@ -4707,7 +4700,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '_') ADVANCE(74); END_STATE(); case 16: - if (lookahead == '`') ADVANCE(190); + if (lookahead == '`') ADVANCE(193); if (lookahead != 0) ADVANCE(16); END_STATE(); case 17: @@ -4765,13 +4758,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(50); END_STATE(); case 35: - if (lookahead == 'e') ADVANCE(200); + if (lookahead == 'e') ADVANCE(203); END_STATE(); case 36: - if (lookahead == 'e') ADVANCE(202); + if (lookahead == 'e') ADVANCE(205); END_STATE(); case 37: - if (lookahead == 'e') ADVANCE(206); + if (lookahead == 'e') ADVANCE(209); END_STATE(); case 38: if (lookahead == 'e') ADVANCE(18); @@ -4861,10 +4854,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 's') ADVANCE(39); END_STATE(); case 67: - if (lookahead == 't') ADVANCE(208); + if (lookahead == 't') ADVANCE(211); END_STATE(); case 68: - if (lookahead == 't') ADVANCE(204); + if (lookahead == 't') ADVANCE(207); END_STATE(); case 69: if (lookahead == 't') ADVANCE(12); @@ -4887,7 +4880,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 75: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(196); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(199); END_STATE(); case 76: if (('0' <= lookahead && lookahead <= '9') || @@ -4926,664 +4919,690 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 83: if (lookahead != 0 && - lookahead != '`') ADVANCE(16); + lookahead != '\r' && + lookahead != '\\') ADVANCE(94); + if (lookahead == '\r') ADVANCE(96); + if (lookahead == '\\') ADVANCE(95); END_STATE(); case 84: - if (eof) ADVANCE(86); - if (lookahead == '"') ADVANCE(191); - if (lookahead == '(') ADVANCE(105); - if (lookahead == ')') ADVANCE(106); - if (lookahead == '+') ADVANCE(215); - if (lookahead == ',') ADVANCE(103); - if (lookahead == '-') ADVANCE(188); - if (lookahead == '/') ADVANCE(99); - if (lookahead == ':') ADVANCE(210); - if (lookahead == '=') ADVANCE(100); - if (lookahead == '[') ADVANCE(212); - if (lookahead == ']') ADVANCE(213); - if (lookahead == '`') ADVANCE(83); - if (lookahead == 'd') ADVANCE(129); - if (lookahead == 'f') ADVANCE(111); - if (lookahead == 'p') ADVANCE(165); - if (lookahead == 'r') ADVANCE(137); - if (lookahead == 's') ADVANCE(139); - if (lookahead == 't') ADVANCE(166); - if (lookahead == 'u') ADVANCE(158); - if (lookahead == 'v') ADVANCE(114); - if (lookahead == '{') ADVANCE(102); - if (lookahead == '}') ADVANCE(104); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(84) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(185); + if (lookahead != 0 && + lookahead != '`') ADVANCE(16); END_STATE(); case 85: - if (eof) ADVANCE(86); - if (lookahead == '"') ADVANCE(191); - if (lookahead == ')') ADVANCE(106); - if (lookahead == '+') ADVANCE(214); - if (lookahead == ',') ADVANCE(103); - if (lookahead == '/') ADVANCE(6); - if (lookahead == ':') ADVANCE(210); - if (lookahead == ']') ADVANCE(213); - if (lookahead == '`') ADVANCE(83); - if (lookahead == '}') ADVANCE(104); + if (eof) ADVANCE(87); + if (lookahead == '"') ADVANCE(194); + if (lookahead == '(') ADVANCE(108); + if (lookahead == ')') ADVANCE(109); + if (lookahead == '+') ADVANCE(218); + if (lookahead == ',') ADVANCE(106); + if (lookahead == '-') ADVANCE(191); + if (lookahead == '/') ADVANCE(102); + if (lookahead == ':') ADVANCE(213); + if (lookahead == '=') ADVANCE(103); + if (lookahead == '[') ADVANCE(215); + if (lookahead == ']') ADVANCE(216); + if (lookahead == '`') ADVANCE(84); + if (lookahead == 'd') ADVANCE(132); + if (lookahead == 'f') ADVANCE(114); + if (lookahead == 'p') ADVANCE(168); + if (lookahead == 'r') ADVANCE(140); + if (lookahead == 's') ADVANCE(142); + if (lookahead == 't') ADVANCE(169); + if (lookahead == 'u') ADVANCE(161); + if (lookahead == 'v') ADVANCE(117); + if (lookahead == '{') ADVANCE(105); + if (lookahead == '}') ADVANCE(107); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(85) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); END_STATE(); case 86: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(87); + if (lookahead == '"') ADVANCE(194); + if (lookahead == ')') ADVANCE(109); + if (lookahead == '+') ADVANCE(217); + if (lookahead == ',') ADVANCE(106); + if (lookahead == '/') ADVANCE(6); + if (lookahead == ':') ADVANCE(213); + if (lookahead == ']') ADVANCE(216); + if (lookahead == '`') ADVANCE(84); + if (lookahead == '}') ADVANCE(107); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(86) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(188); END_STATE(); case 87: - ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 88: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead == '*') ADVANCE(98); - if (lookahead != 0) ADVANCE(8); END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(194); + if (lookahead == '*') ADVANCE(101); + if (lookahead != 0) ADVANCE(8); END_STATE(); case 90: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + if (lookahead == '\\') ADVANCE(83); if (lookahead != 0 && - lookahead != '\n') ADVANCE(93); + lookahead != '\n') ADVANCE(94); END_STATE(); case 91: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '*') ADVANCE(97); - if (lookahead == '/') ADVANCE(90); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(93); - END_STATE(); - case 92: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead == '/') ADVANCE(91); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(92); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(93); - END_STATE(); - case 93: - ACCEPT_TOKEN(aux_sym_line_comment_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(93); - END_STATE(); - case 94: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); - END_STATE(); - case 95: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead == '*') ADVANCE(98); - if (lookahead != 0 && - lookahead != '/') ADVANCE(8); - END_STATE(); - case 96: - ACCEPT_TOKEN(anon_sym_SLASH_STAR); + ACCEPT_TOKEN(anon_sym_SLASH_SLASH); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(194); + lookahead != '\\') ADVANCE(197); + END_STATE(); + case 92: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '*') ADVANCE(99); + if (lookahead == '/') ADVANCE(90); + if (lookahead == '\\') ADVANCE(83); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(94); + END_STATE(); + case 93: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '/') ADVANCE(92); + if (lookahead == '\\') ADVANCE(83); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(93); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(94); + END_STATE(); + case 94: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead == '\\') ADVANCE(83); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(94); + END_STATE(); + case 95: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(94); + if (lookahead == '\r') ADVANCE(96); + if (lookahead == '\\') ADVANCE(95); + END_STATE(); + case 96: + ACCEPT_TOKEN(aux_sym_comment_token1); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(94); + if (lookahead == '\\') ADVANCE(83); END_STATE(); case 97: ACCEPT_TOKEN(anon_sym_SLASH_STAR); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(93); END_STATE(); case 98: - ACCEPT_TOKEN(aux_sym_block_comment_token1); - if (lookahead == '*') ADVANCE(98); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead == '*') ADVANCE(101); if (lookahead != 0 && lookahead != '/') ADVANCE(8); END_STATE(); case 99: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '/') ADVANCE(87); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead == '\\') ADVANCE(83); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(94); END_STATE(); case 100: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(197); END_STATE(); case 101: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); + ACCEPT_TOKEN(aux_sym_comment_token2); + if (lookahead == '*') ADVANCE(101); + if (lookahead != 0 && + lookahead != '/') ADVANCE(8); END_STATE(); case 102: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(97); + if (lookahead == '/') ADVANCE(88); END_STATE(); case 103: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 106: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 107: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(182); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 108: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(126); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 109: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(183); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 110: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '_') ADVANCE(184); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(185); + if (lookahead == '_') ADVANCE(185); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); END_STATE(); case 111: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(157); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == '_') ADVANCE(129); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); END_STATE(); case 112: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(122); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == '_') ADVANCE(186); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); END_STATE(); case 113: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(179); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == '_') ADVANCE(187); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(188); END_STATE(); case 114: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(167); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(160); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 115: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(161); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(125); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 116: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(168); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(182); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 117: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(173); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(170); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 118: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(123); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(164); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 119: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(169); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(171); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 120: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(124); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(176); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 121: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(170); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(126); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 122: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(154); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(172); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 123: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(155); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(127); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 124: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(156); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'a') ADVANCE(173); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(188); END_STATE(); case 125: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(175); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'b') ADVANCE(157); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 126: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(164); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'b') ADVANCE(158); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 127: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'c') ADVANCE(178); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'b') ADVANCE(159); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 128: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(181); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'c') ADVANCE(178); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 129: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(143); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'c') ADVANCE(167); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 130: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(125); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'c') ADVANCE(181); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 131: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(186); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'd') ADVANCE(184); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 132: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(174); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(146); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 133: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(187); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(128); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 134: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(201); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(189); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 135: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(203); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(177); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 136: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(207); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(190); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 137: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(151); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(204); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 138: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(117); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(206); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 139: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(153); - if (lookahead == 'o') ADVANCE(163); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(210); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 140: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(153); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(154); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 141: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(109); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(120); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 142: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(148); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(156); + if (lookahead == 'o') ADVANCE(166); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 143: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'f') ADVANCE(113); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(156); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 144: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(108); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'e') ADVANCE(112); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 145: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(110); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'f') ADVANCE(151); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 146: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(115); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'f') ADVANCE(116); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 147: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(112); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'g') ADVANCE(111); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 148: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(145); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'g') ADVANCE(113); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 149: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'i') ADVANCE(118); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 150: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(120); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'i') ADVANCE(115); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 151: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(138); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'i') ADVANCE(148); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 152: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(176); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'i') ADVANCE(121); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 153: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(130); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'i') ADVANCE(123); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 154: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(134); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(141); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 155: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(135); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(179); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 156: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(136); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(133); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 157: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(172); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(137); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 158: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(171); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(138); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 159: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(144); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(139); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 160: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(142); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'l') ADVANCE(175); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 161: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(177); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'n') ADVANCE(174); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 162: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(128); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'n') ADVANCE(147); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 163: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(159); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'n') ADVANCE(145); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 164: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(160); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'n') ADVANCE(180); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 165: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(162); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'o') ADVANCE(131); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 166: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(180); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'o') ADVANCE(162); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 167: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(146); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'o') ADVANCE(163); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 168: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(147); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(165); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 169: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(149); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(183); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 170: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(150); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(149); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 171: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(132); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(150); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 172: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(133); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(152); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 173: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(141); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'r') ADVANCE(153); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 174: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(211); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 's') ADVANCE(135); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 175: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(199); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 's') ADVANCE(136); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 176: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(209); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 's') ADVANCE(144); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 177: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(205); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 't') ADVANCE(214); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 178: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(107); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 't') ADVANCE(202); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 179: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(152); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 't') ADVANCE(212); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 180: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(131); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 't') ADVANCE(208); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 181: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(127); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 't') ADVANCE(110); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 182: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(116); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'u') ADVANCE(155); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 183: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(119); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'u') ADVANCE(134); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 184: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'v') ADVANCE(121); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'u') ADVANCE(130); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 185: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + if (lookahead == 'v') ADVANCE(119); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 186: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(122); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 187: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'v') ADVANCE(124); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 188: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 189: - ACCEPT_TOKEN(aux_sym_integer_literal_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(189); + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 190: - ACCEPT_TOKEN(sym_raw_string_literal); + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 191: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 192: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '*') ADVANCE(96); - if (lookahead == '/') ADVANCE(89); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(194); + ACCEPT_TOKEN(aux_sym_integer_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(192); END_STATE(); case 193: - ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); - if (lookahead == '/') ADVANCE(192); - if (lookahead == '\t' || - (11 <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(193); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(194); + ACCEPT_TOKEN(sym_raw_string_literal); END_STATE(); case 194: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 195: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '*') ADVANCE(100); + if (lookahead == '/') ADVANCE(91); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(197); + END_STATE(); + case 196: + ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); + if (lookahead == '/') ADVANCE(195); + if (lookahead == '\t' || + (11 <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(196); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(197); + END_STATE(); + case 197: ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(194); - END_STATE(); - case 195: - ACCEPT_TOKEN(anon_sym_DQUOTE2); - END_STATE(); - case 196: - ACCEPT_TOKEN(sym_escape_sequence); - END_STATE(); - case 197: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(196); + lookahead != '\\') ADVANCE(197); END_STATE(); case 198: - ACCEPT_TOKEN(sym_escape_sequence); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(197); + ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); case 199: - ACCEPT_TOKEN(anon_sym_select); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); case 200: - ACCEPT_TOKEN(anon_sym_product_variable); + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(199); END_STATE(); case 201: - ACCEPT_TOKEN(anon_sym_product_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(200); END_STATE(); case 202: - ACCEPT_TOKEN(anon_sym_release_variable); + ACCEPT_TOKEN(anon_sym_select); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 203: - ACCEPT_TOKEN(anon_sym_release_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_product_variable); END_STATE(); case 204: - ACCEPT_TOKEN(anon_sym_variant); + ACCEPT_TOKEN(anon_sym_product_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 205: - ACCEPT_TOKEN(anon_sym_variant); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_release_variable); END_STATE(); case 206: - ACCEPT_TOKEN(anon_sym_soong_config_variable); + ACCEPT_TOKEN(anon_sym_release_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 207: - ACCEPT_TOKEN(anon_sym_soong_config_variable); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_variant); END_STATE(); case 208: - ACCEPT_TOKEN(anon_sym_default); + ACCEPT_TOKEN(anon_sym_variant); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 209: - ACCEPT_TOKEN(anon_sym_default); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_soong_config_variable); END_STATE(); case 210: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_soong_config_variable); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 211: - ACCEPT_TOKEN(anon_sym_unset); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_default); END_STATE(); case 212: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_default); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 213: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 214: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_unset); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(188); END_STATE(); case 215: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 217: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(101); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(104); END_STATE(); default: return false; @@ -5592,7 +5611,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 85}, + [1] = {.lex_state = 86}, [2] = {.lex_state = 3}, [3] = {.lex_state = 4}, [4] = {.lex_state = 4}, @@ -5602,85 +5621,85 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [8] = {.lex_state = 4}, [9] = {.lex_state = 4}, [10] = {.lex_state = 4}, - [11] = {.lex_state = 85}, + [11] = {.lex_state = 86}, [12] = {.lex_state = 5}, [13] = {.lex_state = 5}, [14] = {.lex_state = 5}, - [15] = {.lex_state = 85}, - [16] = {.lex_state = 85}, - [17] = {.lex_state = 85}, - [18] = {.lex_state = 85}, - [19] = {.lex_state = 85}, - [20] = {.lex_state = 85}, - [21] = {.lex_state = 85}, - [22] = {.lex_state = 85}, - [23] = {.lex_state = 85}, - [24] = {.lex_state = 85}, - [25] = {.lex_state = 85}, - [26] = {.lex_state = 85}, - [27] = {.lex_state = 85}, - [28] = {.lex_state = 85}, - [29] = {.lex_state = 85}, - [30] = {.lex_state = 85}, - [31] = {.lex_state = 85}, - [32] = {.lex_state = 85}, - [33] = {.lex_state = 85}, - [34] = {.lex_state = 85}, + [15] = {.lex_state = 86}, + [16] = {.lex_state = 86}, + [17] = {.lex_state = 86}, + [18] = {.lex_state = 86}, + [19] = {.lex_state = 86}, + [20] = {.lex_state = 86}, + [21] = {.lex_state = 86}, + [22] = {.lex_state = 86}, + [23] = {.lex_state = 86}, + [24] = {.lex_state = 86}, + [25] = {.lex_state = 86}, + [26] = {.lex_state = 86}, + [27] = {.lex_state = 86}, + [28] = {.lex_state = 86}, + [29] = {.lex_state = 86}, + [30] = {.lex_state = 86}, + [31] = {.lex_state = 86}, + [32] = {.lex_state = 86}, + [33] = {.lex_state = 86}, + [34] = {.lex_state = 86}, [35] = {.lex_state = 5}, [36] = {.lex_state = 1}, [37] = {.lex_state = 3}, - [38] = {.lex_state = 85}, - [39] = {.lex_state = 85}, + [38] = {.lex_state = 86}, + [39] = {.lex_state = 86}, [40] = {.lex_state = 1}, - [41] = {.lex_state = 85}, + [41] = {.lex_state = 86}, [42] = {.lex_state = 5}, [43] = {.lex_state = 1}, - [44] = {.lex_state = 85}, - [45] = {.lex_state = 85}, - [46] = {.lex_state = 85}, + [44] = {.lex_state = 86}, + [45] = {.lex_state = 86}, + [46] = {.lex_state = 86}, [47] = {.lex_state = 0}, [48] = {.lex_state = 1}, - [49] = {.lex_state = 85}, + [49] = {.lex_state = 86}, [50] = {.lex_state = 0}, [51] = {.lex_state = 0}, - [52] = {.lex_state = 85}, - [53] = {.lex_state = 85}, + [52] = {.lex_state = 86}, + [53] = {.lex_state = 86}, [54] = {.lex_state = 0}, - [55] = {.lex_state = 85}, + [55] = {.lex_state = 86}, [56] = {.lex_state = 0}, - [57] = {.lex_state = 85}, - [58] = {.lex_state = 85}, - [59] = {.lex_state = 85}, + [57] = {.lex_state = 86}, + [58] = {.lex_state = 86}, + [59] = {.lex_state = 86}, [60] = {.lex_state = 0}, - [61] = {.lex_state = 85}, + [61] = {.lex_state = 86}, [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 85}, - [66] = {.lex_state = 85}, - [67] = {.lex_state = 85}, + [65] = {.lex_state = 86}, + [66] = {.lex_state = 86}, + [67] = {.lex_state = 86}, [68] = {.lex_state = 0}, - [69] = {.lex_state = 85}, + [69] = {.lex_state = 86}, [70] = {.lex_state = 0}, - [71] = {.lex_state = 85}, + [71] = {.lex_state = 86}, [72] = {.lex_state = 0}, - [73] = {.lex_state = 85}, - [74] = {.lex_state = 85}, - [75] = {.lex_state = 85}, - [76] = {.lex_state = 85}, - [77] = {.lex_state = 85}, - [78] = {.lex_state = 85}, - [79] = {.lex_state = 85}, + [73] = {.lex_state = 86}, + [74] = {.lex_state = 86}, + [75] = {.lex_state = 86}, + [76] = {.lex_state = 86}, + [77] = {.lex_state = 86}, + [78] = {.lex_state = 86}, + [79] = {.lex_state = 86}, [80] = {.lex_state = 0}, - [81] = {.lex_state = 85}, - [82] = {.lex_state = 85}, - [83] = {.lex_state = 85}, - [84] = {.lex_state = 85}, - [85] = {.lex_state = 85}, - [86] = {.lex_state = 85}, - [87] = {.lex_state = 85}, - [88] = {.lex_state = 85}, - [89] = {.lex_state = 92}, + [81] = {.lex_state = 86}, + [82] = {.lex_state = 86}, + [83] = {.lex_state = 86}, + [84] = {.lex_state = 86}, + [85] = {.lex_state = 86}, + [86] = {.lex_state = 86}, + [87] = {.lex_state = 86}, + [88] = {.lex_state = 86}, + [89] = {.lex_state = 93}, [90] = {.lex_state = 0}, [91] = {.lex_state = 0}, [92] = {.lex_state = 0}, @@ -5709,8 +5728,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { - [sym_line_comment] = STATE(0), - [sym_block_comment] = STATE(0), + [sym_comment] = STATE(0), [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_SLASH_SLASH] = ACTIONS(3), [anon_sym_SLASH_STAR] = ACTIONS(5), @@ -5746,8 +5764,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [1] = { [sym_source_file] = STATE(104), [sym__definition] = STATE(82), - [sym_line_comment] = STATE(1), - [sym_block_comment] = STATE(1), + [sym_comment] = STATE(1), [sym_assignment] = STATE(78), [sym_module] = STATE(78), [sym__old_module] = STATE(76), @@ -5784,6 +5801,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_unset, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(2), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(79), 1, @@ -5793,9 +5812,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(2), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -5804,7 +5820,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [60] = 16, + [59] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5827,6 +5843,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(31), 1, anon_sym_RBRACK, + STATE(3), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(58), 1, @@ -5834,9 +5852,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(3), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -5845,7 +5860,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [117] = 16, + [115] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5868,6 +5883,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(33), 1, anon_sym_RBRACK, + STATE(4), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(44), 1, @@ -5875,9 +5892,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(4), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -5886,7 +5900,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [174] = 16, + [171] = 16, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5909,6 +5923,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(35), 1, anon_sym_RBRACK, + STATE(5), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(58), 1, @@ -5916,9 +5932,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(5), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -5927,7 +5940,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [231] = 15, + [227] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5948,6 +5961,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(6), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(45), 1, @@ -5955,9 +5970,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(6), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -5966,7 +5978,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [285] = 15, + [280] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -5987,6 +5999,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(7), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(58), 1, @@ -5994,9 +6008,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(7), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -6005,7 +6016,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [339] = 15, + [333] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6026,6 +6037,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(8), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(25), 1, @@ -6033,9 +6046,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(8), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -6044,7 +6054,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [393] = 15, + [386] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6065,6 +6075,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(9), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(57), 1, @@ -6072,9 +6084,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(9), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -6083,7 +6092,7 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [447] = 15, + [439] = 15, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6104,6 +6113,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_select, ACTIONS(29), 1, anon_sym_LBRACK, + STATE(10), 1, + sym_comment, STATE(11), 1, sym_interpreted_string_literal, STATE(66), 1, @@ -6111,9 +6122,6 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 2, anon_sym_true, anon_sym_false, - STATE(10), 2, - sym_line_comment, - sym_block_comment, STATE(24), 7, sym_boolean_literal, sym_integer_literal, @@ -6122,14 +6130,13 @@ static const uint16_t ts_small_parse_table[] = { sym_list_expression, sym_map_expression, sym_binary_expression, - [501] = 4, + [492] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(11), 2, - sym_line_comment, - sym_block_comment, + STATE(11), 1, + sym_comment, ACTIONS(37), 8, ts_builtin_sym_end, anon_sym_COMMA, @@ -6139,7 +6146,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [522] = 10, + [512] = 10, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6158,11 +6165,10 @@ static const uint16_t ts_small_parse_table[] = { sym_select_case, STATE(101), 1, sym__string_literal, - STATE(12), 3, - sym_line_comment, - sym_block_comment, + STATE(12), 2, + sym_comment, aux_sym__select_cases_repeat1, - [555] = 11, + [544] = 11, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6179,14 +6185,13 @@ static const uint16_t ts_small_parse_table[] = { sym_interpreted_string_literal, STATE(12), 1, aux_sym__select_cases_repeat1, + STATE(13), 1, + sym_comment, STATE(90), 1, sym_select_case, STATE(101), 1, sym__string_literal, - STATE(13), 2, - sym_line_comment, - sym_block_comment, - [590] = 11, + [578] = 11, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6203,21 +6208,19 @@ static const uint16_t ts_small_parse_table[] = { sym_interpreted_string_literal, STATE(13), 1, aux_sym__select_cases_repeat1, + STATE(14), 1, + sym_comment, STATE(90), 1, sym_select_case, STATE(101), 1, sym__string_literal, - STATE(14), 2, - sym_line_comment, - sym_block_comment, - [625] = 4, + [612] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(15), 2, - sym_line_comment, - sym_block_comment, + STATE(15), 1, + sym_comment, ACTIONS(56), 8, ts_builtin_sym_end, anon_sym_COMMA, @@ -6227,7 +6230,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [646] = 10, + [632] = 10, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6236,6 +6239,8 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(58), 1, ts_builtin_sym_end, + STATE(16), 1, + sym_comment, STATE(18), 1, aux_sym_source_file_repeat1, STATE(75), 1, @@ -6244,20 +6249,16 @@ static const uint16_t ts_small_parse_table[] = { sym__old_module, STATE(82), 1, sym__definition, - STATE(16), 2, - sym_line_comment, - sym_block_comment, STATE(78), 2, sym_assignment, sym_module, - [679] = 4, + [664] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(17), 2, - sym_line_comment, - sym_block_comment, + STATE(17), 1, + sym_comment, ACTIONS(60), 8, ts_builtin_sym_end, anon_sym_COMMA, @@ -6267,7 +6268,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_PLUS, - [700] = 9, + [684] = 9, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6282,21 +6283,19 @@ static const uint16_t ts_small_parse_table[] = { sym__old_module, STATE(82), 1, sym__definition, + STATE(18), 2, + sym_comment, + aux_sym_source_file_repeat1, STATE(78), 2, sym_assignment, sym_module, - STATE(18), 3, - sym_line_comment, - sym_block_comment, - aux_sym_source_file_repeat1, - [731] = 4, + [714] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(19), 2, - sym_line_comment, - sym_block_comment, + STATE(19), 1, + sym_comment, ACTIONS(67), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6305,14 +6304,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [751] = 4, + [733] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(20), 2, - sym_line_comment, - sym_block_comment, + STATE(20), 1, + sym_comment, ACTIONS(69), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6321,30 +6319,28 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, + [752] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(21), 1, + sym_comment, + ACTIONS(71), 7, + ts_builtin_sym_end, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RPAREN, + sym_identifier, + anon_sym_RBRACK, + anon_sym_PLUS, [771] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(21), 2, - sym_line_comment, - sym_block_comment, - ACTIONS(71), 7, - ts_builtin_sym_end, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_RPAREN, - sym_identifier, - anon_sym_RBRACK, - anon_sym_PLUS, - [791] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - STATE(22), 2, - sym_line_comment, - sym_block_comment, + STATE(22), 1, + sym_comment, ACTIONS(73), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6353,14 +6349,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [811] = 4, + [790] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(23), 2, - sym_line_comment, - sym_block_comment, + STATE(23), 1, + sym_comment, ACTIONS(75), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6369,14 +6364,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [831] = 4, + [809] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(24), 2, - sym_line_comment, - sym_block_comment, + STATE(24), 1, + sym_comment, ACTIONS(77), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6385,14 +6379,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [851] = 4, + [828] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(25), 2, - sym_line_comment, - sym_block_comment, + STATE(25), 1, + sym_comment, ACTIONS(79), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6401,14 +6394,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [871] = 4, + [847] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(26), 2, - sym_line_comment, - sym_block_comment, + STATE(26), 1, + sym_comment, ACTIONS(81), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6417,14 +6409,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [891] = 4, + [866] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(27), 2, - sym_line_comment, - sym_block_comment, + STATE(27), 1, + sym_comment, ACTIONS(83), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6433,14 +6424,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [911] = 4, + [885] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(28), 2, - sym_line_comment, - sym_block_comment, + STATE(28), 1, + sym_comment, ACTIONS(85), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6449,14 +6439,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [931] = 4, + [904] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(29), 2, - sym_line_comment, - sym_block_comment, + STATE(29), 1, + sym_comment, ACTIONS(87), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6465,14 +6454,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [951] = 4, + [923] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(30), 2, - sym_line_comment, - sym_block_comment, + STATE(30), 1, + sym_comment, ACTIONS(89), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6481,14 +6469,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [971] = 4, + [942] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(31), 2, - sym_line_comment, - sym_block_comment, + STATE(31), 1, + sym_comment, ACTIONS(91), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6497,14 +6484,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [991] = 4, + [961] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(32), 2, - sym_line_comment, - sym_block_comment, + STATE(32), 1, + sym_comment, ACTIONS(93), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6513,14 +6499,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1011] = 4, + [980] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(33), 2, - sym_line_comment, - sym_block_comment, + STATE(33), 1, + sym_comment, ACTIONS(95), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6529,14 +6514,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1031] = 4, + [999] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(34), 2, - sym_line_comment, - sym_block_comment, + STATE(34), 1, + sym_comment, ACTIONS(97), 7, ts_builtin_sym_end, anon_sym_COMMA, @@ -6545,16 +6529,15 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, anon_sym_RBRACK, anon_sym_PLUS, - [1051] = 6, + [1018] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(101), 1, anon_sym_soong_config_variable, - STATE(35), 2, - sym_line_comment, - sym_block_comment, + STATE(35), 1, + sym_comment, STATE(103), 2, sym_select_value, sym_soong_config_variable, @@ -6562,7 +6545,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_product_variable, anon_sym_release_variable, anon_sym_variant, - [1074] = 6, + [1040] = 6, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, @@ -6573,11 +6556,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE2, ACTIONS(112), 1, sym_escape_sequence, - STATE(36), 3, - sym_line_comment, - sym_block_comment, + STATE(36), 2, + sym_comment, aux_sym_interpreted_string_literal_repeat1, - [1095] = 6, + [1060] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6586,13 +6568,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(119), 1, anon_sym_LPAREN, + STATE(37), 1, + sym_comment, ACTIONS(115), 2, anon_sym_EQ, anon_sym_PLUS_EQ, - STATE(37), 2, - sym_line_comment, - sym_block_comment, - [1116] = 7, + [1080] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6603,12 +6584,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(11), 1, sym_interpreted_string_literal, + STATE(38), 1, + sym_comment, STATE(93), 1, sym__string_literal, - STATE(38), 2, - sym_line_comment, - sym_block_comment, - [1139] = 7, + [1102] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6619,12 +6599,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(11), 1, sym_interpreted_string_literal, + STATE(39), 1, + sym_comment, STATE(92), 1, sym__string_literal, - STATE(39), 2, - sym_line_comment, - sym_block_comment, - [1162] = 7, + [1124] = 7, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, @@ -6635,12 +6614,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE2, ACTIONS(125), 1, sym_escape_sequence, + STATE(40), 1, + sym_comment, STATE(43), 1, aux_sym_interpreted_string_literal_repeat1, - STATE(40), 2, - sym_line_comment, - sym_block_comment, - [1185] = 7, + [1146] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6651,25 +6629,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(11), 1, sym_interpreted_string_literal, + STATE(41), 1, + sym_comment, STATE(105), 1, sym__string_literal, - STATE(41), 2, - sym_line_comment, - sym_block_comment, - [1208] = 4, + [1168] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - STATE(42), 2, - sym_line_comment, - sym_block_comment, + STATE(42), 1, + sym_comment, ACTIONS(39), 4, anon_sym_RBRACE, sym_raw_string_literal, anon_sym_DQUOTE, anon_sym_default, - [1225] = 7, + [1184] = 7, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, @@ -6682,10 +6658,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE2, STATE(36), 1, aux_sym_interpreted_string_literal_repeat1, - STATE(43), 2, - sym_line_comment, - sym_block_comment, - [1248] = 7, + STATE(43), 1, + sym_comment, + [1206] = 7, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6696,25 +6671,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, ACTIONS(133), 1, anon_sym_PLUS, + STATE(44), 1, + sym_comment, STATE(62), 1, aux_sym_list_expression_repeat1, - STATE(44), 2, - sym_line_comment, - sym_block_comment, - [1271] = 5, + [1228] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(133), 1, anon_sym_PLUS, + STATE(45), 1, + sym_comment, ACTIONS(135), 2, anon_sym_COMMA, anon_sym_RBRACE, - STATE(45), 2, - sym_line_comment, - sym_block_comment, - [1289] = 6, + [1245] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6723,12 +6696,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, ACTIONS(139), 1, sym_identifier, + STATE(46), 1, + sym_comment, STATE(47), 1, sym__colon_property, - STATE(46), 2, - sym_line_comment, - sym_block_comment, - [1309] = 6, + [1264] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6737,25 +6709,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(143), 1, anon_sym_RBRACE, + STATE(47), 1, + sym_comment, STATE(56), 1, aux_sym__old_module_repeat1, - STATE(47), 2, - sym_line_comment, - sym_block_comment, - [1329] = 5, + [1283] = 5, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, anon_sym_SLASH_STAR, ACTIONS(145), 1, aux_sym_interpreted_string_literal_token1, + STATE(48), 1, + sym_comment, ACTIONS(147), 2, anon_sym_DQUOTE2, sym_escape_sequence, - STATE(48), 2, - sym_line_comment, - sym_block_comment, - [1347] = 6, + [1300] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6764,12 +6734,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(149), 1, anon_sym_RBRACE, + STATE(49), 1, + sym_comment, STATE(70), 1, sym__colon_property, - STATE(49), 2, - sym_line_comment, - sym_block_comment, - [1367] = 5, + [1319] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6778,11 +6747,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(154), 1, anon_sym_RBRACK, - STATE(50), 3, - sym_line_comment, - sym_block_comment, + STATE(50), 2, + sym_comment, aux_sym_list_expression_repeat1, - [1385] = 6, + [1336] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6791,12 +6759,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(158), 1, anon_sym_RBRACE, + STATE(51), 1, + sym_comment, STATE(68), 1, aux_sym__old_module_repeat1, - STATE(51), 2, - sym_line_comment, - sym_block_comment, - [1405] = 6, + [1355] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6805,12 +6772,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, ACTIONS(162), 1, sym_identifier, + STATE(52), 1, + sym_comment, STATE(72), 1, sym__equal_property, - STATE(52), 2, - sym_line_comment, - sym_block_comment, - [1425] = 6, + [1374] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6819,12 +6785,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(164), 1, anon_sym_RBRACE, + STATE(53), 1, + sym_comment, STATE(60), 1, sym__colon_property, - STATE(53), 2, - sym_line_comment, - sym_block_comment, - [1445] = 6, + [1393] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6833,12 +6798,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(168), 1, anon_sym_RPAREN, + STATE(54), 1, + sym_comment, STATE(64), 1, aux_sym__new_module_repeat1, - STATE(54), 2, - sym_line_comment, - sym_block_comment, - [1465] = 6, + [1412] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6847,12 +6811,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(170), 1, anon_sym_RBRACE, + STATE(55), 1, + sym_comment, STATE(70), 1, sym__colon_property, - STATE(55), 2, - sym_line_comment, - sym_block_comment, - [1485] = 6, + [1431] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6861,38 +6824,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(174), 1, anon_sym_RBRACE, + STATE(56), 1, + sym_comment, STATE(68), 1, aux_sym__old_module_repeat1, - STATE(56), 2, - sym_line_comment, - sym_block_comment, - [1505] = 5, + [1450] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(133), 1, anon_sym_PLUS, + STATE(57), 1, + sym_comment, ACTIONS(176), 2, ts_builtin_sym_end, sym_identifier, - STATE(57), 2, - sym_line_comment, - sym_block_comment, - [1523] = 5, + [1467] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(133), 1, anon_sym_PLUS, + STATE(58), 1, + sym_comment, ACTIONS(178), 2, anon_sym_COMMA, anon_sym_RBRACK, - STATE(58), 2, - sym_line_comment, - sym_block_comment, - [1541] = 6, + [1484] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6901,12 +6861,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(180), 1, anon_sym_RPAREN, + STATE(59), 1, + sym_comment, STATE(63), 1, sym__equal_property, - STATE(59), 2, - sym_line_comment, - sym_block_comment, - [1561] = 6, + [1503] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6917,10 +6876,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(51), 1, aux_sym__old_module_repeat1, - STATE(60), 2, - sym_line_comment, - sym_block_comment, - [1581] = 6, + STATE(60), 1, + sym_comment, + [1522] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6929,12 +6887,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(186), 1, anon_sym_RBRACE, + STATE(61), 1, + sym_comment, STATE(70), 1, sym__colon_property, - STATE(61), 2, - sym_line_comment, - sym_block_comment, - [1601] = 6, + [1541] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6945,10 +6902,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(50), 1, aux_sym_list_expression_repeat1, - STATE(62), 2, - sym_line_comment, - sym_block_comment, - [1621] = 6, + STATE(62), 1, + sym_comment, + [1560] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6959,10 +6915,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(54), 1, aux_sym__new_module_repeat1, - STATE(63), 2, - sym_line_comment, - sym_block_comment, - [1641] = 5, + STATE(63), 1, + sym_comment, + [1579] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6971,11 +6926,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(199), 1, anon_sym_RPAREN, - STATE(64), 3, - sym_line_comment, - sym_block_comment, + STATE(64), 2, + sym_comment, aux_sym__new_module_repeat1, - [1659] = 6, + [1596] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -6984,25 +6938,23 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(201), 1, anon_sym_RPAREN, + STATE(65), 1, + sym_comment, STATE(72), 1, sym__equal_property, - STATE(65), 2, - sym_line_comment, - sym_block_comment, - [1679] = 5, + [1615] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(133), 1, anon_sym_PLUS, + STATE(66), 1, + sym_comment, ACTIONS(203), 2, anon_sym_COMMA, anon_sym_RPAREN, - STATE(66), 2, - sym_line_comment, - sym_block_comment, - [1697] = 6, + [1632] = 6, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -7011,12 +6963,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(205), 1, anon_sym_RBRACE, + STATE(67), 1, + sym_comment, STATE(70), 1, sym__colon_property, - STATE(67), 2, - sym_line_comment, - sym_block_comment, - [1717] = 5, + [1651] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -7025,121 +6976,110 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, ACTIONS(210), 1, anon_sym_RBRACE, - STATE(68), 3, - sym_line_comment, - sym_block_comment, + STATE(68), 2, + sym_comment, aux_sym__old_module_repeat1, - [1735] = 4, + [1668] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(69), 1, + sym_comment, ACTIONS(212), 2, ts_builtin_sym_end, sym_identifier, - STATE(69), 2, - sym_line_comment, - sym_block_comment, - [1750] = 4, + [1682] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(70), 1, + sym_comment, ACTIONS(214), 2, anon_sym_COMMA, anon_sym_RBRACE, - STATE(70), 2, - sym_line_comment, - sym_block_comment, - [1765] = 4, + [1696] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(71), 1, + sym_comment, ACTIONS(216), 2, ts_builtin_sym_end, sym_identifier, - STATE(71), 2, - sym_line_comment, - sym_block_comment, + [1710] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(72), 1, + sym_comment, + ACTIONS(218), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [1724] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(73), 1, + sym_comment, + ACTIONS(220), 2, + ts_builtin_sym_end, + sym_identifier, + [1738] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(74), 1, + sym_comment, + ACTIONS(222), 2, + ts_builtin_sym_end, + sym_identifier, + [1752] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(75), 1, + sym_comment, + ACTIONS(224), 2, + ts_builtin_sym_end, + sym_identifier, + [1766] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + STATE(76), 1, + sym_comment, + ACTIONS(224), 2, + ts_builtin_sym_end, + sym_identifier, [1780] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, - ACTIONS(218), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - STATE(72), 2, - sym_line_comment, - sym_block_comment, - [1795] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(220), 2, - ts_builtin_sym_end, - sym_identifier, - STATE(73), 2, - sym_line_comment, - sym_block_comment, - [1810] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(222), 2, - ts_builtin_sym_end, - sym_identifier, - STATE(74), 2, - sym_line_comment, - sym_block_comment, - [1825] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(224), 2, - ts_builtin_sym_end, - sym_identifier, - STATE(75), 2, - sym_line_comment, - sym_block_comment, - [1840] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, - ACTIONS(224), 2, - ts_builtin_sym_end, - sym_identifier, - STATE(76), 2, - sym_line_comment, - sym_block_comment, - [1855] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(5), 1, - anon_sym_SLASH_STAR, + STATE(77), 1, + sym_comment, ACTIONS(226), 2, ts_builtin_sym_end, sym_identifier, - STATE(77), 2, - sym_line_comment, - sym_block_comment, - [1870] = 4, + [1794] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(78), 1, + sym_comment, ACTIONS(228), 2, ts_builtin_sym_end, sym_identifier, - STATE(78), 2, - sym_line_comment, - sym_block_comment, - [1885] = 5, + [1808] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -7148,77 +7088,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, ACTIONS(230), 1, anon_sym_COMMA, - STATE(79), 2, - sym_line_comment, - sym_block_comment, - [1902] = 5, + STATE(79), 1, + sym_comment, + [1824] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(232), 1, anon_sym_LBRACE, + STATE(80), 1, + sym_comment, STATE(95), 1, sym__select_cases, - STATE(80), 2, - sym_line_comment, - sym_block_comment, - [1919] = 4, + [1840] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(81), 1, + sym_comment, ACTIONS(234), 2, ts_builtin_sym_end, sym_identifier, - STATE(81), 2, - sym_line_comment, - sym_block_comment, - [1934] = 4, + [1854] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(82), 1, + sym_comment, ACTIONS(236), 2, ts_builtin_sym_end, sym_identifier, - STATE(82), 2, - sym_line_comment, - sym_block_comment, - [1949] = 4, + [1868] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(83), 1, + sym_comment, ACTIONS(238), 2, ts_builtin_sym_end, sym_identifier, - STATE(83), 2, - sym_line_comment, - sym_block_comment, - [1964] = 4, + [1882] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(84), 1, + sym_comment, ACTIONS(240), 2, ts_builtin_sym_end, sym_identifier, - STATE(84), 2, - sym_line_comment, - sym_block_comment, - [1979] = 4, + [1896] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(85), 1, + sym_comment, ACTIONS(242), 2, ts_builtin_sym_end, sym_identifier, - STATE(85), 2, - sym_line_comment, - sym_block_comment, - [1994] = 5, + [1910] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -7227,21 +7160,19 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(70), 1, sym__colon_property, - STATE(86), 2, - sym_line_comment, - sym_block_comment, - [2011] = 4, + STATE(86), 1, + sym_comment, + [1926] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, + STATE(87), 1, + sym_comment, ACTIONS(244), 2, ts_builtin_sym_end, sym_identifier, - STATE(87), 2, - sym_line_comment, - sym_block_comment, - [2026] = 5, + [1940] = 5, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, @@ -7250,360 +7181,336 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(72), 1, sym__equal_property, - STATE(88), 2, - sym_line_comment, - sym_block_comment, - [2043] = 4, + STATE(88), 1, + sym_comment, + [1956] = 4, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, anon_sym_SLASH_STAR, ACTIONS(246), 1, - aux_sym_line_comment_token1, - STATE(89), 2, - sym_line_comment, - sym_block_comment, - [2057] = 4, + aux_sym_comment_token1, + STATE(89), 1, + sym_comment, + [1969] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(248), 1, anon_sym_COMMA, - STATE(90), 2, - sym_line_comment, - sym_block_comment, - [2071] = 4, + STATE(90), 1, + sym_comment, + [1982] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(250), 1, anon_sym_COMMA, - STATE(91), 2, - sym_line_comment, - sym_block_comment, - [2085] = 4, + STATE(91), 1, + sym_comment, + [1995] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(252), 1, anon_sym_RPAREN, - STATE(92), 2, - sym_line_comment, - sym_block_comment, - [2099] = 4, + STATE(92), 1, + sym_comment, + [2008] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(254), 1, anon_sym_COMMA, - STATE(93), 2, - sym_line_comment, - sym_block_comment, - [2113] = 4, + STATE(93), 1, + sym_comment, + [2021] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(256), 1, anon_sym_SLASH, - STATE(94), 2, - sym_line_comment, - sym_block_comment, - [2127] = 4, + STATE(94), 1, + sym_comment, + [2034] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(258), 1, anon_sym_RPAREN, - STATE(95), 2, - sym_line_comment, - sym_block_comment, - [2141] = 4, + STATE(95), 1, + sym_comment, + [2047] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(260), 1, anon_sym_COLON, - STATE(96), 2, - sym_line_comment, - sym_block_comment, - [2155] = 4, + STATE(96), 1, + sym_comment, + [2060] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(262), 1, aux_sym_integer_literal_token1, - STATE(97), 2, - sym_line_comment, - sym_block_comment, - [2169] = 4, + STATE(97), 1, + sym_comment, + [2073] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(264), 1, anon_sym_COMMA, - STATE(98), 2, - sym_line_comment, - sym_block_comment, - [2183] = 4, + STATE(98), 1, + sym_comment, + [2086] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(266), 1, anon_sym_LPAREN, - STATE(99), 2, - sym_line_comment, - sym_block_comment, - [2197] = 4, + STATE(99), 1, + sym_comment, + [2099] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(268), 1, anon_sym_RPAREN, - STATE(100), 2, - sym_line_comment, - sym_block_comment, - [2211] = 4, + STATE(100), 1, + sym_comment, + [2112] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(270), 1, anon_sym_COLON, - STATE(101), 2, - sym_line_comment, - sym_block_comment, - [2225] = 4, + STATE(101), 1, + sym_comment, + [2125] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(272), 1, anon_sym_EQ, - STATE(102), 2, - sym_line_comment, - sym_block_comment, - [2239] = 4, + STATE(102), 1, + sym_comment, + [2138] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(274), 1, anon_sym_COMMA, - STATE(103), 2, - sym_line_comment, - sym_block_comment, - [2253] = 4, + STATE(103), 1, + sym_comment, + [2151] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(276), 1, ts_builtin_sym_end, - STATE(104), 2, - sym_line_comment, - sym_block_comment, - [2267] = 4, + STATE(104), 1, + sym_comment, + [2164] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(278), 1, anon_sym_RPAREN, - STATE(105), 2, - sym_line_comment, - sym_block_comment, - [2281] = 4, + STATE(105), 1, + sym_comment, + [2177] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(280), 1, anon_sym_LPAREN, - STATE(106), 2, - sym_line_comment, - sym_block_comment, - [2295] = 4, + STATE(106), 1, + sym_comment, + [2190] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(282), 1, anon_sym_LPAREN, - STATE(107), 2, - sym_line_comment, - sym_block_comment, - [2309] = 4, + STATE(107), 1, + sym_comment, + [2203] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(284), 1, anon_sym_RPAREN, - STATE(108), 2, - sym_line_comment, - sym_block_comment, - [2323] = 4, + STATE(108), 1, + sym_comment, + [2216] = 4, ACTIONS(103), 1, anon_sym_SLASH_SLASH, ACTIONS(105), 1, anon_sym_SLASH_STAR, ACTIONS(286), 1, - aux_sym_block_comment_token1, - STATE(109), 2, - sym_line_comment, - sym_block_comment, - [2337] = 4, + aux_sym_comment_token2, + STATE(109), 1, + sym_comment, + [2229] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(288), 1, anon_sym_COMMA, - STATE(110), 2, - sym_line_comment, - sym_block_comment, - [2351] = 4, + STATE(110), 1, + sym_comment, + [2242] = 4, ACTIONS(3), 1, anon_sym_SLASH_SLASH, ACTIONS(5), 1, anon_sym_SLASH_STAR, ACTIONS(230), 1, anon_sym_COMMA, - STATE(111), 2, - sym_line_comment, - sym_block_comment, - [2365] = 1, + STATE(111), 1, + sym_comment, + [2255] = 1, ACTIONS(290), 1, ts_builtin_sym_end, - [2369] = 1, + [2259] = 1, ACTIONS(292), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 60, - [SMALL_STATE(4)] = 117, - [SMALL_STATE(5)] = 174, - [SMALL_STATE(6)] = 231, - [SMALL_STATE(7)] = 285, - [SMALL_STATE(8)] = 339, - [SMALL_STATE(9)] = 393, - [SMALL_STATE(10)] = 447, - [SMALL_STATE(11)] = 501, - [SMALL_STATE(12)] = 522, - [SMALL_STATE(13)] = 555, - [SMALL_STATE(14)] = 590, - [SMALL_STATE(15)] = 625, - [SMALL_STATE(16)] = 646, - [SMALL_STATE(17)] = 679, - [SMALL_STATE(18)] = 700, - [SMALL_STATE(19)] = 731, - [SMALL_STATE(20)] = 751, - [SMALL_STATE(21)] = 771, - [SMALL_STATE(22)] = 791, - [SMALL_STATE(23)] = 811, - [SMALL_STATE(24)] = 831, - [SMALL_STATE(25)] = 851, - [SMALL_STATE(26)] = 871, - [SMALL_STATE(27)] = 891, - [SMALL_STATE(28)] = 911, - [SMALL_STATE(29)] = 931, - [SMALL_STATE(30)] = 951, - [SMALL_STATE(31)] = 971, - [SMALL_STATE(32)] = 991, - [SMALL_STATE(33)] = 1011, - [SMALL_STATE(34)] = 1031, - [SMALL_STATE(35)] = 1051, - [SMALL_STATE(36)] = 1074, - [SMALL_STATE(37)] = 1095, - [SMALL_STATE(38)] = 1116, - [SMALL_STATE(39)] = 1139, - [SMALL_STATE(40)] = 1162, - [SMALL_STATE(41)] = 1185, - [SMALL_STATE(42)] = 1208, - [SMALL_STATE(43)] = 1225, - [SMALL_STATE(44)] = 1248, - [SMALL_STATE(45)] = 1271, - [SMALL_STATE(46)] = 1289, - [SMALL_STATE(47)] = 1309, - [SMALL_STATE(48)] = 1329, - [SMALL_STATE(49)] = 1347, - [SMALL_STATE(50)] = 1367, - [SMALL_STATE(51)] = 1385, - [SMALL_STATE(52)] = 1405, - [SMALL_STATE(53)] = 1425, - [SMALL_STATE(54)] = 1445, - [SMALL_STATE(55)] = 1465, - [SMALL_STATE(56)] = 1485, - [SMALL_STATE(57)] = 1505, - [SMALL_STATE(58)] = 1523, - [SMALL_STATE(59)] = 1541, - [SMALL_STATE(60)] = 1561, - [SMALL_STATE(61)] = 1581, - [SMALL_STATE(62)] = 1601, - [SMALL_STATE(63)] = 1621, - [SMALL_STATE(64)] = 1641, - [SMALL_STATE(65)] = 1659, - [SMALL_STATE(66)] = 1679, - [SMALL_STATE(67)] = 1697, - [SMALL_STATE(68)] = 1717, - [SMALL_STATE(69)] = 1735, - [SMALL_STATE(70)] = 1750, - [SMALL_STATE(71)] = 1765, - [SMALL_STATE(72)] = 1780, - [SMALL_STATE(73)] = 1795, - [SMALL_STATE(74)] = 1810, - [SMALL_STATE(75)] = 1825, - [SMALL_STATE(76)] = 1840, - [SMALL_STATE(77)] = 1855, - [SMALL_STATE(78)] = 1870, - [SMALL_STATE(79)] = 1885, - [SMALL_STATE(80)] = 1902, - [SMALL_STATE(81)] = 1919, - [SMALL_STATE(82)] = 1934, - [SMALL_STATE(83)] = 1949, - [SMALL_STATE(84)] = 1964, - [SMALL_STATE(85)] = 1979, - [SMALL_STATE(86)] = 1994, - [SMALL_STATE(87)] = 2011, - [SMALL_STATE(88)] = 2026, - [SMALL_STATE(89)] = 2043, - [SMALL_STATE(90)] = 2057, - [SMALL_STATE(91)] = 2071, - [SMALL_STATE(92)] = 2085, - [SMALL_STATE(93)] = 2099, - [SMALL_STATE(94)] = 2113, - [SMALL_STATE(95)] = 2127, - [SMALL_STATE(96)] = 2141, - [SMALL_STATE(97)] = 2155, - [SMALL_STATE(98)] = 2169, - [SMALL_STATE(99)] = 2183, - [SMALL_STATE(100)] = 2197, - [SMALL_STATE(101)] = 2211, - [SMALL_STATE(102)] = 2225, - [SMALL_STATE(103)] = 2239, - [SMALL_STATE(104)] = 2253, - [SMALL_STATE(105)] = 2267, - [SMALL_STATE(106)] = 2281, - [SMALL_STATE(107)] = 2295, - [SMALL_STATE(108)] = 2309, - [SMALL_STATE(109)] = 2323, - [SMALL_STATE(110)] = 2337, - [SMALL_STATE(111)] = 2351, - [SMALL_STATE(112)] = 2365, - [SMALL_STATE(113)] = 2369, + [SMALL_STATE(3)] = 59, + [SMALL_STATE(4)] = 115, + [SMALL_STATE(5)] = 171, + [SMALL_STATE(6)] = 227, + [SMALL_STATE(7)] = 280, + [SMALL_STATE(8)] = 333, + [SMALL_STATE(9)] = 386, + [SMALL_STATE(10)] = 439, + [SMALL_STATE(11)] = 492, + [SMALL_STATE(12)] = 512, + [SMALL_STATE(13)] = 544, + [SMALL_STATE(14)] = 578, + [SMALL_STATE(15)] = 612, + [SMALL_STATE(16)] = 632, + [SMALL_STATE(17)] = 664, + [SMALL_STATE(18)] = 684, + [SMALL_STATE(19)] = 714, + [SMALL_STATE(20)] = 733, + [SMALL_STATE(21)] = 752, + [SMALL_STATE(22)] = 771, + [SMALL_STATE(23)] = 790, + [SMALL_STATE(24)] = 809, + [SMALL_STATE(25)] = 828, + [SMALL_STATE(26)] = 847, + [SMALL_STATE(27)] = 866, + [SMALL_STATE(28)] = 885, + [SMALL_STATE(29)] = 904, + [SMALL_STATE(30)] = 923, + [SMALL_STATE(31)] = 942, + [SMALL_STATE(32)] = 961, + [SMALL_STATE(33)] = 980, + [SMALL_STATE(34)] = 999, + [SMALL_STATE(35)] = 1018, + [SMALL_STATE(36)] = 1040, + [SMALL_STATE(37)] = 1060, + [SMALL_STATE(38)] = 1080, + [SMALL_STATE(39)] = 1102, + [SMALL_STATE(40)] = 1124, + [SMALL_STATE(41)] = 1146, + [SMALL_STATE(42)] = 1168, + [SMALL_STATE(43)] = 1184, + [SMALL_STATE(44)] = 1206, + [SMALL_STATE(45)] = 1228, + [SMALL_STATE(46)] = 1245, + [SMALL_STATE(47)] = 1264, + [SMALL_STATE(48)] = 1283, + [SMALL_STATE(49)] = 1300, + [SMALL_STATE(50)] = 1319, + [SMALL_STATE(51)] = 1336, + [SMALL_STATE(52)] = 1355, + [SMALL_STATE(53)] = 1374, + [SMALL_STATE(54)] = 1393, + [SMALL_STATE(55)] = 1412, + [SMALL_STATE(56)] = 1431, + [SMALL_STATE(57)] = 1450, + [SMALL_STATE(58)] = 1467, + [SMALL_STATE(59)] = 1484, + [SMALL_STATE(60)] = 1503, + [SMALL_STATE(61)] = 1522, + [SMALL_STATE(62)] = 1541, + [SMALL_STATE(63)] = 1560, + [SMALL_STATE(64)] = 1579, + [SMALL_STATE(65)] = 1596, + [SMALL_STATE(66)] = 1615, + [SMALL_STATE(67)] = 1632, + [SMALL_STATE(68)] = 1651, + [SMALL_STATE(69)] = 1668, + [SMALL_STATE(70)] = 1682, + [SMALL_STATE(71)] = 1696, + [SMALL_STATE(72)] = 1710, + [SMALL_STATE(73)] = 1724, + [SMALL_STATE(74)] = 1738, + [SMALL_STATE(75)] = 1752, + [SMALL_STATE(76)] = 1766, + [SMALL_STATE(77)] = 1780, + [SMALL_STATE(78)] = 1794, + [SMALL_STATE(79)] = 1808, + [SMALL_STATE(80)] = 1824, + [SMALL_STATE(81)] = 1840, + [SMALL_STATE(82)] = 1854, + [SMALL_STATE(83)] = 1868, + [SMALL_STATE(84)] = 1882, + [SMALL_STATE(85)] = 1896, + [SMALL_STATE(86)] = 1910, + [SMALL_STATE(87)] = 1926, + [SMALL_STATE(88)] = 1940, + [SMALL_STATE(89)] = 1956, + [SMALL_STATE(90)] = 1969, + [SMALL_STATE(91)] = 1982, + [SMALL_STATE(92)] = 1995, + [SMALL_STATE(93)] = 2008, + [SMALL_STATE(94)] = 2021, + [SMALL_STATE(95)] = 2034, + [SMALL_STATE(96)] = 2047, + [SMALL_STATE(97)] = 2060, + [SMALL_STATE(98)] = 2073, + [SMALL_STATE(99)] = 2086, + [SMALL_STATE(100)] = 2099, + [SMALL_STATE(101)] = 2112, + [SMALL_STATE(102)] = 2125, + [SMALL_STATE(103)] = 2138, + [SMALL_STATE(104)] = 2151, + [SMALL_STATE(105)] = 2164, + [SMALL_STATE(106)] = 2177, + [SMALL_STATE(107)] = 2190, + [SMALL_STATE(108)] = 2203, + [SMALL_STATE(109)] = 2216, + [SMALL_STATE(110)] = 2229, + [SMALL_STATE(111)] = 2242, + [SMALL_STATE(112)] = 2255, + [SMALL_STATE(113)] = 2259, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -7748,8 +7655,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__select_cases, 3), [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_soong_config_variable, 6, .production_id = 15), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), }; #ifdef __cplusplus @@ -7759,7 +7666,7 @@ extern "C" { #define extern __declspec(dllexport) #endif -extern const TSLanguage *tree_sitter_blueprint(void) { +extern const TSLanguage *tree_sitter_bp(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, diff --git a/test/corpus/comments.txt b/test/corpus/comments.txt index 6c91a89..a816b3c 100644 --- a/test/corpus/comments.txt +++ b/test/corpus/comments.txt @@ -7,7 +7,7 @@ Empty comment -------------------------------------------------------------------------------- (source_file - (line_comment)) + (comment)) ================================================================================ Single comment @@ -18,7 +18,7 @@ Single comment -------------------------------------------------------------------------------- (source_file - (line_comment)) + (comment)) ================================================================================ Multiple comments @@ -30,8 +30,8 @@ Multiple comments -------------------------------------------------------------------------------- (source_file - (line_comment) - (line_comment)) + (comment) + (comment)) ================================================================================ Empty block comment @@ -42,7 +42,7 @@ Empty block comment -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Whitespace block comment @@ -53,7 +53,7 @@ Whitespace block comment -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Block comment @@ -64,7 +64,7 @@ Block comment -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Block comment with slashes @@ -75,7 +75,7 @@ Block comment with slashes -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Block comment with asterisks @@ -86,7 +86,7 @@ Block comment with asterisks -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Block comment (multiline) @@ -103,7 +103,7 @@ Block comment (multiline) -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Block comment is not recursive @@ -114,7 +114,7 @@ Block comment is not recursive -------------------------------------------------------------------------------- (source_file - (block_comment)) + (comment)) ================================================================================ Unterminated comment diff --git a/test/corpus/literals.txt b/test/corpus/literals.txt new file mode 100644 index 0000000..b1c3fba --- /dev/null +++ b/test/corpus/literals.txt @@ -0,0 +1,134 @@ +================================================================================ +Booelan literal +================================================================================ + +foo = true + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (boolean_literal))) + +================================================================================ +Integer literal +================================================================================ + +foo = 42 + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (integer_literal))) + +================================================================================ +String literal +================================================================================ + +foo = "Hello World!" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal))) + +================================================================================ +String literal special character escapes +================================================================================ + +foo = "Hello\nWorld!" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (escape_sequence)))) + +================================================================================ +String literal octal +================================================================================ + +foo = "Hello World\041" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (escape_sequence)))) + +================================================================================ +String literal hex +================================================================================ + +foo = "Hello World\x21" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (escape_sequence)))) + +================================================================================ +String literal character escapes +================================================================================ + +foo = "Hello\\\"World\"" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (escape_sequence) + (escape_sequence) + (escape_sequence)))) + +================================================================================ +Unterminated string literal +================================================================================ + +foo = " + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (MISSING """)))) + +================================================================================ +String literal unterminated escape +================================================================================ + +foo = "\" + +-------------------------------------------------------------------------------- + +(source_file + (assignment + (identifier) + (operator) + (interpreted_string_literal + (escape_sequence) + (MISSING """)))) diff --git a/test/highlight/comments.bp b/test/highlight/comments.bp index 6e93dc9..5bc50a2 100644 --- a/test/highlight/comments.bp +++ b/test/highlight/comments.bp @@ -1,10 +1,9 @@ -/* This is comment */ -/* <- comment - ^ comment - ^ comment - */ +/* This is a comment */ +// <- comment +// ^ comment +// ^ comment + // And another comment -/* <- comment - ^ comment - ^ comment - */ +// <- comment +// ^ comment +// ^ comment diff --git a/test/highlight/modules.bp b/test/highlight/modules.bp index e115e6a..51ab058 100644 --- a/test/highlight/modules.bp +++ b/test/highlight/modules.bp @@ -4,16 +4,16 @@ foo {} foo () // <- function.call -foo { -// <- function.call +some_module { + // ^ function.call field: 12, // <- variable.parameter another_field: 27, // <- variable.parameter } -foo ( -// <- function.call +some_module ( + // ^ function.call field = 42, // <- variable.parameter done = false, diff --git a/test/highlight/properties.bp b/test/highlight/properties.bp index 8ad2c55..666ad20 100644 --- a/test/highlight/properties.bp +++ b/test/highlight/properties.bp @@ -1,6 +1,6 @@ foo { - field: { - // <- variable.parameter + some_field: { + // ^ variable.parameter key: 42, // <- property }, diff --git a/test/highlight/punctuation.bp b/test/highlight/punctuation.bp index bc00194..72deda4 100644 --- a/test/highlight/punctuation.bp +++ b/test/highlight/punctuation.bp @@ -3,13 +3,24 @@ foo ( bar = [ //^ punctuation.bracket { - // <- punctuation.bracket key: "value", // ^ punctuation.delimiter // ^ punctuation.delimiter + another: {}, + // ^ punctuation.bracket + // ^ punctuation.bracket }, // <- punctuation.bracket - ] + ], + // <- punctuation.bracket + baz = { + //^ punctuation.bracket + key: [], + // ^ punctuation.delimiter + // ^ punctuation.bracket + // ^ punctuation.bracket + // ^ punctuation.delimiter + }, // <- punctuation.bracket ) // <- punctuation.bracket diff --git a/test/indent/expressions.bp b/test/indent/expressions.bp new file mode 100644 index 0000000..a65ce9a --- /dev/null +++ b/test/indent/expressions.bp @@ -0,0 +1,22 @@ +foo = 1 + 2 + +foo = [ + 1, + 2, + 3, +] + +foo = { + foo: [ + "bar", + ], +}, + +foo = { + foo: [ + "bar", + { + key: "value", + }, + ], +}, diff --git a/test/indent/select.bp b/test/indent/select.bp new file mode 100644 index 0000000..6d95b2c --- /dev/null +++ b/test/indent/select.bp @@ -0,0 +1,28 @@ +foo = select(variant("VARIANT"), { + "x86": "my_x86", + "x86_64": [ + "x86", + "x64", + ], + "arm": { + some: "aarch", + value: "aarch64", + }, + default: 0, +}) + +foo = select( + variant("VARIANT"), + { + "x86": "my_x86", + "x86_64": [ + "x86", + "x64", + ], + "arm": { + some: "aarch", + value: "aarch64", + }, + default: 0, + } +) diff --git a/test/indent_spec.lua b/test/indent_spec.lua new file mode 100644 index 0000000..f36145d --- /dev/null +++ b/test/indent_spec.lua @@ -0,0 +1,47 @@ +package.path = package.path .. ";" .. vim.env.NVIM_TREESITTER .. "/?.lua" + +local Runner = require("tests.indent.common").Runner + +-- FIXME: path to root +local runner = Runner:new(it, ".", { + tabstop = 4, + shiftwidth = 4, + softtabstop = 0, + expandtab = true, +}) + +describe("indent Blueprint:", function() + describe("whole file:", function() + runner:whole_file("test/highlight/", { + expected_failures = { + -- NOTE: none for now + }, + }) + runner:whole_file("test/indent/", { + expected_failures = { + -- NOTE: none for now + }, + }) + end) + + describe("new line:", function() + runner:new_line("test/indent/expressions.bp", { on_line = 2, text = "foo = 42", indent = 0 }, "variable declaration") + runner:new_line("test/indent/expressions.bp", { on_line = 4, text = "0,", indent = 4 }, "list element") + runner:new_line("test/indent/expressions.bp", { on_line = 6, text = "]", indent = 0 }, "list closing delimiter") + runner:new_line("test/indent/expressions.bp", { on_line = 9, text = "key: 42", indent = 4 }, "map property") + runner:new_line("test/indent/expressions.bp", { on_line = 12, text = "key: 42", indent = 4 }, "map property, trailing") + runner:new_line("test/indent/expressions.bp", { on_line = 9, text = "}", indent = 0 }, "map closing delimiter") + runner:new_line("test/indent/expressions.bp", { on_line = 11, text = "]", indent = 4 }, "nested list closing delimiter") + runner:new_line("test/indent/expressions.bp", { on_line = 18, text = "key: 42", indent = 12 }, "nested map property") + runner:new_line("test/indent/expressions.bp", { on_line = 19, text = "key: 42", indent = 12 }, "nested map property, trailing") + + runner:new_line("test/indent/select.bp", { on_line = 1, text = '"case": "value"', indent = 4 }, "select case") + runner:new_line("test/indent/select.bp", { on_line = 1, text = 'default: "value"', indent = 4 }, "default case") + runner:new_line("test/indent/select.bp", { on_line = 11, text = '"case": "value"', indent = 4 }, "select case, trailing") + runner:new_line("test/indent/select.bp", { on_line = 11, text = 'default: "value"', indent = 4 }, "default case, trailing") + runner:new_line("test/indent/select.bp", { on_line = 16, text = '"case": "value"', indent = 8 }, "select case, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 16, text = 'default: "value"', indent = 8 }, "default case, alternate formatting") + runner:new_line("test/indent/select.bp", { on_line = 26, text = '"case": "value"', indent = 8 }, "select case, trailing, alternate formattingg") + runner:new_line("test/indent/select.bp", { on_line = 26, text = 'default: "value"', indent = 8 }, "default case, trailing, alternate formattingn") + end) +end)