From 88075e37ea702e7225ef94e87ba83c76d51f4c4c Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 10:39:47 +0200 Subject: [PATCH 01/10] Update bash --- lib/package.json | 4 +-- package-lock.json | 65 ++++++++++++++++++++++++++++++++++---------- parsers/bash | 2 +- parsers/binding.gyp | 28 +++++++++---------- parsers/index.js | 62 +++++++++++++++++++++--------------------- parsers/package.json | 2 +- 6 files changed, 100 insertions(+), 63 deletions(-) diff --git a/lib/package.json b/lib/package.json index c708c41e5..f7cf47052 100644 --- a/lib/package.json +++ b/lib/package.json @@ -35,13 +35,13 @@ "eslint": "8.57.0", "node-gyp": "^9.4.1", "typescript": "5.4.5", - "tree-sitter-json": "0.20.2" + "tree-sitter-json": "0.21.0" }, "dependencies": { "@dodona/dolos-parsers": "1.1.0", "@dodona/dolos-core": "1.0.2", "d3-dsv": "^3.0.1", - "tree-sitter": "^0.20.6" + "tree-sitter": "^0.21.0" }, "bugs": { "url": "https://github.com/dodona-edu/dolos/issues" diff --git a/package-lock.json b/package-lock.json index 53bd683bd..bfcc5037c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,7 @@ "@dodona/dolos-core": "1.0.2", "@dodona/dolos-parsers": "1.1.0", "d3-dsv": "^3.0.1", - "tree-sitter": "^0.20.6" + "tree-sitter": "^0.21.0" }, "devDependencies": { "@ava/typescript": "git+https://github.com/rien/ava-typescript", @@ -74,13 +74,42 @@ "ava": "5.3.1", "eslint": "8.57.0", "node-gyp": "^9.4.1", - "tree-sitter-json": "0.20.2", + "tree-sitter-json": "0.21.0", "typescript": "5.4.5" }, "engines": { "node": ">=18" } }, + "lib/node_modules/tree-sitter": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.21.1.tgz", + "integrity": "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" + } + }, + "lib/node_modules/tree-sitter-json": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.21.0.tgz", + "integrity": "sha512-qK2BrNN696dM+7SoYSHlNmsSXaYATYXTbyyKJKufAOD3qFEDfxec70OpYyihzZl/fkDoNENj+pQ8TXkYSC0NkQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" + }, + "peerDependencies": { + "tree-sitter": "^0.21.0" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + } + }, "node_modules/@antfu/utils": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.8.tgz", @@ -5211,6 +5240,14 @@ "node": ">=10" } }, + "node_modules/node-addon-api": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.0.0.tgz", + "integrity": "sha512-ipO7rsHEBqa9STO5C5T10fj732ml+5kLN1cAG8/jdHd56ldQeGj3Q7+scUS+VHK/qy1zLEwC4wMK5+yM0btPvw==", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, "node_modules/node-gyp": { "version": "9.4.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", @@ -5237,6 +5274,16 @@ "node": "^12.13 || ^14.13 || >=16" } }, + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, "node_modules/nofilter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", @@ -6832,17 +6879,6 @@ "tree-sitter": "cli.js" } }, - "node_modules/tree-sitter-json": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.2.tgz", - "integrity": "sha512-eUxrowp4F1QEGk/i7Sa+Xl8Crlfp7J0AXxX1QdJEQKQYMWhgMbCIgyQvpO3Q0P9oyTrNQxRLlRipDS44a8EtRw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "nan": "^2.18.0" - } - }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -7689,9 +7725,10 @@ "parsers": { "name": "@dodona/dolos-parsers", "version": "1.1.0", + "hasInstallScript": true, "license": "MIT", "dependencies": { - "nan": "^2.19.0" + "node-addon-api": "^8.0.0" }, "devDependencies": { "node-gyp": "^9.4.1", diff --git a/parsers/bash b/parsers/bash index 7331995b1..2fbd860f8 160000 --- a/parsers/bash +++ b/parsers/bash @@ -1 +1 @@ -Subproject commit 7331995b19b8f8aba2d5e26deb51d2195c18bc94 +Subproject commit 2fbd860f802802ca76a6661ce025b3a3bca2d3ed diff --git a/parsers/binding.gyp b/parsers/binding.gyp index 73c5f2c5d..b123554a4 100644 --- a/parsers/binding.gyp +++ b/parsers/binding.gyp @@ -1,19 +1,19 @@ { "includes": [ "bash/binding.gyp", - "c/binding.gyp", - "cpp/binding.gyp", - "c_sharp/binding.gyp", - "elm/binding.gyp", - "java/binding.gyp", - "javascript/binding.gyp", - "modelica/binding.gyp", - "php/binding.gyp", - "python/binding.gyp", - "r/binding.gyp", - "scala/binding.gyp", - "sql/binding.gyp", - "typescript/binding.gyp", - "verilog/binding.gyp" + #"c/binding.gyp", + #"cpp/binding.gyp", + #"c_sharp/binding.gyp", + #"elm/binding.gyp", + #"java/binding.gyp", + #"javascript/binding.gyp", + #"modelica/binding.gyp", + #"php/binding.gyp", + #"python/binding.gyp", + #"r/binding.gyp", + #"scala/binding.gyp", + #"sql/binding.gyp", + #"typescript/binding.gyp", + #"verilog/binding.gyp" ] } diff --git a/parsers/index.js b/parsers/index.js index e55813ebb..6c4763c69 100644 --- a/parsers/index.js +++ b/parsers/index.js @@ -2,48 +2,48 @@ module.exports.bash = require("./build/Release/tree_sitter_bash_binding"); module.exports.bash.nodeTypeInfo = require("./bash/src/node-types.json"); -module.exports.c = require("./build/Release/tree_sitter_c_binding"); -module.exports.c.nodeTypeInfo = require("./c/src/node-types.json"); +//module.exports.c = require("./build/Release/tree_sitter_c_binding"); +//module.exports.c.nodeTypeInfo = require("./c/src/node-types.json"); -module.exports.cpp = require("./build/Release/tree_sitter_cpp_binding"); -module.exports.cpp.nodeTypeInfo = require("./cpp/src/node-types.json"); +//module.exports.cpp = require("./build/Release/tree_sitter_cpp_binding"); +//module.exports.cpp.nodeTypeInfo = require("./cpp/src/node-types.json"); -module.exports["c-sharp"] = require("./build/Release/tree_sitter_c_sharp_binding"); -module.exports["c-sharp"].nodeTypeInfo = require("./c_sharp/src/node-types.json"); +//module.exports["c-sharp"] = require("./build/Release/tree_sitter_c_sharp_binding"); +//module.exports["c-sharp"].nodeTypeInfo = require("./c_sharp/src/node-types.json"); -module.exports.elm = require("./build/Release/tree_sitter_elm_binding"); -module.exports.elm.nodeTypeInfo = require("./elm/src/node-types.json"); +//module.exports.elm = require("./build/Release/tree_sitter_elm_binding"); +//module.exports.elm.nodeTypeInfo = require("./elm/src/node-types.json"); -module.exports.java = require("./build/Release/tree_sitter_java_binding"); -module.exports.java.nodeTypeInfo = require("./java/src/node-types.json"); +//module.exports.java = require("./build/Release/tree_sitter_java_binding"); +//module.exports.java.nodeTypeInfo = require("./java/src/node-types.json"); -module.exports.javascript = require("./build/Release/tree_sitter_javascript_binding"); -module.exports.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); +//module.exports.javascript = require("./build/Release/tree_sitter_javascript_binding"); +//module.exports.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); -module.exports.modelica = require("./build/Release/tree_sitter_modelica_binding"); -module.exports.modelica.nodeTypeInfo = require("./modelica/src/node-types.json"); +//module.exports.modelica = require("./build/Release/tree_sitter_modelica_binding"); +//module.exports.modelica.nodeTypeInfo = require("./modelica/src/node-types.json"); -module.exports.php = require("./build/Release/tree_sitter_php_binding"); -module.exports.php.nodeTypeInfo = require("./php/src/node-types.json"); +//module.exports.php = require("./build/Release/tree_sitter_php_binding"); +//module.exports.php.nodeTypeInfo = require("./php/src/node-types.json"); -module.exports.python = require("./build/Release/tree_sitter_python_binding"); -module.exports.python.nodeTypeInfo = require("./python/src/node-types.json"); +//module.exports.python = require("./build/Release/tree_sitter_python_binding"); +//module.exports.python.nodeTypeInfo = require("./python/src/node-types.json"); -module.exports.r = require("./build/Release/tree_sitter_r_binding"); -module.exports.r.nodeTypeInfo = require("./r/src/node-types.json"); +//module.exports.r = require("./build/Release/tree_sitter_r_binding"); +//module.exports.r.nodeTypeInfo = require("./r/src/node-types.json"); -module.exports.scala = require("./build/Release/tree_sitter_scala_binding"); -module.exports.scala.nodeTypeInfo = require("./scala/src/node-types.json"); +//module.exports.scala = require("./build/Release/tree_sitter_scala_binding"); +//module.exports.scala.nodeTypeInfo = require("./scala/src/node-types.json"); -module.exports.sql = require("./build/Release/tree_sitter_sql_binding"); -module.exports.sql.nodeTypeInfo = require("./sql/src/node-types.json"); +//module.exports.sql = require("./build/Release/tree_sitter_sql_binding"); +//module.exports.sql.nodeTypeInfo = require("./sql/src/node-types.json"); -const typescript_tsx = require("./build/Release/tree_sitter_typescript_binding"); -module.exports.typescript = typescript_tsx.typescript; -module.exports.typescript.nodeTypeInfo = require("./typescript/typescript/src/node-types.json"); +//const typescript_tsx = require("./build/Release/tree_sitter_typescript_binding"); +//module.exports.typescript = typescript_tsx.typescript; +//module.exports.typescript.nodeTypeInfo = require("./typescript/typescript/src/node-types.json"); -module.exports.tsx = typescript_tsx.tsx; -module.exports.tsx.nodeTypeInfo = require("./typescript/tsx/src/node-types.json"); +//module.exports.tsx = typescript_tsx.tsx; +//module.exports.tsx.nodeTypeInfo = require("./typescript/tsx/src/node-types.json"); -module.exports.verilog = require("./build/Release/tree_sitter_verilog_binding"); -module.exports.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); +//module.exports.verilog = require("./build/Release/tree_sitter_verilog_binding"); +//module.exports.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); diff --git a/parsers/package.json b/parsers/package.json index 13d5885f4..47715d46c 100644 --- a/parsers/package.json +++ b/parsers/package.json @@ -9,7 +9,7 @@ "build": "node-gyp rebuild" }, "dependencies": { - "nan": "^2.19.0" + "node-addon-api": "^8.0.0" }, "devDependencies": { "node-gyp": "^9.4.1", From 33ec6516c3746c45e0f8d13d6de606de1dc3809e Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 10:42:01 +0200 Subject: [PATCH 02/10] Update javascript --- lib/src/test/tokenizer.test.ts | 30 +++++++++++++++--------------- parsers/binding.gyp | 2 +- parsers/index.js | 4 ++-- parsers/javascript | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lib/src/test/tokenizer.test.ts b/lib/src/test/tokenizer.test.ts index b5d045276..a7b6cb4c8 100644 --- a/lib/src/test/tokenizer.test.ts +++ b/lib/src/test/tokenizer.test.ts @@ -5,22 +5,22 @@ import { readPath } from "../lib/reader.js"; const languageFiles = { "bash": "../samples/bash/caesar.sh", - "c": "../samples/c/caesar.c", - "c-sharp": "../samples/c-sharp/Caesar.cs", - "char": "../samples/char/caesar.txt", - "cpp": "../samples/cpp/caesar.cpp", - "elm": "../samples/elm/Caesar.elm", - "java": "../samples/java/Caesar.java", + //"c": "../samples/c/caesar.c", + //"c-sharp": "../samples/c-sharp/Caesar.cs", + //"char": "../samples/char/caesar.txt", + //"cpp": "../samples/cpp/caesar.cpp", + //"elm": "../samples/elm/Caesar.elm", + //"java": "../samples/java/Caesar.java", "javascript": "../samples/javascript/sample.js", - "python": "../samples/python/caesar.py", - "php": "../samples/php/caesar.php", - "modelica": "../samples/modelica/sample.mo", - "r": "../samples/r/caesar.R", - "scala": "../samples/scala/Caesar.scala", - "sql": "../samples/sql/sample.sql", - "tsx": "../samples/tsx/sample.tsx", - "typescript": "../samples/typescript/caesar.ts", - "verilog": "../samples/verilog/module.v" + //"python": "../samples/python/caesar.py", + //"php": "../samples/php/caesar.php", + //"modelica": "../samples/modelica/sample.mo", + //"r": "../samples/r/caesar.R", + //"scala": "../samples/scala/Caesar.scala", + //"sql": "../samples/sql/sample.sql", + //"tsx": "../samples/tsx/sample.tsx", + //"typescript": "../samples/typescript/caesar.ts", + //"verilog": "../samples/verilog/module.v" } as {[key: string]: string}; for (const [languageName, languageFile] of Object.entries(languageFiles)) { diff --git a/parsers/binding.gyp b/parsers/binding.gyp index b123554a4..d747893ac 100644 --- a/parsers/binding.gyp +++ b/parsers/binding.gyp @@ -6,7 +6,7 @@ #"c_sharp/binding.gyp", #"elm/binding.gyp", #"java/binding.gyp", - #"javascript/binding.gyp", + "javascript/binding.gyp", #"modelica/binding.gyp", #"php/binding.gyp", #"python/binding.gyp", diff --git a/parsers/index.js b/parsers/index.js index 6c4763c69..a6d9fc690 100644 --- a/parsers/index.js +++ b/parsers/index.js @@ -17,8 +17,8 @@ module.exports.bash.nodeTypeInfo = require("./bash/src/node-types.json"); //module.exports.java = require("./build/Release/tree_sitter_java_binding"); //module.exports.java.nodeTypeInfo = require("./java/src/node-types.json"); -//module.exports.javascript = require("./build/Release/tree_sitter_javascript_binding"); -//module.exports.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); +module.exports.javascript = require("./build/Release/tree_sitter_javascript_binding"); +module.exports.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); //module.exports.modelica = require("./build/Release/tree_sitter_modelica_binding"); //module.exports.modelica.nodeTypeInfo = require("./modelica/src/node-types.json"); diff --git a/parsers/javascript b/parsers/javascript index f1e5a09b8..391a8fcc4 160000 --- a/parsers/javascript +++ b/parsers/javascript @@ -1 +1 @@ -Subproject commit f1e5a09b8d02f8209a68249c93f0ad647b228e6e +Subproject commit 391a8fcc48a11f63bf18ec9885f6f069e760949a From c819d3734500aab021d952a5987ea924bd0db55a Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 10:47:02 +0200 Subject: [PATCH 03/10] Update c, cpp, c_sharp --- lib/src/test/snapshots/tokenizer.test.ts.md | 16359 +--------------- lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 121188 -> 40345 bytes lib/src/test/tokenizer.test.ts | 8 +- parsers/binding.gyp | 6 +- parsers/c | 2 +- parsers/c_sharp | 2 +- parsers/cpp | 2 +- parsers/index.js | 12 +- 8 files changed, 351 insertions(+), 16040 deletions(-) diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index f81f804eb..b34c9f872 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -1907,8 +1907,6 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'equals_value_clause', - '(', 'conditional_expression', '(', 'invocation_expression', @@ -1934,14 +1932,13 @@ Generated by [AVA](https://avajs.dev). '(', 'character_literal', '(', - 'character_literal_unescaped', + 'character_literal_content', ')', ')', '(', 'character_literal', '(', - 'character_literal_unescaped', - ')', + 'character_literal_content', ')', ')', ')', @@ -2059,13 +2056,7 @@ Generated by [AVA](https://avajs.dev). '(', 'lambda_expression', '(', - 'implicit_parameter_list', - '(', - 'parameter', - '(', - 'identifier', - ')', - ')', + 'implicit_parameter', ')', '(', 'invocation_expression', @@ -2188,12 +2179,9 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'equals_value_clause', - '(', 'string_literal', '(', - 'string_literal_fragment', - ')', + 'string_literal_content', ')', ')', ')', @@ -2228,14 +2216,11 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'equals_value_clause', - '(', 'identifier', ')', ')', ')', ')', - ')', '(', 'expression_statement', '(', @@ -2268,9 +2253,6 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'assignment_operator', - ')', - '(', 'invocation_expression', '(', 'identifier', @@ -2315,7 +2297,7 @@ Generated by [AVA](https://avajs.dev). '(', 'string_literal', '(', - 'string_literal_fragment', + 'string_literal_content', ')', ')', '(', @@ -2334,9 +2316,6 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'assignment_operator', - ')', - '(', 'invocation_expression', '(', 'identifier', @@ -2381,7 +2360,7 @@ Generated by [AVA](https://avajs.dev). '(', 'string_literal', '(', - 'string_literal_fragment', + 'string_literal_content', ')', ')', '(', @@ -6934,692 +6913,541 @@ Generated by [AVA](https://avajs.dev). ')', ] -## tokenizer works for elm +## tokenizer works for javascript > stable tokenization [ '(', - 'file', + 'program', '(', - 'module_declaration', + 'class_declaration', '(', - 'module', + 'identifier', ')', '(', - 'upper_case_qid', - '(', - 'upper_case_identifier', - ')', - ')', + 'class_body', '(', - 'exposing_list', + 'method_definition', '(', - 'exposing', + 'property_identifier', ')', '(', - 'exposed_value', + 'formal_parameters', '(', - 'lower_case_identifier', - ')', + 'identifier', ')', '(', - 'exposed_value', - '(', - 'lower_case_identifier', - ')', - ')', - ')', + 'identifier', ')', - '(', - 'type_annotation', - '(', - 'lower_case_identifier', ')', '(', - 'colon', - ')', + 'statement_block', '(', - 'type_expression', + 'expression_statement', '(', - 'type_ref', + 'assignment_expression', '(', - 'upper_case_qid', + 'member_expression', '(', - 'upper_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'arrow', + 'binary_expression', + '(', + 'identifier', ')', '(', - 'type_ref', + 'array', + '(', + 'spread_element', '(', - 'upper_case_qid', + 'call_expression', '(', - 'upper_case_identifier', - ')', - ')', - ')', + 'member_expression', '(', - 'arrow', - ')', + 'new_expression', '(', - 'type_ref', + 'identifier', + ')', '(', - 'upper_case_qid', + 'arguments', '(', - 'upper_case_identifier', + 'number', ')', ')', ')', + '(', + 'property_identifier', ')', ')', '(', - 'value_declaration', - '(', - 'function_declaration_left', - '(', - 'lower_case_identifier', + 'arguments', ')', - '(', - 'lower_pattern', - '(', - 'lower_case_identifier', ')', ')', - '(', - 'lower_pattern', - '(', - 'lower_case_identifier', ')', ')', ')', - '(', - 'eq', ')', '(', - 'if_else_expr', + 'if_statement', '(', - 'function_call_expr', + 'parenthesized_expression', '(', - 'value_expr', + 'binary_expression', '(', - 'value_qid', + 'member_expression', '(', - 'upper_case_identifier', - ')', + 'member_expression', '(', - 'dot', + 'this', ')', '(', - 'lower_case_identifier', - ')', + 'property_identifier', ')', ')', '(', - 'value_expr', - '(', - 'value_qid', - '(', - 'lower_case_identifier', - ')', - ')', + 'property_identifier', ')', ')', '(', - 'let_in_expr', - '(', - 'value_declaration', - '(', - 'function_declaration_left', - '(', - 'lower_case_identifier', + 'number', ')', ')', - '(', - 'eq', ')', '(', - 'if_else_expr', - '(', - 'function_call_expr', + 'statement_block', '(', - 'value_expr', + 'throw_statement', '(', - 'value_qid', + 'string', '(', - 'upper_case_identifier', + 'string_fragment', ')', - '(', - 'dot', ')', - '(', - 'lower_case_identifier', ')', ')', ')', '(', - 'value_expr', - '(', - 'value_qid', + 'for_statement', '(', - 'lower_case_identifier', - ')', - ')', - ')', - ')', + 'lexical_declaration', '(', - 'number_constant_expr', + 'variable_declarator', '(', - 'number_literal', - ')', + 'identifier', ')', '(', - 'number_constant_expr', - '(', - 'number_literal', - ')', + 'number', ')', ')', ')', '(', - 'value_declaration', + 'expression_statement', '(', - 'function_declaration_left', + 'binary_expression', '(', - 'lower_case_identifier', - ')', + 'identifier', ')', '(', - 'eq', + 'number', ')', - '(', - 'bin_op_expr', - '(', - 'function_call_expr', - '(', - 'value_expr', - '(', - 'value_qid', - '(', - 'upper_case_identifier', ')', - '(', - 'dot', ')', '(', - 'lower_case_identifier', - ')', + 'update_expression', + '(', + 'identifier', ')', ')', '(', - 'value_expr', + 'statement_block', '(', - 'value_qid', + 'if_statement', '(', - 'lower_case_identifier', - ')', - ')', - ')', - ')', + 'parenthesized_expression', '(', - 'operator', + 'unary_expression', '(', - 'operator_identifier', - ')', - ')', + 'call_expression', '(', - 'value_expr', + 'member_expression', '(', - 'value_qid', + 'member_expression', '(', - 'lower_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'operator', - '(', - 'operator_identifier', + 'property_identifier', ')', ')', '(', - 'value_expr', - '(', - 'value_qid', + 'arguments', '(', - 'lower_case_identifier', + 'identifier', ')', ')', ')', ')', ')', '(', - 'function_call_expr', + 'statement_block', '(', - 'value_expr', + 'throw_statement', '(', - 'value_qid', + 'string', '(', - 'upper_case_identifier', + 'string_fragment', + ')', + ')', ')', - '(', - 'dot', ')', - '(', - 'lower_case_identifier', ')', ')', ')', '(', - 'parenthesized_expr', - '(', - 'bin_op_expr', + 'expression_statement', '(', - 'value_expr', + 'assignment_expression', '(', - 'value_qid', + 'member_expression', '(', - 'lower_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'operator', + 'binary_expression', '(', - 'operator_identifier', - ')', + 'identifier', ')', '(', - 'function_call_expr', + 'parenthesized_expression', '(', - 'value_expr', + 'arrow_function', '(', - 'value_qid', + 'formal_parameters', '(', - 'lower_case_identifier', - ')', - ')', + 'identifier', ')', '(', - 'number_constant_expr', - '(', - 'number_literal', + 'identifier', ')', ')', '(', - 'value_expr', + 'binary_expression', + '(', + 'parenthesized_expression', '(', - 'value_qid', + 'binary_expression', '(', - 'lower_case_identifier', + 'identifier', ')', + '(', + 'identifier', ')', ')', ')', + '(', + 'number', ')', ')', ')', ')', - '(', - 'value_expr', - '(', - 'value_qid', - '(', - 'lower_case_identifier', ')', ')', ')', ')', ')', '(', - 'type_annotation', - '(', - 'lower_case_identifier', - ')', + 'method_definition', '(', - 'colon', + 'property_identifier', ')', '(', - 'type_expression', - '(', - 'type_ref', - '(', - 'upper_case_qid', + 'formal_parameters', '(', - 'upper_case_identifier', - ')', + 'identifier', ')', ')', '(', - 'arrow', - ')', + 'statement_block', '(', - 'type_ref', + 'lexical_declaration', '(', - 'upper_case_qid', + 'variable_declarator', '(', - 'upper_case_identifier', - ')', + 'identifier', ')', '(', - 'type_ref', - '(', - 'upper_case_qid', - '(', - 'upper_case_identifier', + 'number', ')', ')', ')', + '(', + 'for_in_statement', + '(', + 'identifier', ')', '(', - 'arrow', + 'identifier', ')', '(', - 'type_ref', + 'statement_block', + '(', + 'expression_statement', '(', - 'upper_case_qid', + 'assignment_expression', '(', - 'upper_case_identifier', - ')', + 'identifier', ')', '(', - 'type_ref', + 'subscript_expression', '(', - 'upper_case_qid', + 'member_expression', '(', - 'upper_case_identifier', - ')', - ')', - ')', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'value_declaration', + 'call_expression', '(', - 'function_declaration_left', + 'member_expression', '(', - 'lower_case_identifier', + 'this', ')', '(', - 'lower_pattern', - '(', - 'lower_case_identifier', + 'property_identifier', ')', ')', '(', - 'lower_pattern', + 'arguments', '(', - 'lower_case_identifier', - ')', - ')', + 'identifier', ')', '(', - 'eq', - ')', + 'call_expression', '(', - 'case_of_expr', + 'member_expression', '(', - 'case', + 'identifier', ')', '(', - 'value_expr', + 'property_identifier', + ')', + ')', '(', - 'value_qid', + 'arguments', '(', - 'lower_case_identifier', + 'number', + ')', ')', ')', ')', - '(', - 'of', ')', - '(', - 'case_of_branch', - '(', - 'pattern', - '(', - 'list_pattern', ')', ')', - '(', - 'arrow', ')', - '(', - 'list_expr', ')', ')', '(', - 'case_of_branch', - '(', - 'pattern', - '(', - 'cons_pattern', - '(', - 'lower_pattern', + 'return_statement', '(', - 'lower_case_identifier', + 'identifier', ')', ')', - '(', - 'lower_pattern', - '(', - 'lower_case_identifier', ')', ')', ')', ')', '(', - 'arrow', - ')', - '(', - 'bin_op_expr', - '(', - 'function_call_expr', - '(', - 'value_expr', - '(', - 'value_qid', + 'class_declaration', '(', - 'lower_case_identifier', - ')', - ')', + 'identifier', ')', '(', - 'value_expr', + 'class_body', '(', - 'value_qid', + 'method_definition', '(', - 'lower_case_identifier', - ')', - ')', + 'property_identifier', ')', '(', - 'value_expr', - '(', - 'value_qid', + 'formal_parameters', '(', - 'lower_case_identifier', - ')', - ')', - ')', + 'identifier', ')', '(', - 'operator', + 'identifier', + ')', '(', - 'operator_identifier', + 'identifier', ')', ')', '(', - 'function_call_expr', + 'statement_block', + '(', + 'expression_statement', '(', - 'value_expr', + 'assignment_expression', '(', - 'value_qid', + 'member_expression', '(', - 'lower_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'value_expr', - '(', - 'value_qid', + 'binary_expression', '(', - 'lower_case_identifier', - ')', - ')', + 'identifier', ')', '(', - 'value_expr', - '(', - 'value_qid', + 'new_expression', '(', - 'lower_case_identifier', - ')', - ')', + 'identifier', ')', + '(', + 'arguments', ')', ')', ')', ')', ')', '(', - 'type_annotation', + 'expression_statement', + '(', + 'assignment_expression', '(', - 'lower_case_identifier', - ')', + 'member_expression', '(', - 'colon', + 'this', ')', '(', - 'type_expression', + 'property_identifier', + ')', + ')', '(', - 'type_ref', + 'binary_expression', '(', - 'upper_case_qid', + 'identifier', + ')', '(', - 'upper_case_identifier', + 'null', ')', ')', ')', - '(', - 'arrow', ')', '(', - 'type_ref', + 'expression_statement', + '(', + 'assignment_expression', '(', - 'upper_case_qid', + 'member_expression', '(', - 'upper_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', '(', - 'arrow', - ')', + 'binary_expression', '(', - 'type_ref', + 'identifier', + ')', '(', - 'upper_case_qid', + 'string', '(', - 'upper_case_identifier', + 'string_fragment', ')', ')', ')', ')', ')', '(', - 'value_declaration', - '(', - 'function_declaration_left', + 'expression_statement', '(', - 'lower_case_identifier', - ')', + 'assignment_expression', '(', - 'lower_pattern', + 'member_expression', '(', - 'lower_case_identifier', - ')', + 'this', ')', '(', - 'lower_pattern', - '(', - 'lower_case_identifier', - ')', - ')', + 'property_identifier', ')', - '(', - 'eq', ')', '(', - 'function_call_expr', + 'call_expression', '(', - 'value_expr', + 'member_expression', '(', - 'value_qid', + 'member_expression', '(', - 'upper_case_identifier', + 'this', ')', '(', - 'dot', + 'property_identifier', ')', - '(', - 'lower_case_identifier', ')', + '(', + 'property_identifier', ')', ')', '(', - 'parenthesized_expr', + 'arguments', '(', - 'function_call_expr', + 'template_string', '(', - 'value_expr', + 'template_substitution', '(', - 'value_qid', + 'member_expression', '(', - 'lower_case_identifier', - ')', - ')', + 'this', ')', '(', - 'value_expr', - '(', - 'value_qid', - '(', - 'lower_case_identifier', + 'property_identifier', ')', ')', ')', '(', - 'parenthesized_expr', - '(', - 'function_call_expr', - '(', - 'value_expr', - '(', - 'value_qid', + 'template_substitution', '(', - 'upper_case_identifier', - ')', + 'member_expression', '(', - 'dot', + 'this', ')', '(', - 'lower_case_identifier', + 'property_identifier', ')', ')', ')', '(', - 'value_expr', + 'template_substitution', '(', - 'value_qid', + 'member_expression', '(', - 'lower_case_identifier', + 'this', ')', + '(', + 'property_identifier', ')', ')', ')', @@ -7628,15833 +7456,316 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'type_annotation', - '(', - 'lower_case_identifier', ')', - '(', - 'colon', ')', '(', - 'type_expression', + 'method_definition', '(', - 'type_ref', + 'property_identifier', + ')', '(', - 'upper_case_qid', + 'formal_parameters', '(', - 'upper_case_identifier', - ')', + 'identifier', ')', ')', '(', - 'arrow', - ')', + 'statement_block', '(', - 'type_ref', + 'throw_statement', '(', - 'upper_case_qid', + 'string', '(', - 'upper_case_identifier', + 'string_fragment', ')', ')', ')', ')', ')', '(', - 'value_declaration', - '(', - 'function_declaration_left', + 'method_definition', '(', - 'lower_case_identifier', - ')', + 'property_identifier', ')', '(', - 'eq', + 'formal_parameters', ')', '(', - 'function_call_expr', - '(', - 'value_expr', + 'statement_block', '(', - 'value_qid', + 'return_statement', '(', - 'lower_case_identifier', - ')', - ')', - ')', + 'ternary_expression', '(', - 'number_constant_expr', + 'member_expression', '(', - 'number_literal', - ')', - ')', + 'this', ')', + '(', + 'property_identifier', ')', ')', - ] - -## tokenizer works for java - -> stable tokenization - - [ '(', - 'program', + 'binary_expression', '(', - 'line_comment', - ')', + 'member_expression', '(', - 'class_declaration', + 'member_expression', '(', - 'modifiers', + 'this', ')', '(', - 'identifier', + 'property_identifier', ')', - '(', - 'class_body', - '(', - 'method_declaration', - '(', - 'modifiers', ')', '(', - 'void_type', + 'property_identifier', ')', - '(', - 'identifier', ')', '(', - 'formal_parameters', - '(', - 'formal_parameter', - '(', - 'array_type', - '(', - 'type_identifier', + 'number', + ')', ')', '(', - 'dimensions', + 'number', ')', ')', - '(', - 'identifier', ')', ')', ')', '(', - 'block', - '(', - 'local_variable_declaration', + 'method_definition', '(', - 'type_identifier', + 'property_identifier', ')', '(', - 'variable_declarator', + 'formal_parameters', '(', 'identifier', ')', + ')', '(', - 'string_literal', + 'statement_block', + '(', + 'throw_statement', + '(', + 'string', '(', 'string_fragment', ')', ')', ')', ')', + ')', '(', - 'expression_statement', - '(', - 'method_invocation', - '(', - 'field_access', + 'method_definition', '(', - 'identifier', + 'property_identifier', ')', '(', - 'identifier', - ')', + 'formal_parameters', ')', '(', - 'identifier', - ')', + 'statement_block', '(', - 'argument_list', + 'return_statement', '(', - 'method_invocation', + 'ternary_expression', '(', - 'identifier', + 'member_expression', + '(', + 'this', ')', '(', - 'identifier', + 'property_identifier', + ')', ')', '(', - 'argument_list', + 'member_expression', '(', - 'identifier', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', ')', '(', - 'decimal_integer_literal', + 'property_identifier', ')', ')', + '(', + 'number', + ')', ')', ')', ')', ')', '(', - 'expression_statement', - '(', - 'method_invocation', - '(', - 'field_access', + 'method_definition', '(', - 'identifier', + 'property_identifier', ')', '(', + 'formal_parameters', + '(', 'identifier', ')', ')', '(', - 'identifier', - ')', + 'statement_block', '(', - 'argument_list', + 'return_statement', '(', - 'method_invocation', + 'new_expression', '(', 'identifier', ')', '(', - 'identifier', - ')', + 'arguments', '(', - 'argument_list', + 'member_expression', '(', - 'method_invocation', + 'this', + ')', '(', - 'identifier', + 'property_identifier', + ')', ')', '(', - 'identifier', + 'this', ')', '(', - 'argument_list', - '(', 'identifier', ')', - '(', - 'decimal_integer_literal', - ')', - ')', - ')', - '(', - 'decimal_integer_literal', - ')', ')', ')', ')', ')', ')', - ')', - ')', - '(', - 'method_declaration', '(', - 'modifiers', - ')', - '(', - 'type_identifier', - ')', + 'method_definition', '(', - 'identifier', + 'property_identifier', ')', '(', 'formal_parameters', - '(', - 'formal_parameter', - '(', - 'type_identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'formal_parameter', - '(', - 'integral_type', - ')', - '(', - 'identifier', - ')', - ')', ')', '(', - 'block', + 'statement_block', '(', 'return_statement', '(', - 'method_invocation', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', + 'parenthesized_expression', '(', 'binary_expression', '(', - 'decimal_integer_literal', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_declaration', - '(', - 'modifiers', - ')', - '(', - 'type_identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'formal_parameters', - '(', - 'formal_parameter', - '(', - 'type_identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'formal_parameter', - '(', - 'integral_type', - ')', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'block', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'identifier', - ')', + 'parenthesized_expression', '(', 'binary_expression', '(', - 'binary_expression', + 'unary_expression', '(', - 'identifier', - ')', + 'member_expression', '(', - 'decimal_integer_literal', - ')', + 'this', ')', '(', - 'decimal_integer_literal', - ')', - ')', + 'property_identifier', ')', ')', - '(', - 'local_variable_declaration', - '(', - 'type_identifier', ')', '(', - 'variable_declarator', + 'call_expression', '(', - 'identifier', - ')', + 'member_expression', '(', - 'object_creation_expression', + 'member_expression', '(', - 'type_identifier', + 'this', ')', '(', - 'argument_list', - ')', - ')', + 'property_identifier', ')', ')', '(', - 'enhanced_for_statement', - '(', - 'integral_type', + 'property_identifier', ')', - '(', - 'identifier', ')', '(', - 'method_invocation', - '(', - 'identifier', + 'arguments', ')', - '(', - 'identifier', ')', - '(', - 'argument_list', ')', ')', '(', - 'block', - '(', - 'if_statement', - '(', - 'condition', - '(', - 'method_invocation', + 'binary_expression', '(', - 'identifier', - ')', + 'member_expression', '(', - 'identifier', + 'this', ')', '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', + 'property_identifier', ')', ')', '(', - 'block', - '(', - 'if_statement', - '(', - 'condition', - '(', - 'method_invocation', - '(', - 'identifier', - ')', + 'call_expression', '(', - 'identifier', - ')', + 'member_expression', '(', - 'argument_list', + 'member_expression', '(', - 'identifier', - ')', - ')', - ')', + 'this', ')', '(', - 'block', - '(', - 'expression_statement', - '(', - 'method_invocation', - '(', - 'identifier', + 'property_identifier', ')', - '(', - 'identifier', ')', '(', - 'argument_list', - '(', - 'cast_expression', - '(', - 'integral_type', + 'property_identifier', ')', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'character_literal', ')', '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', + 'arguments', '(', - 'binary_expression', + 'template_string', '(', - 'identifier', - ')', + 'template_substitution', '(', - 'character_literal', - ')', - ')', + 'member_expression', '(', - 'identifier', - ')', - ')', + 'this', ')', '(', - 'decimal_integer_literal', - ')', - ')', - ')', - ')', - ')', - ')', + 'property_identifier', ')', ')', ')', '(', - 'block', - '(', - 'expression_statement', + 'template_substitution', '(', - 'method_invocation', + 'member_expression', '(', - 'identifier', + 'this', ')', '(', - 'identifier', + 'property_identifier', ')', - '(', - 'argument_list', - '(', - 'cast_expression', - '(', - 'integral_type', ')', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'character_literal', ')', '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'identifier', - ')', + 'template_substitution', '(', - 'character_literal', - ')', - ')', + 'member_expression', '(', - 'identifier', - ')', - ')', - ')', - '(', - 'decimal_integer_literal', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'block', - '(', - 'expression_statement', - '(', - 'method_invocation', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'method_invocation', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'argument_list', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for javascript - -> stable tokenization - - [ - '(', - 'program', - '(', - 'class_declaration', - '(', - 'identifier', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'array', - '(', - 'spread_element', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'new_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'number', - ')', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'statement_block', - '(', - 'throw_statement', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - '(', - 'for_statement', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'update_expression', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'unary_expression', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', + 'this', ')', '(', 'property_identifier', ')', ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'statement_block', - '(', - 'throw_statement', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'parenthesized_expression', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'for_in_statement', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'identifier', - ')', - '(', - 'subscript_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'class_declaration', - '(', - 'identifier', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'new_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'null', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'template_string', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'throw_statement', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'ternary_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'throw_statement', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'ternary_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - '(', - 'identifier', - ')', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'new_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'this', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'unary_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - ')', - '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'template_string', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for python - -> stable tokenization - - [ - '(', - 'module', - '(', - 'comment', - ')', - '(', - 'function_definition', - '(', - 'identifier', - ')', - '(', - 'parameters', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'default_parameter', - '(', - 'identifier', - ')', - '(', - 'false', - ')', - ')', - ')', - '(', - 'block', - '(', - 'if_statement', - '(', - 'identifier', - ')', - '(', - 'block', - '(', - 'expression_statement', - '(', - 'assignment', - '(', - 'identifier', - ')', - '(', - 'binary_operator', - '(', - 'integer', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'call', - '(', - 'attribute', - '(', - 'string', - '(', - 'string_start', - ')', - '(', - 'string_end', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'argument_list', - '(', - 'list_comprehension', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'binary_operator', - '(', - 'binary_operator', - '(', - 'parenthesized_expression', - '(', - 'binary_operator', - '(', - 'binary_operator', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'integer', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'integer', - ')', - ')', - '(', - 'integer', - ')', - ')', - ')', - ')', - '(', - 'for_in_clause', - '(', - 'identifier', - ')', - '(', - 'call', - '(', - 'attribute', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'argument_list', - ')', - ')', - ')', - '(', - 'if_clause', - '(', - 'boolean_operator', - '(', - 'comparison_operator', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'integer', - ')', - ')', - '(', - 'comparison_operator', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'integer', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment', - '(', - 'identifier', - ')', - '(', - 'string', - '(', - 'string_start', - ')', - '(', - 'string_content', - ')', - '(', - 'string_end', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment', - '(', - 'identifier', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - '(', - 'integer', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'argument_list', - '(', - 'identifier', - ')', - '(', - 'integer', - ')', - '(', - 'keyword_argument', - '(', - 'identifier', - ')', - '(', - 'true', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for php - -> stable tokenization - - [ - '(', - 'program', - '(', - 'php_tag', - ')', - '(', - 'function_definition', - '(', - 'name', - ')', - '(', - 'formal_parameters', - '(', - 'simple_parameter', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - '(', - 'simple_parameter', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - '(', - 'compound_statement', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'encapsed_string', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - '(', - 'string_value', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - '(', - 'string_value', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'while_statement', - '(', - 'parenthesized_expression', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'compound_statement', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - '(', - 'binary_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - '(', - 'compound_statement', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - '(', - 'integer', - ')', - ')', - ')', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - '(', - 'argument', - '(', - 'integer', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'augmented_assignment_expression', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'variable_name', - '(', - 'name', - ')', - ')', - ')', - ')', - ')', - '(', - 'echo_statement', - '(', - 'sequence_expression', - '(', - 'function_call_expression', - '(', - 'name', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'encapsed_string', - '(', - 'string_value', - ')', - ')', - ')', - '(', - 'argument', - '(', - 'integer', - ')', - ')', - ')', - ')', - '(', - 'encapsed_string', - '(', - 'escape_sequence', - ')', - ')', - ')', - ')', - '(', - 'text_interpolation', - ')', - ')', - ] - -## tokenizer works for modelica - -> stable tokenization - - [ - '(', - 'stored_definitions', - '(', - 'stored_definition', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'import_clause', - '(', - 'name', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'named_element', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'logical_literal_expression', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'equation_section', - '(', - 'equation_list', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_real_literal_expression', - '(', - 'UNSIGNED_REAL', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'equation_section', - '(', - 'equation_list', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'description_string', - '(', - 'STRING', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'string_literal_expression', - '(', - 'STRING', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'description_string', - '(', - 'STRING', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_real_literal_expression', - '(', - 'UNSIGNED_REAL', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'equation_section', - '(', - 'equation_list', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_equation', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'function_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'binary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'function_application', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'function_call_args', - '(', - 'named_arguments', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_argument', - '(', - 'IDENT', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'string_literal_expression', - '(', - 'STRING', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'class_definition', - '(', - 'class_prefixes', - ')', - '(', - 'long_class_specifier', - '(', - 'IDENT', - ')', - '(', - 'element_list', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'logical_literal_expression', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'logical_literal_expression', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'named_element', - '(', - 'component_clause', - '(', - 'type_specifier', - '(', - 'name', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - '(', - 'component_list', - '(', - 'component_declaration', - '(', - 'declaration', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'logical_literal_expression', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'equation_section', - '(', - 'equation_list', - '(', - 'connect_clause', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'connect_clause', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'connect_clause', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'connect_clause', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'component_reference', - '(', - 'component_reference', - '(', - 'IDENT', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - '(', - 'annotation_clause', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'class_modification', - '(', - 'argument_list', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'unary_expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'element_modification', - '(', - 'name', - '(', - 'IDENT', - ')', - ')', - '(', - 'modification', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'array_constructor', - '(', - 'array_arguments', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'simple_expression', - '(', - 'primary_expression', - '(', - 'literal_expression', - '(', - 'unsigned_integer_literal_expression', - '(', - 'UNSIGNED_INTEGER', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - '(', - 'IDENT', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for r - -> stable tokenization - - [ - '(', - 'program', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'function', - '(', - 'parameters', - '(', - 'parameter', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'parameter', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'block', - '(', - 'comment', - ')', - '(', - 'if', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'block', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'float', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - ')', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - ')', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'float', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'float', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'string', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'call', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'argument', - '(', - 'string', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - ')', - '(', - 'comma', - ')', - '(', - 'argument', - '(', - 'identifier', - ')', - '(', - 'string', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for scala - -> stable tokenization - - [ - '(', - 'compilation_unit', - '(', - 'object_definition', - '(', - 'identifier', - ')', - '(', - 'template_body', - '(', - 'val_definition', - '(', - 'modifiers', - '(', - 'access_modifier', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'infix_expression', - '(', - 'character_literal', - ')', - '(', - 'identifier', - ')', - '(', - 'character_literal', - ')', - ')', - ')', - '(', - 'val_definition', - '(', - 'modifiers', - '(', - 'access_modifier', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'infix_expression', - '(', - 'character_literal', - ')', - '(', - 'identifier', - ')', - '(', - 'character_literal', - ')', - ')', - ')', - '(', - 'function_definition', - '(', - 'identifier', - ')', - '(', - 'parameters', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'case_block', - '(', - 'case_clause', - '(', - 'identifier', - ')', - '(', - 'guard', - '(', - 'call_expression', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'case_clause', - '(', - 'identifier', - ')', - '(', - 'guard', - '(', - 'call_expression', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'case_clause', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'function_definition', - '(', - 'identifier', - ')', - '(', - 'parameters', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'prefix_expression', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'function_definition', - '(', - 'modifiers', - '(', - 'access_modifier', - ')', - ')', - '(', - 'identifier', - ')', - '(', - 'parameters', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'generic_type', - '(', - 'type_identifier', - ')', - '(', - 'type_arguments', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - '(', - 'parameter', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'infix_expression', - '(', - 'parenthesized_expression', - '(', - 'infix_expression', - '(', - 'infix_expression', - '(', - 'infix_expression', - '(', - 'identifier', - ')', - '(', - 'operator_identifier', - ')', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'operator_identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'operator_identifier', - ')', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'operator_identifier', - ')', - '(', - 'field_expression', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for sql - -> stable tokenization - - [ - '(', - 'program', - '(', - 'statement', - '(', - 'create_table', - '(', - 'keyword_create', - ')', - '(', - 'keyword_table', - ')', - '(', - 'keyword_if', - ')', - '(', - 'keyword_not', - ')', - '(', - 'keyword_exists', - ')', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'column_definitions', - '(', - 'column_definition', - '(', - 'identifier', - ')', - '(', - 'bigint', - '(', - 'keyword_bigint', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'keyword_not', - ')', - '(', - 'keyword_null', - ')', - '(', - 'keyword_auto_increment', - ')', - ')', - '(', - 'column_definition', - '(', - 'identifier', - ')', - '(', - 'bigint', - '(', - 'keyword_bigint', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'keyword_default', - ')', - '(', - 'literal', - '(', - 'keyword_null', - ')', - ')', - ')', - '(', - 'column_definition', - '(', - 'identifier', - ')', - '(', - 'varchar', - '(', - 'keyword_varchar', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'keyword_default', - ')', - '(', - 'literal', - '(', - 'keyword_null', - ')', - ')', - ')', - '(', - 'column_definition', - '(', - 'identifier', - ')', - '(', - 'keyword_datetime', - ')', - '(', - 'keyword_default', - ')', - '(', - 'literal', - '(', - 'keyword_null', - ')', - ')', - ')', - '(', - 'constraints', - '(', - 'constraint', - '(', - 'keyword_primary', - ')', - '(', - 'keyword_key', - ')', - '(', - 'ordered_columns', - '(', - 'column', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'constraint', - '(', - 'keyword_key', - ')', - '(', - 'identifier', - ')', - '(', - 'ordered_columns', - '(', - 'column', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'constraint', - '(', - 'keyword_key', - ')', - '(', - 'identifier', - ')', - '(', - 'ordered_columns', - '(', - 'column', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'constraint', - '(', - 'keyword_key', - ')', - '(', - 'identifier', - ')', - '(', - 'ordered_columns', - '(', - 'column', - '(', - 'identifier', - ')', - ')', - '(', - 'column', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'statement', - '(', - 'select', - '(', - 'keyword_select', - ')', - '(', - 'select_expression', - '(', - 'term', - '(', - 'all_fields', - ')', - ')', - ')', - ')', - '(', - 'from', - '(', - 'keyword_from', - ')', - '(', - 'relation', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'where', - '(', - 'keyword_where', - ')', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'keyword_and', - ')', - '(', - 'binary_expression', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'literal', - ')', - ')', - ')', - '(', - 'keyword_or', - ')', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'keyword_and', - ')', - '(', - 'ERROR', - '(', - 'object_reference', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'keyword_table', - ')', - '(', - 'keyword_if', - ')', - '(', - 'keyword_exists', - ')', - '(', - 'keyword_add', - ')', - '(', - 'keyword_column', - ')', - '(', - 'keyword_if', - ')', - ')', - '(', - 'unary_expression', - '(', - 'keyword_not', - ')', - '(', - 'ERROR', - '(', - 'keyword_exists', - ')', - '(', - 'keyword_date', - ')', - '(', - 'keyword_alter', - ')', - '(', - 'keyword_column', - ')', - '(', - 'keyword_drop', - ')', - ')', - '(', - 'unary_expression', - '(', - 'keyword_not', - ')', - '(', - 'literal', - '(', - 'keyword_null', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - '(', - 'comment', - ')', - '(', - 'keyword_drop', - ')', - '(', - 'keyword_column', - ')', - '(', - 'keyword_if', - ')', - '(', - 'keyword_exists', - ')', - ')', - '(', - 'statement', - '(', - 'update', - '(', - 'keyword_update', - ')', - '(', - 'relation', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'keyword_as', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'keyword_set', - ')', - '(', - 'assignment', - '(', - 'field', - '(', - 'identifier', - ')', - ')', - '(', - 'literal', - ')', - ')', - '(', - 'from', - '(', - 'keyword_from', - ')', - '(', - 'relation', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'join', - '(', - 'keyword_inner', - ')', - '(', - 'keyword_join', - ')', - '(', - 'relation', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'keyword_on', - ')', - '(', - 'binary_expression', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'where', - '(', - 'keyword_where', - ')', - '(', - 'binary_expression', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'field', - '(', - 'object_reference', - '(', - 'identifier', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for tsx - -> stable tokenization - - [ - '(', - 'program', - '(', - 'comment', - ')', - '(', - 'interface_declaration', - '(', - 'type_identifier', - ')', - '(', - 'object_type', - ')', - ')', - '(', - 'class_declaration', - '(', - 'type_identifier', - ')', - '(', - 'class_heritage', - '(', - 'extends_clause', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'type_arguments', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'super', - ')', - '(', - 'arguments', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'object', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'array', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'object', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'false', - ')', - ')', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'object', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'this', - ')', - ')', - ')', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - '(', - 'type_annotation', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'object', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - ')', - '(', - 'jsx_text', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'jsx_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'jsx_expression', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'class_declaration', - '(', - 'type_identifier', - ')', - '(', - 'class_heritage', - '(', - 'extends_clause', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'type_arguments', - '(', - 'type_identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'arrow_function', - '(', - 'identifier', - ')', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'jsx_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'jsx_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_expression', - '(', - 'identifier', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'empty_statement', - ')', - '(', - 'class_declaration', - '(', - 'type_identifier', - ')', - '(', - 'class_heritage', - '(', - 'extends_clause', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'type_arguments', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'function_type', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - '(', - 'type_annotation', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - '(', - 'type_annotation', - '(', - 'nested_type_identifier', - '(', - 'identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'parenthesized_expression', - '(', - 'as_expression', - '(', - 'as_expression', - '(', - 'subscript_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'predefined_type', - ')', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - ')', - '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'parenthesized_expression', - '(', - 'as_expression', - '(', - 'as_expression', - '(', - 'subscript_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'predefined_type', - ')', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - ')', - ')', - ')', - ')', - '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - '(', - 'statement_block', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'object', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'pair', - '(', - 'property_identifier', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'jsx_expression', - '(', - 'identifier', - ')', - ')', - ')', - ')', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'empty_statement', - ')', - '(', - 'interface_declaration', - '(', - 'type_identifier', - ')', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - ')', - '(', - 'class_declaration', - '(', - 'type_identifier', - ')', - '(', - 'class_heritage', - '(', - 'extends_clause', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'type_arguments', - '(', - 'type_identifier', - ')', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - '(', - 'class_body', - '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'jsx_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'jsx_expression', - '(', - 'member_expression', - '(', - 'member_expression', - '(', - 'this', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'interface_declaration', - '(', - 'type_identifier', - ')', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - ')', - '(', - 'interface_declaration', - '(', - 'type_identifier', - ')', - '(', - 'object_type', - '(', - 'property_signature', - '(', - 'property_identifier', - ')', - '(', - 'type_annotation', - '(', - 'generic_type', - '(', - 'type_identifier', - ')', - '(', - 'type_arguments', - '(', - 'type_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'jsx_self_closing_element', - '(', - 'identifier', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', - ')', - '(', - 'jsx_expression', - '(', - 'number', - ')', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for typescript - -> stable tokenization - - [ - '(', - 'program', - '(', - 'function_declaration', - '(', - 'identifier', - ')', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - ')', - ')', - '(', - 'type_annotation', - '(', - 'predefined_type', - ')', - ')', - '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'regex', - '(', - 'regex_pattern', - ')', - '(', - 'regex_flags', - ')', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'number', - ')', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'regex', - '(', - 'regex_pattern', - ')', - '(', - 'regex_flags', - ')', - ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', - ')', - ')', - ')', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'number', - ')', - ')', - ')', - '(', - 'identifier', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - '(', - 'number', - ')', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'variable_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - ')', - ')', - '(', - 'variable_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - '(', - 'variable_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', - ')', - '(', - 'call_expression', - '(', - 'identifier', - ')', - '(', - 'arguments', - '(', - 'identifier', - ')', - '(', - 'unary_expression', - '(', - 'number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', - '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'string', - '(', - 'string_fragment', - ')', - ')', - '(', - 'identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ] - -## tokenizer works for verilog - -> stable tokenization - - [ - '(', - 'source_file', - '(', - 'comment', - ')', - '(', - 'package_declaration', - '(', - 'package_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'zero_directive', - ')', - '(', - 'zero_directive', - ')', - '(', - 'include_compiler_directive', - '(', - 'double_quoted_string', - ')', - ')', - '(', - 'id_directive', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'text_macro_definition', - '(', - 'text_macro_name', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'macro_text', - ')', - ')', - '(', - 'text_macro_definition', - '(', - 'text_macro_name', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'macro_text', - ')', - ')', - '(', - 'text_macro_definition', - '(', - 'text_macro_name', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'macro_text', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_nonansi_header', - '(', - 'list_of_ports', - '(', - 'port', - '(', - 'port_reference', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'port', - '(', - 'port_reference', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'port', - '(', - 'port_reference', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'port', - '(', - 'port_reference', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'package_or_generate_item_declaration', - '(', - 'parameter_declaration', - '(', - 'list_of_param_assignments', - '(', - 'param_assignment', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_param_expression', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'package_or_generate_item_declaration', - '(', - 'parameter_declaration', - '(', - 'list_of_param_assignments', - '(', - 'param_assignment', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_param_expression', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_declaration', - '(', - 'input_declaration', - '(', - 'net_port_type1', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'list_of_port_identifiers', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_declaration', - '(', - 'output_declaration', - '(', - 'list_of_port_identifiers', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_declaration', - '(', - 'output_declaration', - '(', - 'net_port_type1', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'list_of_port_identifiers', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_declaration', - '(', - 'input_declaration', - '(', - 'list_of_port_identifiers', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'package_or_generate_item_declaration', - '(', - 'net_declaration', - '(', - 'net_type', - ')', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'list_of_net_decl_assignments', - '(', - 'net_decl_assignment', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'net_decl_assignment', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'id_directive', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'id_directive', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'zero_directive', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'zero_directive', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'conditional_expression', - '(', - 'cond_predicate', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'text_macro_usage', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'list_of_actual_arguments', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'package_or_generate_item_declaration', - ')', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_nonansi_header', - '(', - 'list_of_ports', - '(', - 'ERROR', - '(', - 'ansi_port_declaration', - '(', - 'net_port_header1', - '(', - 'port_direction', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'line_compiler_directive', - '(', - 'unsigned_number', - ')', - '(', - 'double_quoted_string', - ')', - '(', - 'unsigned_number', - ')', - ')', - '(', - 'port', - '(', - 'port_reference', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_ansi_header', - '(', - 'list_of_port_declarations', - '(', - 'ansi_port_declaration', - '(', - 'net_port_header1', - '(', - 'port_direction', - ')', - '(', - 'net_port_type1', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'ansi_port_declaration', - '(', - 'net_port_header1', - '(', - 'port_direction', - ')', - '(', - 'net_port_type1', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'ansi_port_declaration', - '(', - 'net_port_header1', - '(', - 'port_direction', - ')', - '(', - 'net_port_type1', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'ansi_port_declaration', - '(', - 'net_port_header1', - '(', - 'port_direction', - ')', - ')', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'package_or_generate_item_declaration', - '(', - 'net_declaration', - '(', - 'net_type', - ')', - '(', - 'data_type_or_implicit1', - '(', - 'implicit_data_type1', - '(', - 'packed_dimension', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'list_of_net_decl_assignments', - '(', - 'net_decl_assignment', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'program_instantiation', - '(', - 'program_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'parameter_value_assignment', - '(', - 'list_of_parameter_assignments', - '(', - 'ordered_parameter_assignment', - '(', - '_ordered_parameter_assignment', - '(', - 'mintypmax_expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'hierarchical_instance', - '(', - 'name_of_instance', - '(', - 'instance_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'list_of_port_connections', - '(', - 'named_port_connection', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'named_port_connection', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'named_port_connection', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - ')', - '(', - 'named_port_connection', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'named_port_connection', - '(', - 'port_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'binary_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'program_instantiation', - '(', - 'program_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'parameter_value_assignment', - '(', - 'list_of_parameter_assignments', - '(', - 'ordered_parameter_assignment', - '(', - '_ordered_parameter_assignment', - '(', - 'mintypmax_expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'hierarchical_instance', - '(', - 'name_of_instance', - '(', - 'instance_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'list_of_port_connections', - '(', - 'ordered_port_connection', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'ordered_port_connection', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - ')', - '(', - 'comment', - ')', - '(', - 'ordered_port_connection', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - '(', - 'select1', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'ordered_port_connection', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'binary_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_nonansi_header', - '(', - 'parameter_port_list', - '(', - 'parameter_port_declaration', - '(', - 'parameter_declaration', - '(', - 'list_of_param_assignments', - '(', - 'param_assignment', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_param_expression', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'parameter_port_declaration', - '(', - 'parameter_declaration', - '(', - 'list_of_param_assignments', - '(', - 'param_assignment', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_param_expression', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'parameter_port_declaration', - '(', - 'parameter_declaration', - '(', - 'list_of_param_assignments', - '(', - 'param_assignment', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_param_expression', - '(', - 'constant_mintypmax_expression', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - ')', - '(', - 'list_of_ports', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_nonansi_header', - '(', - 'list_of_ports', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'always_construct', - '(', - 'always_keyword', - ')', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'blocking_assignment', - '(', - 'operator_assignment', - '(', - 'variable_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'assignment_operator', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - '(', - 'select1', - '(', - 'member_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'always_construct', - '(', - 'always_keyword', - ')', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'procedural_timing_control_statement', - '(', - 'event_control', - '(', - 'event_expression', - '(', - 'edge_identifier', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'statement_or_null', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'seq_block', - '(', - 'statement_or_null', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'clocking_drive', - '(', - 'clockvar_expression', - '(', - 'clockvar', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'select1', - '(', - 'member_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - '(', - 'clockvar_expression', - '(', - 'clockvar', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'select1', - '(', - 'member_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'statement_or_null', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'nonblocking_assignment', - '(', - 'variable_lvalue', - '(', - 'variable_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'variable_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'variable_lvalue', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'statement_or_null', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'clocking_drive', - '(', - 'clockvar_expression', - '(', - 'clockvar', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'simple_text_macro_usage', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'ERROR', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'unary_operator', - ')', - '(', - 'primary', - '(', - 'mintypmax_expression', - '(', - 'expression', - '(', - 'expression', - '(', - 'primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - '(', - 'constant_select1', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'parameter_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'ERROR', - '(', - 'casting_type', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'simple_text_macro_usage', - '(', - 'text_macro_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'function_subroutine_call', - '(', - 'subroutine_call', - '(', - 'system_tf_call', - '(', - 'system_tf_identifier', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'comment', - ')', - '(', - 'module_or_generate_item', - '(', - 'continuous_assign', - '(', - 'list_of_net_assignments', - '(', - 'net_assignment', - '(', - 'net_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'let_expression', - '(', - 'package_scope', - '(', - 'package_identifier', - '(', - 'simple_identifier', - ')', - ')', - ')', - '(', - 'simple_identifier', - ')', - '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'module_declaration', - '(', - 'module_header', - '(', - 'module_keyword', - ')', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'module_nonansi_header', - '(', - 'list_of_ports', - ')', - ')', - '(', - 'module_or_generate_item', - '(', - 'always_construct', - '(', - 'always_keyword', - ')', - '(', - 'statement', - '(', - 'statement_item', - '(', - 'blocking_assignment', - '(', - 'operator_assignment', - '(', - 'variable_lvalue', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'assignment_operator', - ')', - '(', - 'expression', - '(', - 'primary', - '(', - 'simple_identifier', - ')', - '(', - 'select1', - '(', - 'member_identifier', - '(', - 'simple_identifier', - ')', - ')', - '(', - 'constant_range', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'constant_expression', - '(', - 'constant_primary', - '(', - 'primary_literal', - '(', - 'integral_number', - '(', - 'decimal_number', - '(', - 'unsigned_number', - ')', - ')', - ')', - ')', - ')', ')', ')', ')', diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 6c9242daab9d421eda5e39ed07d38b07f83afd8a..0c6c486e88c1c992c9689292a1cb7570a4745b05 100644 GIT binary patch literal 40345 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 Date: Fri, 31 May 2024 10:53:40 +0200 Subject: [PATCH 04/10] Update java, php and python --- lib/src/test/snapshots/tokenizer.test.ts.md | 1851 ++++++++++++++--- lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 40345 -> 46846 bytes lib/src/test/tokenizer.test.ts | 6 +- parsers/binding.gyp | 6 +- parsers/index.js | 13 +- parsers/java | 2 +- parsers/php | 2 +- parsers/python | 2 +- 8 files changed, 1573 insertions(+), 309 deletions(-) diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index b34c9f872..3f94f667c 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -6913,7 +6913,7 @@ Generated by [AVA](https://avajs.dev). ')', ] -## tokenizer works for javascript +## tokenizer works for java > stable tokenization @@ -6921,192 +6921,155 @@ Generated by [AVA](https://avajs.dev). '(', 'program', '(', + 'line_comment', + ')', + '(', 'class_declaration', '(', + 'modifiers', + ')', + '(', 'identifier', ')', '(', 'class_body', '(', - 'method_definition', + 'method_declaration', '(', - 'property_identifier', + 'modifiers', ')', '(', - 'formal_parameters', - '(', - 'identifier', + 'void_type', ')', '(', 'identifier', ')', - ')', '(', - 'statement_block', - '(', - 'expression_statement', + 'formal_parameters', '(', - 'assignment_expression', + 'formal_parameter', '(', - 'member_expression', + 'array_type', '(', - 'this', + 'type_identifier', ')', '(', - 'property_identifier', + 'dimensions', ')', ')', '(', - 'binary_expression', - '(', 'identifier', ')', + ')', + ')', '(', - 'array', - '(', - 'spread_element', - '(', - 'call_expression', - '(', - 'member_expression', + 'block', '(', - 'new_expression', + 'local_variable_declaration', '(', - 'identifier', + 'type_identifier', ')', '(', - 'arguments', + 'variable_declarator', '(', - 'number', - ')', - ')', + 'identifier', ')', '(', - 'property_identifier', - ')', - ')', + 'string_literal', '(', - 'arguments', - ')', - ')', - ')', + 'string_fragment', ')', ')', ')', ')', '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', - '(', - 'member_expression', + 'expression_statement', '(', - 'member_expression', + 'method_invocation', '(', - 'this', - ')', + 'field_access', '(', - 'property_identifier', - ')', + 'identifier', ')', '(', - 'property_identifier', + 'identifier', ')', ')', '(', - 'number', - ')', - ')', + 'identifier', ')', '(', - 'statement_block', - '(', - 'throw_statement', + 'argument_list', '(', - 'string', + 'method_invocation', '(', - 'string_fragment', - ')', - ')', - ')', - ')', + 'identifier', ')', '(', - 'for_statement', - '(', - 'lexical_declaration', + 'identifier', + ')', '(', - 'variable_declarator', + 'argument_list', '(', 'identifier', ')', '(', - 'number', + 'decimal_integer_literal', + ')', + ')', + ')', ')', ')', ')', '(', 'expression_statement', '(', - 'binary_expression', + 'method_invocation', + '(', + 'field_access', '(', 'identifier', ')', '(', - 'number', - ')', + 'identifier', ')', ')', '(', - 'update_expression', - '(', 'identifier', ')', - ')', - '(', - 'statement_block', - '(', - 'if_statement', '(', - 'parenthesized_expression', + 'argument_list', '(', - 'unary_expression', + 'method_invocation', '(', - 'call_expression', + 'identifier', + ')', '(', - 'member_expression', + 'identifier', + ')', '(', - 'member_expression', + 'argument_list', '(', - 'this', - ')', + 'method_invocation', '(', - 'property_identifier', - ')', + 'identifier', ')', '(', - 'property_identifier', - ')', + 'identifier', ')', '(', - 'arguments', + 'argument_list', '(', 'identifier', ')', - ')', + '(', + 'decimal_integer_literal', ')', ')', ')', '(', - 'statement_block', - '(', - 'throw_statement', - '(', - 'string', - '(', - 'string_fragment', + 'decimal_integer_literal', + ')', ')', ')', ')', @@ -7115,54 +7078,58 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'expression_statement', - '(', - 'assignment_expression', - '(', - 'member_expression', + 'method_declaration', '(', - 'this', + 'modifiers', ')', '(', - 'property_identifier', - ')', + 'type_identifier', ')', '(', - 'binary_expression', - '(', 'identifier', ')', '(', - 'parenthesized_expression', + 'formal_parameters', '(', - 'arrow_function', + 'formal_parameter', '(', - 'formal_parameters', + 'type_identifier', + ')', '(', 'identifier', ')', + ')', + '(', + 'formal_parameter', + '(', + 'integral_type', + ')', '(', 'identifier', ')', ')', + ')', '(', - 'binary_expression', + 'block', '(', - 'parenthesized_expression', + 'return_statement', '(', - 'binary_expression', + 'method_invocation', '(', 'identifier', ')', '(', + 'argument_list', + '(', 'identifier', ')', - ')', - ')', '(', - 'number', - ')', + 'binary_expression', + '(', + 'decimal_integer_literal', ')', + '(', + 'identifier', ')', ')', ')', @@ -7171,40 +7138,39 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'method_definition', + 'method_declaration', '(', - 'property_identifier', + 'modifiers', ')', '(', - 'formal_parameters', + 'type_identifier', + ')', '(', 'identifier', ')', - ')', - '(', - 'statement_block', '(', - 'lexical_declaration', + 'formal_parameters', '(', - 'variable_declarator', + 'formal_parameter', '(', - 'identifier', + 'type_identifier', ')', '(', - 'number', - ')', + 'identifier', ')', ')', '(', - 'for_in_statement', + 'formal_parameter', '(', - 'identifier', + 'integral_type', ')', '(', 'identifier', ')', + ')', + ')', '(', - 'statement_block', + 'block', '(', 'expression_statement', '(', @@ -7213,81 +7179,71 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', - 'subscript_expression', + 'binary_expression', '(', - 'member_expression', + 'binary_expression', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', + 'decimal_integer_literal', ')', ')', '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'this', + 'decimal_integer_literal', + ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'local_variable_declaration', '(', - 'identifier', + 'type_identifier', ')', '(', - 'call_expression', - '(', - 'member_expression', + 'variable_declarator', '(', 'identifier', ')', '(', - 'property_identifier', - ')', - ')', - '(', - 'arguments', + 'object_creation_expression', '(', - 'number', - ')', - ')', - ')', + 'type_identifier', ')', + '(', + 'argument_list', ')', ')', ')', ')', + '(', + 'enhanced_for_statement', + '(', + 'integral_type', ')', + '(', + 'identifier', ')', '(', - 'return_statement', + 'method_invocation', '(', 'identifier', ')', - ')', - ')', - ')', - ')', - ')', - '(', - 'class_declaration', '(', 'identifier', ')', '(', - 'class_body', + 'argument_list', + ')', + ')', '(', - 'method_definition', + 'block', '(', - 'property_identifier', - ')', + 'if_statement', '(', - 'formal_parameters', + 'parenthesized_expression', + '(', + 'method_invocation', '(', 'identifier', ')', @@ -7295,159 +7251,141 @@ Generated by [AVA](https://avajs.dev). 'identifier', ')', '(', + 'argument_list', + '(', 'identifier', ')', ')', + ')', + ')', '(', - 'statement_block', - '(', - 'expression_statement', + 'block', '(', - 'assignment_expression', + 'if_statement', '(', - 'member_expression', + 'parenthesized_expression', '(', - 'this', - ')', + 'method_invocation', '(', - 'property_identifier', - ')', + 'identifier', ')', '(', - 'binary_expression', - '(', 'identifier', ')', '(', - 'new_expression', + 'argument_list', '(', 'identifier', ')', - '(', - 'arguments', - ')', - ')', ')', ')', ')', '(', - 'expression_statement', + 'block', '(', - 'assignment_expression', + 'expression_statement', '(', - 'member_expression', + 'method_invocation', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', + 'identifier', ')', + '(', + 'argument_list', + '(', + 'cast_expression', + '(', + 'integral_type', ')', '(', + 'parenthesized_expression', + '(', 'binary_expression', '(', - 'identifier', + 'character_literal', ')', '(', - 'null', - ')', - ')', - ')', - ')', + 'binary_expression', '(', - 'expression_statement', + 'parenthesized_expression', '(', - 'assignment_expression', + 'binary_expression', '(', - 'member_expression', + 'binary_expression', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', + 'character_literal', ')', ')', '(', - 'binary_expression', - '(', 'identifier', ')', + ')', + ')', '(', - 'string', - '(', - 'string_fragment', + 'decimal_integer_literal', + ')', + ')', + ')', + ')', ')', ')', ')', ')', ')', '(', - 'expression_statement', + 'block', '(', - 'assignment_expression', + 'expression_statement', '(', - 'member_expression', + 'method_invocation', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', - ')', + 'identifier', ')', '(', - 'call_expression', - '(', - 'member_expression', + 'argument_list', '(', - 'member_expression', + 'cast_expression', '(', - 'this', + 'integral_type', ')', '(', - 'property_identifier', - ')', - ')', + 'parenthesized_expression', '(', - 'property_identifier', - ')', + 'binary_expression', + '(', + 'character_literal', ')', '(', - 'arguments', + 'binary_expression', '(', - 'template_string', + 'parenthesized_expression', '(', - 'template_substitution', + 'binary_expression', '(', - 'member_expression', + 'binary_expression', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', - ')', - ')', + 'character_literal', ')', - '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', ')', '(', - 'property_identifier', + 'identifier', ')', ')', ')', '(', - 'template_substitution', - '(', - 'member_expression', - '(', - 'this', + 'decimal_integer_literal', ')', - '(', - 'property_identifier', ')', ')', ')', @@ -7459,29 +7397,65 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'method_definition', + 'block', '(', - 'property_identifier', + 'expression_statement', + '(', + 'method_invocation', + '(', + 'identifier', ')', '(', - 'formal_parameters', + 'identifier', + ')', + '(', + 'argument_list', '(', 'identifier', ')', ')', + ')', + ')', + ')', + ')', + ')', + ')', '(', - 'statement_block', + 'return_statement', '(', - 'throw_statement', + 'method_invocation', '(', - 'string', + 'identifier', + ')', '(', - 'string_fragment', + 'identifier', + ')', + '(', + 'argument_list', + ')', + ')', ')', ')', ')', ')', ')', + ')', + ] + +## tokenizer works for javascript + +> stable tokenization + + [ + '(', + 'program', + '(', + 'class_declaration', + '(', + 'identifier', + ')', + '(', + 'class_body', '(', 'method_definition', '(', @@ -7489,13 +7463,19 @@ Generated by [AVA](https://avajs.dev). ')', '(', 'formal_parameters', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', ')', '(', 'statement_block', '(', - 'return_statement', + 'expression_statement', '(', - 'ternary_expression', + 'assignment_expression', '(', 'member_expression', '(', @@ -7508,14 +7488,26 @@ Generated by [AVA](https://avajs.dev). '(', 'binary_expression', '(', - 'member_expression', + 'identifier', + ')', + '(', + 'array', + '(', + 'spread_element', + '(', + 'call_expression', '(', 'member_expression', '(', - 'this', + 'new_expression', + '(', + 'identifier', ')', '(', - 'property_identifier', + 'arguments', + '(', + 'number', + ')', ')', ')', '(', @@ -7523,25 +7515,38 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'number', + 'arguments', ')', ')', - '(', - 'number', ')', ')', ')', ')', ')', '(', - 'method_definition', + 'if_statement', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', '(', 'property_identifier', ')', + ')', '(', - 'formal_parameters', + 'property_identifier', + ')', + ')', '(', - 'identifier', + 'number', + ')', ')', ')', '(', @@ -7558,50 +7563,142 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'method_definition', - '(', - 'property_identifier', - ')', - '(', - 'formal_parameters', - ')', - '(', - 'statement_block', - '(', - 'return_statement', + 'for_statement', '(', - 'ternary_expression', + 'lexical_declaration', '(', - 'member_expression', + 'variable_declarator', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', + 'number', + ')', ')', ')', '(', - 'member_expression', + 'expression_statement', '(', - 'member_expression', + 'binary_expression', '(', - 'this', + 'identifier', ')', '(', - 'property_identifier', + 'number', + ')', ')', ')', '(', + 'update_expression', + '(', + 'identifier', + ')', + ')', + '(', + 'statement_block', + '(', + 'if_statement', + '(', + 'parenthesized_expression', + '(', + 'unary_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'throw_statement', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', 'property_identifier', ')', ')', '(', + 'binary_expression', + '(', + 'identifier', + ')', + '(', + 'parenthesized_expression', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + '(', 'number', ')', ')', ')', ')', ')', + ')', + ')', + ')', + ')', '(', 'method_definition', '(', @@ -7616,14 +7713,36 @@ Generated by [AVA](https://avajs.dev). '(', 'statement_block', '(', - 'return_statement', + 'lexical_declaration', '(', - 'new_expression', + 'variable_declarator', '(', 'identifier', ')', '(', - 'arguments', + 'number', + ')', + ')', + ')', + '(', + 'for_in_statement', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'identifier', + ')', + '(', + 'subscript_expression', '(', 'member_expression', '(', @@ -7634,9 +7753,49 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', + 'call_expression', + '(', + 'member_expression', + '(', 'this', ')', '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', 'identifier', ')', ')', @@ -7645,27 +7804,65 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', + 'class_declaration', + '(', + 'identifier', + ')', + '(', + 'class_body', + '(', 'method_definition', '(', 'property_identifier', ')', '(', 'formal_parameters', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', ')', '(', 'statement_block', '(', - 'return_statement', + 'expression_statement', '(', - 'parenthesized_expression', + 'assignment_expression', '(', - 'binary_expression', + 'member_expression', '(', - 'parenthesized_expression', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', '(', 'binary_expression', '(', - 'unary_expression', + 'identifier', + ')', + '(', + 'new_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', '(', 'member_expression', '(', @@ -7675,11 +7872,21 @@ Generated by [AVA](https://avajs.dev). 'property_identifier', ')', ')', + '(', + 'binary_expression', + '(', + 'identifier', ')', '(', - 'call_expression', + 'null', + ')', + ')', + ')', + ')', '(', - 'member_expression', + 'expression_statement', + '(', + 'assignment_expression', '(', 'member_expression', '(', @@ -7690,17 +7897,23 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'property_identifier', - ')', + 'binary_expression', + '(', + 'identifier', ')', '(', - 'arguments', + 'string', + '(', + 'string_fragment', + ')', ')', ')', ')', ')', '(', - 'binary_expression', + 'expression_statement', + '(', + 'assignment_expression', '(', 'member_expression', '(', @@ -7774,9 +7987,1059 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', + '(', + 'method_definition', + '(', + 'property_identifier', ')', + '(', + 'formal_parameters', + '(', + 'identifier', ')', ')', + '(', + 'statement_block', + '(', + 'throw_statement', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'ternary_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + '(', + 'identifier', + ')', + ')', + '(', + 'statement_block', + '(', + 'throw_statement', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'ternary_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + '(', + 'identifier', + ')', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'new_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'this', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'unary_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'template_string', + '(', + 'template_substitution', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'template_substitution', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'template_substitution', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for python + +> stable tokenization + + [ + '(', + 'module', + '(', + 'comment', + ')', + '(', + 'function_definition', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'default_parameter', + '(', + 'identifier', + ')', + '(', + 'false', + ')', + ')', + ')', + '(', + 'block', + '(', + 'if_statement', + '(', + 'identifier', + ')', + '(', + 'block', + '(', + 'expression_statement', + '(', + 'assignment', + '(', + 'identifier', + ')', + '(', + 'binary_operator', + '(', + 'integer', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'call', + '(', + 'attribute', + '(', + 'string', + '(', + 'string_start', + ')', + '(', + 'string_end', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'argument_list', + '(', + 'list_comprehension', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'binary_operator', + '(', + 'binary_operator', + '(', + 'parenthesized_expression', + '(', + 'binary_operator', + '(', + 'binary_operator', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'integer', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'integer', + ')', + ')', + '(', + 'integer', + ')', + ')', + ')', + ')', + '(', + 'for_in_clause', + '(', + 'identifier', + ')', + '(', + 'call', + '(', + 'attribute', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'argument_list', + ')', + ')', + ')', + '(', + 'if_clause', + '(', + 'boolean_operator', + '(', + 'comparison_operator', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'integer', + ')', + ')', + '(', + 'comparison_operator', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'integer', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment', + '(', + 'identifier', + ')', + '(', + 'string', + '(', + 'string_start', + ')', + '(', + 'string_content', + ')', + '(', + 'string_end', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment', + '(', + 'identifier', + ')', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + '(', + 'integer', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'call', + '(', + 'identifier', + ')', + '(', + 'argument_list', + '(', + 'identifier', + ')', + '(', + 'integer', + ')', + '(', + 'keyword_argument', + '(', + 'identifier', + ')', + '(', + 'true', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for php + +> stable tokenization + + [ + '(', + 'program', + '(', + 'php_tag', + ')', + '(', + 'function_definition', + '(', + 'name', + ')', + '(', + 'formal_parameters', + '(', + 'simple_parameter', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + '(', + 'simple_parameter', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + '(', + 'compound_statement', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'encapsed_string', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'string', + '(', + 'string_content', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'string', + '(', + 'string_content', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'while_statement', + '(', + 'parenthesized_expression', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'compound_statement', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'if_statement', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + '(', + 'binary_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + '(', + 'compound_statement', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + '(', + 'integer', + ')', + ')', + ')', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + '(', + 'argument', + '(', + 'integer', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'augmented_assignment_expression', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'variable_name', + '(', + 'name', + ')', + ')', + ')', + ')', + ')', + '(', + 'echo_statement', + '(', + 'sequence_expression', + '(', + 'function_call_expression', + '(', + 'name', + ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'encapsed_string', + '(', + 'string_content', + ')', + ')', + ')', + '(', + 'argument', + '(', + 'integer', + ')', + ')', + ')', + ')', + '(', + 'encapsed_string', + '(', + 'escape_sequence', + ')', + ')', + ')', + ')', + '(', + 'text_interpolation', ')', ')', ] diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 0c6c486e88c1c992c9689292a1cb7570a4745b05..99a2c89226f50a010b1a5031844bd87c90b74b78 100644 GIT binary patch literal 46846 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 Date: Fri, 31 May 2024 10:57:18 +0200 Subject: [PATCH 05/10] Update typescript, tsx --- lib/src/test/snapshots/tokenizer.test.ts.md | 2051 +++++++++++++++++ lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 46846 -> 57803 bytes lib/src/test/tokenizer.test.ts | 4 +- parsers/binding.gyp | 2 +- parsers/index.js | 10 +- parsers/modelica | 2 +- parsers/typescript | 2 +- 7 files changed, 2061 insertions(+), 10 deletions(-) diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index 3f94f667c..631315fc0 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -9043,3 +9043,2054 @@ Generated by [AVA](https://avajs.dev). ')', ')', ] + +## tokenizer works for tsx + +> stable tokenization + + [ + '(', + 'program', + '(', + 'comment', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'super', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'array', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'false', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'this', + ')', + ')', + ')', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + ')', + '(', + 'jsx_text', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'arrow_function', + '(', + 'identifier', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'empty_statement', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'function_type', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'nested_type_identifier', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'parenthesized_expression', + '(', + 'as_expression', + '(', + 'as_expression', + '(', + 'subscript_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'parenthesized_expression', + '(', + 'as_expression', + '(', + 'as_expression', + '(', + 'subscript_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + '(', + 'if_statement', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'empty_statement', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'generic_type', + '(', + 'type_identifier', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'number', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for typescript + +> stable tokenization + + [ + '(', + 'program', + '(', + 'function_declaration', + '(', + 'identifier', + ')', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'regex', + '(', + 'regex_pattern', + ')', + '(', + 'regex_flags', + ')', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'regex', + '(', + 'regex_pattern', + ')', + '(', + 'regex_flags', + ')', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'comment', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'unary_expression', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ] diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 99a2c89226f50a010b1a5031844bd87c90b74b78..67cff3d25ec7042b9053f942d819b39bad309057 100644 GIT binary patch literal 57803 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 Date: Fri, 31 May 2024 11:08:18 +0200 Subject: [PATCH 06/10] Update scala, modelica --- .gitmodules | 2 +- lib/src/test/snapshots/tokenizer.test.ts.md | 7922 +++++++++++++++++ lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 57803 -> 97009 bytes lib/src/test/tokenizer.test.ts | 4 +- parsers/binding.gyp | 4 +- parsers/index.js | 8 +- parsers/modelica | 2 +- parsers/package.json | 2 +- parsers/scala | 2 +- 9 files changed, 7934 insertions(+), 12 deletions(-) diff --git a/.gitmodules b/.gitmodules index 98f528316..4f2425277 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,7 +30,7 @@ url = https://github.com/tree-sitter/tree-sitter-typescript.git [submodule "parsers/modelica"] path = parsers/modelica - url = https://github.com/OpenModelica/tree-sitter-modelica.git + url = https://github.com/rien/tree-sitter-modelica.git [submodule "parsers/r"] path = parsers/r url = https://github.com/rien/tree-sitter-r.git diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index 631315fc0..a749fb2ce 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -9044,6 +9044,7928 @@ Generated by [AVA](https://avajs.dev). ')', ] +## tokenizer works for modelica + +> stable tokenization + + [ + '(', + 'stored_definitions', + '(', + 'stored_definition', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'import_clause', + '(', + 'name', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'comment', + ')', + '(', + 'named_element', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'logical_literal_expression', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'equation_section', + '(', + 'equation_list', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_real_literal_expression', + '(', + 'UNSIGNED_REAL', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'comment', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'comment', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'equation_section', + '(', + 'equation_list', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'description_string', + '(', + 'STRING', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'string_literal_expression', + '(', + 'STRING', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'description_string', + '(', + 'STRING', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_real_literal_expression', + '(', + 'UNSIGNED_REAL', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'equation_section', + '(', + 'equation_list', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_equation', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'function_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'binary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'function_application', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'function_call_args', + '(', + 'named_arguments', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_argument', + '(', + 'IDENT', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'string_literal_expression', + '(', + 'STRING', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'class_definition', + '(', + 'class_prefixes', + ')', + '(', + 'long_class_specifier', + '(', + 'IDENT', + ')', + '(', + 'element_list', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'logical_literal_expression', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'logical_literal_expression', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'named_element', + '(', + 'component_clause', + '(', + 'type_specifier', + '(', + 'name', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + '(', + 'component_list', + '(', + 'component_declaration', + '(', + 'declaration', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'logical_literal_expression', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'equation_section', + '(', + 'equation_list', + '(', + 'connect_clause', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'connect_clause', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'connect_clause', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'connect_clause', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'component_reference', + '(', + 'component_reference', + '(', + 'IDENT', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + '(', + 'annotation_clause', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'class_modification', + '(', + 'argument_list', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'unary_expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'element_modification', + '(', + 'name', + '(', + 'IDENT', + ')', + ')', + '(', + 'modification', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'array_constructor', + '(', + 'array_arguments', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression', + '(', + 'simple_expression', + '(', + 'primary_expression', + '(', + 'literal_expression', + '(', + 'unsigned_integer_literal_expression', + '(', + 'UNSIGNED_INTEGER', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + '(', + 'IDENT', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for scala + +> stable tokenization + + [ + '(', + 'compilation_unit', + '(', + 'object_definition', + '(', + 'identifier', + ')', + '(', + 'template_body', + '(', + 'val_definition', + '(', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'infix_expression', + '(', + 'character_literal', + ')', + '(', + 'identifier', + ')', + '(', + 'character_literal', + ')', + ')', + ')', + '(', + 'val_definition', + '(', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'infix_expression', + '(', + 'character_literal', + ')', + '(', + 'identifier', + ')', + '(', + 'character_literal', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'case_block', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'guard', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'guard', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'prefix_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'generic_type', + '(', + 'type_identifier', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'infix_expression', + '(', + 'parenthesized_expression', + '(', + 'infix_expression', + '(', + 'infix_expression', + '(', + 'infix_expression', + '(', + 'identifier', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + ## tokenizer works for tsx > stable tokenization diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 67cff3d25ec7042b9053f942d819b39bad309057..654c2efd880ce256fd650087d3770d8e07139f10 100644 GIT binary patch literal 97009 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 gcy)_I&AM{{>Q2+n{ literal 57803 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 Date: Fri, 31 May 2024 11:18:34 +0200 Subject: [PATCH 07/10] Use tree-sitter-compat for elm --- lib/src/test/snapshots/tokenizer.test.ts.md | 760 ++++++++++++++++++ lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 97009 -> 101467 bytes lib/src/test/tokenizer.test.ts | 2 +- package-lock.json | 27 +- parsers/binding.gyp | 2 +- parsers/elm | 2 +- parsers/index.js | 72 +- parsers/package.json | 3 +- 8 files changed, 831 insertions(+), 37 deletions(-) diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index a749fb2ce..6acd885a1 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -6913,6 +6913,766 @@ Generated by [AVA](https://avajs.dev). ')', ] +## tokenizer works for elm + +> stable tokenization + + [ + '(', + 'file', + '(', + 'module_declaration', + '(', + 'module', + ')', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + '(', + 'exposing_list', + '(', + 'exposing', + ')', + '(', + 'exposed_value', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'exposed_value', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'lower_case_identifier', + ')', + '(', + 'colon', + ')', + '(', + 'type_expression', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'if_else_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'let_in_expr', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'if_else_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'number_constant_expr', + '(', + 'number_literal', + ')', + ')', + '(', + 'number_constant_expr', + '(', + 'number_literal', + ')', + ')', + ')', + ')', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'bin_op_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'operator', + '(', + 'operator_identifier', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'operator', + '(', + 'operator_identifier', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'parenthesized_expr', + '(', + 'bin_op_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'operator', + '(', + 'operator_identifier', + ')', + ')', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'number_constant_expr', + '(', + 'number_literal', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'lower_case_identifier', + ')', + '(', + 'colon', + ')', + '(', + 'type_expression', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'case_of_expr', + '(', + 'case', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'of', + ')', + '(', + 'case_of_branch', + '(', + 'pattern', + '(', + 'list_pattern', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'list_expr', + ')', + ')', + '(', + 'case_of_branch', + '(', + 'pattern', + '(', + 'cons_pattern', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'bin_op_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + '(', + 'operator', + '(', + 'operator_identifier', + ')', + ')', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'lower_case_identifier', + ')', + '(', + 'colon', + ')', + '(', + 'type_expression', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'lower_pattern', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'parenthesized_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'parenthesized_expr', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'upper_case_identifier', + ')', + '(', + 'dot', + ')', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'lower_case_identifier', + ')', + '(', + 'colon', + ')', + '(', + 'type_expression', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + '(', + 'arrow', + ')', + '(', + 'type_ref', + '(', + 'upper_case_qid', + '(', + 'upper_case_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'value_declaration', + '(', + 'function_declaration_left', + '(', + 'lower_case_identifier', + ')', + ')', + '(', + 'eq', + ')', + '(', + 'function_call_expr', + '(', + 'value_expr', + '(', + 'value_qid', + '(', + 'lower_case_identifier', + ')', + ')', + ')', + '(', + 'number_constant_expr', + '(', + 'number_literal', + ')', + ')', + ')', + ')', + ')', + ] + ## tokenizer works for java > stable tokenization diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 654c2efd880ce256fd650087d3770d8e07139f10..9751bffdf73e315e322184bef0ac5797b9bcede5 100644 GIT binary patch delta 84459 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 delta 79966 zcmY(qcRZWz+dpo{7JKius*0%Eo8oR&OMBZZxN8JWQ#Dh$Y(c6zZKCd?MNzv(sM#8g z+a47~Q7aTNVtg<6=kq+z@Apq%G^Z=)b)Ls~AMfLMPo*<$?J{05vNe*rd*A&*pbzqq zRIn;5JF{|9V%(vR%igKLhMqc}UMTBrs zRs;(lbi2uu+<5_Il`Xgz2RJ-&Tj1uu#ye=rE-=(_rP5N2JFUZ$yC}O$8DPa;dK0&- z6rY^o5jQS<3tKXm@rRY`yrAhdjzP27L~D-^_KLyDcjpR2<>@Z@9KDGxmZdX|6_OK3 z3i2q|RNTO7$b^|baeK+lajjxm`9fl+#|zDi1Ig6Sgy&t#zp<=u5|?F|l6^fg#xJB` zE#@k*cOB*h8L#mV8b1~{oTba+%=7vo#%jQHW^GA|f* zjdAeWBkq{atCctXdCfb{Z`pUe%il_-dz0iN{VDl}N1?rRFqU`jedq-qV0d`nl-t^* zn%mvuWx9fG^7pxy_42Msk&fU=O0QrIxuv@j<2-W46>cT#%su(T)oEVv-Zgse%ZJI= zJu1h~aVBlgwQQCbY$fZyiT08Cgl+T4w7*cBC_DE&^zz*B$i6A9wP`ie^IWC9KM$lc4CS`30d8Hw+UP2`O9x!V@-pvK2RG`vt^i5|e0pTD zj3ai#qdr~U7Arm%TYo7xk>Lq=kk^Kx0oT%n&Mzj7c+_d0zYip($>0;aly6|QWvs4Y zQ6BmBa+IW@xs*`Z=NjPdg$E58l21II+h0~sjG1eyS3b(}J(77^ER~5>@~B9^@H#PI z4qJatB3ZK^e7fPE+=|yiRGj|HO@dS1vDxI=Z4mGXd|y! zryJy(pPf^M3zD3^E?>TN!J9=@=esvbWHMQ~Kj#i*uJ^`$`9@V1^w3*hQue^wdgtq! z>E{jOR{%5Kx|dVGW@daG`V})o6+MSTEW&cizb@UBA%M$+?qTZwB>MV%_<$Q6SL6>? zf6-8O#q4(7pTk<>o!Q*UIujOPCP*T~|)IY-Uz@qgrN z9*Wckdy%>_BAmP_l#k|BOVuH_%9_^(n?fEvIApzYr^0Dv**_BQP5d&=mbf(g04kte}<%RgR*YjdErUN8r8Hr54>QzXo)ZpZ3W)r~1< zzJ>l;V+lNd6QG42dgH*lSZLbF$E2C%i?7OH(%KeTdl|3!HviTa=X9ZhLMM@p;=KXV9PMZYVt}_xjez*6(n2+r5cRs>>MbPFA{F@@4y@u_`Cp!5yb`KR{)l zD)bw0qC0v0*;y&3!I{&O%5W4mebp!YA>;mby#sM);gV27H-Gfo?~@2@BU5z^K7uo| zS%$c#kgGwTc`!~>E1Ex$g=dlwq|1~b(W%rL;{u4l)Q=!H!)fJw3Pqw-=+SoGmv8fn z231UiXy;%Pt}y3)ySB3RsBAr@qgC=KS$5_iwR#STrTAT7=l-4DN2{Z`NIQ#pTAC602UKZQC^f|o5R-E|wE!?e!sBQdsZ z6YNI`*KaKRW>W4FSs6C{)tmAu89Fwvu3wer9A7W7N6y%bR3Q4<<&S+Z!i>3#0UAdvK?a~XTU^6;IyO4aY4I{T>rjw1Bb^3}3=It%!l|7+DGE2v?IO34+VHnd% zZj1r?IL9RoFkE*tUf0{GR;9M(LFd(ckcL%u6Au0JqMCc{@0U1&o4;pva|9PMQJ8d` zO6;NSGmhTfq7YZ_@{%ewETk5ogntqe|L#cF^KD*Tdq|n0u1#H=M{Q?2sM5mJpRz68 zEI%KI8fRNtL;v|uD53eUfe#rkXTQxTd803?Ev%v5W&iq8J%F^=Q+icZ6AnSVk~q2- zd35FT>J=mBrxpu+CuxjFVa_t%xkew`LaW*zFGPm*vZ%~3Dhm2E7*&OI1D!szqq-Z( zfk4|zm|J#bKO`_$aFQGdERT#o%#Qu~z*LSE$S8FPLUq#3qm0rgKGe2*nz_@KI zGWR+vtV*M8VyWgK%=IbT>~!7-J*CJhwPNP^ijbCxpkJu5tcj3y7bGR3;?lw#sxix< zgc7XLD1a~oH}}0y`#mF|f@oh|X+0W^6OtIK%V>V5Km3-qBY^ot#Av!J)s1&^jL&t9 z9Wf$y*g2o1UZwA7ObB)EUOf5GJ+G}k^&$W+CQ(RSs!OPx$QtX@_$$}$Lk4PG zVQekX!<-o1HacIZR^??3SJG)8|71AeV#LN+Ch8-RR$TMIPY(_#>22InrRH^i_w@>h zGs4ZlBqQKT?e0z7P+1<2(CHkn@FvNof%y;B@H%xGe~7V?MB3jO&Aza{DQLPIS~hc? z;11Ujo14@j_7QwTXF|cPeV^}A-R>`1GWFg-PU$IYtA0zNyiwgYeZTbG%S;qfD>0Uy z5%HLA7$f8J0x-;C&+Jz7D!jd}=2d&U$jGwD#L^>Ut1z^6AP{k%ZvO3`{OZZ6JJL z$#_6w?|DXznk0Cmre3*Kf}b_lZ2qdvGl+H;Fj7ixBXwI5&Zm;@U{_IT=?<#BZF$WW zeH$+%G!im`s_EuF#MYOzj=BnYkxcAj2x?X(HC83x0QZ^ED8epyeHLwf)LFB1k|j)% zLIj`T=V9q z2w2K7bdRQQ&w?P}_uw1JPyOuN=L^a}u)GUpWSgAG060#A@x;>-DaQO4NC0 z>{8hF8|fx(h##UBQD|F*x?uX>+x3@vcm8g^)T=Lh%&Ky~-8p<3xOcdtG<+b@vCrW# z?pMC%xLLpcb?28!I?0@9_f)!zH}pF>71+LubuX{|h#m-B&KHF4ac%DL%(c(~K(xWr z(Wbq;m<=98GR@s^4oTRSMHv9 zM*TZ?CA|+%u25ff*H{;7=z>4`ZHo7F&bM5w8d#684$kq8J-T9q>x0U&?f0^7KjZMP zGMN^GA+_AaDB2gPuFu%~*GF#GcI$0~UZI*v^e8LuWOk3-TBOz-!BOPk z?TAHmUM_x@ZVDF4^ov7no!(K?hZ}F|*nbpY=(bG2RA8tv1X|)eeVJFT1H_2H9xr4f z)nyg>9hOe|0R=o6N;94jmB}X4*0ac~9pdx{PZ)vu*`WD+TV8m?%~-9>ztpzHbcE+_ zMWJrS?Pd5@Aa5od9Mi05(63zKeVD;WR;_9yiB;sV1!{54>@Arnou%9HEd5xmLuN|0 zX+?-q{P9mu`ymUdw703fSC(Ub!jO4}F8XnYWfhM6KwT}5M`^UyA$#=*ypid*6Wjc; z*rJd4LX$)_2R?uyfOl;^>qn3ie4x%4GX)n9NSFj@=Z|@2>_QBcblf>Mq9smQe@}6! zw8RUc;Z3Ag{c6FkMlSz7lWBVB9)6^6`fw#r>Y(G%=66*<&Es~ z`;7kO_Wh3w8(HU@nN&W+1k+b%;lD>m?Aa~XOjVSBkE;C62<+i0gtqYw6C7lgEIqFO z(NVaLBGg4?2%is0-!4ksR_*zzHQo|g4*-#bG%JE#h3zQ=P~JuoEzavbNf}-HCP64u z+uf$`m-P2M)Y(q{c~thn%^z4ApWD|7Oz~5zdfFW$v?XmuSCSF*66%`PgYY8UV4vsM z3>j5s8J3bCzYv2um*9NIzQ45WrLC%;0snYmZRUY)IujyQ;NdOE$xM{i4X%TG6+mXQ zv;-oR<>+2*X4r*354G(K)sm6EsvGJh8Q-!e%DnV77ArCj9%t}YhqS4uf#>Oazjy?V z|4FN;>~m1+b)t8bFw)mzO|$qBJZ$uz(pYODS38FAj~6>GG9BL$TdZR!?R}nVA>Z@% zDz1)w$I+oA!#nCBw4iCEF9gRA2aauHw`@N;8r0becR6(;7Ps%&^t=_p)oJ7Em~eF$ zaCHJ5#T=d`^qwVbCo2y9NB#a0J>|5xg8Y#_RcG0ra+N-F-kt{eg=zN10e5Ba&O_;=BGU)QAWM1BBO&sJ;=+$aIrpe=y>@B z!?Fv;xa+XmFSe@R((eLzjY4CbFVs_e_<+86guNn%rCEm!0TZP>*P2BtjSs{e_Co-+ zR+90!oI&hi1jC7dk>urgA<1@aH@aOXFd9%N@695$c1Gl8$#;9g82b)xU@KXxzZp7l zOo|kf97{5msNdRx#c=_8eFseG+fQbZygM6S#Ulb0-&s+0fYJ22)sixPz|9yZUV#ZQ zJ`Qd>JZAM+ix+Zh$9#gg?s2RIq1}-rh+nwDz797na!fLDFHNfJ-g1l^p6i1lu7oH$)=JSXEf7s5S@w_xnl|i;+X9wL&akO; zm)>{+CT6CYtCmZOkdR7}Ehc$ZM1VJN^H`@Nf_0n1jyM%tTxKjK8Ax?mV7FL3j#$v& z{WkZQx>l2ZmA>jW3inbv_RwDX$DmLZFzZVna82ePa-fdSDyNL}Nr-9`R&mW4P4C;P zlJi+SwEbQY5sQuQui?+fi!j*t>vEm1%+%_ZemBxL^OF7Hbrls zID)Qw)?B);sMzs`;LwC0Ir6oHzp5cd*u5#E)N7_l)nvfIu$R?Qo%qqIe{Dhw4|E3_ zyETIjo$}BKH%*);JM`3e zinpOHdq2`gTCt5eDdF5Lq1`P3SX2;g7)R0YGVt9oZh}W6^uX?qAP&5o=x0q4qf<4e zGM1gc?k<1vg4Hfoq&ON5D7yQXwYvEg+lX$C3Am1NF4pM{pNB5i#elKF47%fMUTgvD zGnd1P(oqAwLr<6K=GR%tlKIdA(I&e`kTS?PCH5%1Ewmjz6K*mP0T{AD6zQt}uqQ-F z-#19_Jt2Ohhm*yan{}8U3bT_{O=cs!E-q-Wd$1=6$-*OWv8X1l$%~sBBBR|x_L82` z8=4j3Tq+k@F$UbO8Y~ZU*>|%*OCYn|%|9(P!u_f!kDv+Er}y_ZR;q#zc*m@Zf#GMc zVHPPd{7ApAn+^+9Lj4UGrk>($lUqq1>Dy1;#Vp`6uO0g_rx2CbCdkKhT@3n-bWl47ljOW#T)^FkPuQQoeh7%5X z!aX6w2)W^Vf~6Vd@RVQ^T)DeHx|H(4iOS@$7Pqwl#MD!zH)xA{jfk9Wp@g_Y@%W>Z zR&=X%&w4x@i`#^I$d`SV40X6B8G8=A z(@Dv&v@}C7Lme}&JZ9_)=3m?sS$HfyQ*gg^yZ6kC_Nm~1sjq2;w31xL12>FtBzz&T zC%r*Gt|JLzi^azbDiZDJ&VO-X@7?7XZ_dK-fvl@XM`d1zSG_KKVhcAs7bx>x{B+cXu>0_rI1pu zQA9X4ix!c|eRS_*=7H#RU#f)wnDcV^AAVs%Rkb($j1 zP}k+5$52^=eFYl73MpJ2bX*|5#){#g{F(Eh_!16ZMb@9sKfMt}0RDlcTuBXd=qVS& z73i*+@JkVrK*y(jH5>HGsD#eZhWOqHGvY3$Rw}SIiufE}a!+kLtVVsmgdVkOjM;@N zt+qS*(5Q$w_BU~M1!kZNHF=ef_YPd3veLuE_ z>KKt~2oOb_7YAD1prub!tkU2W>kKFpyqk9W>ZjJwMq`}Sa@u|PlsJM!Pl?He76>+V zC$u%~#tTK@2Yx_hL6;#OMvroN>?CAzMmC5s?}~yrEzAqncL43Vcd?1g72_Olq9iMo z_N;l=AhnmyK8@{1*t|)oI+eMrkvZJ65{xF106UrA0)zq) z55S;E;8Kd&d-~H>^;CbKrKuYLGZZ;S0sQp)z4OCi{62Y6wIbDOwyH~PrEx8XV!-H6 z?aexgMb9%YTHdmRnV+FOaCxnVLf?VJm3*b1R zL=up2#kDvgYHP4ThbB$nBk1UX^yZ#old>2SU=D9GcPD5wsic?;$hDHLk88BVG#p8E z1%u&|qz^?uqa3uO0WyXHFv_a+sIXpra?)5MlZ`&M6j>!vFuaD z5u3w^MV*l|M{?J9HFPYMXZA6s$;v7vgiMpAj%US;4fbS+2cT!qzZMU#9QFVd%%)JjhI`>9R_@ zU_~v276=c&*BY;l%=KrfK`^Q~wrAd_SD7@%1%uD@n*xEy2aec!aS(8DF|}!vnRnUZ zTgVJ5#_$yFcCnzSy{->d1S{gFsDO~3a>&9MZ+Mg7f*4Z`nM38!5cdE`Cov0|pBtyd zovcF8Xka;p7V0V0A;f^5gD(@LD+Usb%i`M}vnOPmx8|zyAP)5xbXlth@lR+2F7Iq> z3XwxAa%hgPaIfgHRDYR8vg)o{#yMKj14GhjT&=-OI~zB9?g@+!#Mfv;7DJTwvmima zTtTihwQSN$T=`6r4nSF!lM{oAfJq+4zXo1c%iwW2?&x(C;ipx}?N-WNd!#}u=|(!q zW|pj4yp1R(iC`-QDAaH6-yFb;{oWrg)Xfx1p72rIp6a)>ty($-5pr-~GKj6;I+b~~ zJpIlz8C-Gv8L=2RlV&v}j$da85cF|#=zmPE5=HE)?Mwm^>2=82AoPy|gyhaKW;2B5 zNIVuLMmL3QqrghrWK(;smkFK~OixX4yx@6H+%_H{8Lbl%Ci9}3Hz4-rXUv7v(hzJ$ zwL&tx#!<2^m~(VCthkMFoC_15t!zAyR_fKF`iXs;%GNi?FVt-VmKEp5qzJ32y&UOJ zvtYoC6P&6rJ`+DliqczC>ZpfA?22|Yb4}6{C883TxeZZr%aUTLqj# zYPF;{8dKerK&bIynkY&(QVIhDTCTJ*PEm3pjfC(rxJa{Y4efI3K`erv=Wah_Ds|u5 z-n_ytGJY~GO5ze*!^@aYFB7!h!)qSjFOykQekDct3Pai$matMC z)rxI`z*474#EOuKAE7H#_X#TX+BkmCR`VV-5BQScqoy-74wAD(EQxa-m zG_D%ZBM!O%7|xS<7;$kJA++|Q-Q8bywi$hH;djeOAD|^yAVv6(Kl#j;j<%LPNf@(? zY{_Ge&}KQrT-nc}+s$HaR_8dxXg7^vXjHrmaT!F>Dya>BtPbQ5uGBZBJ8rRPf?>lK zvgH>_8e1CB0m*QJ8(63d9VteAx*S(i!#<}}ml;-g!f+J9>gUe5@5G{J4_ZdUl4=Fu z5}>xN1?SjzV$%XRwaURh02fLlvX;Br5+6|OC|*~~h^XQJJ;g+poRaPmB>K4-y965| z*BF3CDMEQG>AtF?i~5ptpoKLj)FoiIu=W}kA_gtOLugP)=~1AzlN#4f}~`N#1Qf5$Pe zM^pUn7Sqa7(&~<&?1w=8qd9HQ{qCUAOBZ}9=d`;8rVxc8^BqAHGv`p3ruu=(&V+iF zIqlUnutd_k$~`Ql;zNr+Ppb&xfDqp=bK2;OTH}S0sJ|Je{zT<8zZOBf0+Vfqg5vOb z@rB=}9B|LPrl%&=*dXhpnN3#*$5JT1y`@Cv*Z$ za!4_bKcj@gq|Nlxw~t`8bZ{pk!b@2R1U?Q0u;B*g(z-WRR1et9oK+eRXx!zmVk=)o zSH7yvoXG2KZF&`#`5JU3NEw|EzflSJN6ilRdVq!`Fv;Guu}6+bnFXak6|tgbf`$3{ z8vGa{CP2J6!ll?(ucuspVT{J(D#Mf+QS?bZ#uAUQ%*XUgnFSUbu~h`H=*_Sqh$4sY zIXVK^P*X-OlkFIO<`eB!F~+vTb!I=9P}dZTs~{ap#{{PYtNj2zKj*9->R9Fs0ybz> z!i_n?qX;l!c+4oI`a$UJlt__lpT`fQ37E~BLz1I?G{q!CtP1lHN4%OULwGb=soB#s*Fq7S(mQSDRxze{MW%I6 z;_FsN7uEws`l+84OONT)j=_3p7J0t3%%*~jVLGvGe_R@MV9$m!sLMRyM2HW=^_mC) zku8(V2LaJREy52c=uT=skJlQl*Tqm6JN9{2K7xog2bSV8OIE-FjiMfpIRYCX9*^lK zT{r8v<~9BzEumfmXeC*O<~1;?VB)fo?b@H{8>Zt9zsCgah%SVXKx*|J#EP0QOXl83v(Jap zp}&*ydT}k`VE@a+#kCc^ESXBOAi73Tz`6)bw{{r%gN8Zbe%-t-?2=fPo31xIP?E9B zt(qH%@$3v7u=d{+>_&LGbTI;3b6QIp`ui3DT&?Q#JZ`DfNTwu1Pflf6ipJv{EpXjk z>`SY<*6?}8@xtm%2lIFEnL8!}zH?es<+72rJph&h)<*g-{!T#sMFR+fe)HreEG;9S z$pMb3a_le7@K3b}CO(XO4YGD1?W+^mruopMY$hgq+Yr|Tm6hy6VoD|mr!fbL0Q0sJ z^PE8ZQBq`pHP)Ja)Ed=O&ah)~ebbJ0)XBG}fqlo!!Cvxbt6Lb>iMGp$`^W}FbFd{F ze4$Og+xxch_wB0)!|BY_K*dcv(ZvGJ1!uu7r*9yn-dq8J8d!cwFZ{z?-Gx`9Et4;O z>Q#Zf3YikH8hULtWNVc+Y6UE*Lkkr9!gR1x5_3$^1Wu?1v%ijGzitded-y5?`Z{)` zFVMxi*ho;w$!=4Sb$gKG@VySM4x|yPGY_VR*!fdazog)KYUrEyV~!HPWG(JfjgN4+R$YV5J$dv*e3S8$x{t zs0uyW*8w=F`@%gxFY9XL(68%u)YBXsv#Tf>m%Gpb zY55^Q)R;@uUQ$VFubNPI(DIfj5uzcT<^)?J7?Vix+2qJz!D=-Am?;8~Jp4(Eo0r~4 zGnAv*chPjU1QU+j=ylcQn59`VBX0hzuXK3Azfa|*42%&0B-|~qGi1Y01(?&BKkN+Y z+O5kxK1M$FKJ82*i#hpYxgie|MM)WfP5T2|T?t1#_WdU(8ZA|n#8!2%<_u?}0j^7> z{XMHJjMHcUf4AT!P58;Txm_aO`4_K&P_=TXEtC{>^iOvP#fAy{Y!J*80}K(V6JRcW zdzlDv$RC)Hx*rUr7l^@@wAv^xLQYD{glXu!9>_uDLAqXpfbl?Ca#-JB!H#Cd4oq;W z*QJZy+=a}!vDP3`B;_OTy7pBFg%L~o}h(+P5Gd2M(_McSa zY7Ks`UODT+oe{*MZXLoZW(Dp9wr-FB2f`RrgU|Cb!D-v75++L6P^(e4lGRLjHPF86 zmdz>zL`()OTix#3$MoZw`rB$5cWf*w0vHc!;&%s`JgVbrCOJK-6NI9O-^AfF(X&C~ zU?4(s#2;z5p&v4@&F8pBJfbaA=wObk42r2CiLd-ae~6dsSY`|qW;zKs0hG?#z0zi} zV4$6Omg?q~UVy>xCWML7Y^y^b3NuXp$8{)c?p85Bh!9!)fUI;EwL;0f?J6oF}3&Hc(+`;m}QjEUFoGWR(l*n^9`bkFZVLWIatL^z|sO|k3*C? zav&;;CIf7(Y3ihk^o{uyX9uxF?Cb`xJ%z%gl`wcVH+E+;ta)2`no+D6v?gIIJ3 z;~)O1D%6cA{&iLbh0g~HO=%NHO`aknB}mLD4I{3Acx@yt;NRTv+i9o^1x3p|5T~1s`cLH9$Vi5|7HmPkqbRA)|X_u-_Rew_JiI?h%Y`&m^<}G~blD+}+R&5r;x^`cauDobwT^tLwu1XwF?Ut;$KH zkTMw9f4Ui2p2mJ^Vgiu(!Ve4s5sL93gZ;x>t*ZP$?m-teqctP2lwrWJ^VaNIj3&ry z@uPS(15?sk9SHlW7IZ|OXy7$-bq823S$0R%UPY*h?&j~=v7<|CV zihDKh@0VR&uwy!GC3^px+J z73Ray*?uO+D~8jbX3Hgp8}v(`GJy~;(!RiT82yVr zYiBYw+)S9+r*$Pz1tGi$x zZM3*QGIHIrn55W4w!@-CJ*K0CLViRnN^~4^%*~wT59QLQ39zN7Qfb|rpX6Y*B|-A7;{&-zqf!_4lflAJ z<3=T~c3_GpSV9YdX@H6iO|^JTb`5q1Qn3Jk0}nMEe#y+nu#BPhRX)Y0)y-!4 z3u3nX6WFGG%uyU+iM3{1{0OM;{3Sl_wh|qnhqadc?MHJWVtgzTMd*Uou?)YJ?+9Q* zWwmP~XlsxxdK0X_{WuP4qB3jaYKWXiHFb{sbpp)u%iv2jdqPWlQ&Qbv!{xlC$Iwu& zb#`)?3%toiI?bxsSEJY{B)wO{Dkhg`(%kAMw7<%6up1>38zVpqsK|i%s(X#Cd==sd z5Sb#?p@)y4I8WGc81v4t)p87o*}f&V=ZBaZVr28jW)fzE7*EV%2r97JO7N4EdAvqf zJ9U-;tHX^@15Z_F`j$A;E8%pJ3arUKmAnYJT>xdvcp&}EvEtB^e6Y~BKaPs6b=Ze44wQ5pX2gdVX8 znqI~(|Jn=SY~W7NJJ;zlGu#|cMr&&D{cK<;JsEGew>Q9#hCv71 z{>KpG%d17bB;FAUd3c@crT9jtM5o0UEov4?_)t{dk%IK^jH?i>heVp0`>)iiUnHj%RZV zZKD;nlVG2jzK#)CpAA~iPoT@^(zfqEYP5pxn3-cm*|!H-M#Gq!K2(97b*vJ!;B0nb zCsd=SL1%xJc7C0ud5|sq3OnV~46Ih)iu$1EJjnlMzm?S{t0~mIIN+%$dLXt5w62B z`tz@f9J<=O?h!ZXr+yI|B_j#KRzn%HNCBTJ_uJX@DvO^d^B~RYl8cXNcY2LOzb8QV zWQ#{+gt|S7N4jT`EKTJ~an7%e271fDmKvZ>J9XP#*_9SObfdzBQ43(&ZWKWfn2yTg znim4Gm7E@>2|}W9f6;uUEYLf8$JxJ$I!UFK;REOcbbQ>vW0@LCgQbXDmE=@#tw)bV zFrq@*soi5l6Er@A5LHtnxYERxD@y^#fl^6Ep$6Ivo>YOEZB7%AjLVc@1b}WlQ+NJ= zoYc~b3R^n=oQ^E&pg*(FM)oq;;vNU*2> z>Re?Y<^@<$m!FSuejf9huKFeZ?Z-?9$#>FeS7Cs;Z=0KT$prb7M~8Z;d8F^;Ijz5{ zG47^q)!wNw#sM5!Q21!9G=VSw2oBt(2HwI_m3ADJmTS%`rHXzqMSlOo6$^UPVuPx| za5YVbB6EZz^C2F#uRwQ_WDKUL2tEjK9*(gv#@(@s0gEK6qi}^HIPh@$b&T`ZcEI%x z?U4;b8IKRxZUsB{dUtHFP8^5T+WRHoG>QIQ-Y#3V>dA`oktm@c_kfX@U292yQNyPi zu|X3ct1w&6vSV|%*iE$}fK#h3@>6x}?i6cyliI>ROkINl9@Q~NlO_g`=m1EuFLYs= z`-rjKIXF7o1YejVou*_p^Z_3ShONhDYfNg(oQ_xa_&WzwGx?UGrn2WlY+`6*&^wpR95Jb6O_AliL8;hwfqf za@s$uLiRSqMFtg$L#~Zg^kAP^=mfDQfrGpVJV7C4)!;OldrZ0HbP|YF8uLOKPV*?6 z9$r(jqaC!5#nOUu582>kg}D%JjmqBLl#2=?*as?ReY_=|)~M_IjP=g)rb^ak)%@-r zpFpikQu18>AGsYrzslc8td+TWlh>kC0F)yM07>VryL|ZkCeuegKIxZ7vgWxDiQY1p zD`~5G*0&z<9CtczWsC#o2a*~=UCrz1pI@bKByq|Z_i>kiIu>hPzUz1DohLvk&wqDx zu7%qm$!YFwPx?PUFP#%fyag(&F1^O;%|TFi_lq7j+)12%Q@VVaDaq6$1{Ahn1!V#d zX$s{>O-~k0^VE7En6Hv1NSjdckAU|9z-3KuHvx<9eo9_K<(%nu5yBKIm$v{#Mqe zMUk$l*5DuP&=;NEbD~=>>J?p+`^fdqrlzvoGE7Ma9%Y(JADB;fl34^(U~L$f-iQAYbq|1>3^ zX}T26lEXZTH033d>>EbNZ|eVdSzdC%+(+zI?p*TpzgzBjROx&sH&b|a?rHBUmtjHi z|DO~J`1KpHcD9h)BisJsXyTcCPWfot*ZEDh&$-W?_LYW@6){jQ)6yf6w2O)>$tiF0 z&X#%333As(QttgnTg6v-&7Yf;bas*T_}*7G!#wL9f2cUE@yVS@=u$`HK?_d0;Gn)7YjW3{s&tvxSd+QvP$?e%poWiF zk2kMDvr2sD@oxMQXL5p!txA8vMLF$6+W+Xk{N@_|uy>~7&MpJv@y7mKi+};vY3|h@ zcZ>s-E+sGiM*yfdXTJ4EhtfN(|5J~FH+er97?UxVZ}v{)l(~Zw%)=^osB9&NDn5TT zDkAXKG-A;1Ce*J}0_D;K75?hOC7@`^^&c6TFv_m}E8;lmY;PCh6NNphG|wqvK_k!_ zapvQ#xu&Dy*vI>?fUe_m`GG)~sp;UKkND5De{R|QA6SzV|5eW6pjAM}jmo>uP_Anq zlSHbD&rc>AdAzs3L`kli%Ox)H*$G(RJUdKKyynlJ(0Qgj{L?lsapg_T^7+D~w;m;$ zmp54L_}AOs#QI$NlqCH>inzDT#qY;Jn|-w`e*yHzf_>L%=*dWR?f*xvcJ@5v=W^iF zq1{W~oDLclhfaU9q}G8wH&kscYG!+)8*gt^Hogx zuO#kr<(>atbuB{vee&pkPW)fV<o4bG>w{__iF0pimu0)K z0KZ2}>nO`}KJS|y{}e1URsJ9Sn?)0kaOS&Q zaC`r!q%@Za4%Cyy{(e)iET_*S+HqzOjy-u7&%IByeUq1dQ6TZjnNi=V{!`J^VerNd zpKPap<&8C-v`*eFVzg3)<#(lkkKDMo2t`bz`vZ z1=Yk6mwqeD{=U3#M=Q1`H8)DnScl2%T6_ZK;i;+#ZoKPKom0~M%Q@|c?(J8%9|J{} zbfklGkC<*RyyVe|fb4&jOB}lJj{Nw!R*YQ84f*VryN6%pUJYHSAwT{{Go~o$#;@!a zlF9+Y9&-|w8MiFXBQ~jZwc|MM58TeJEcUJo58>q0R^lz`W|>p37lXpuFNQ3=>R#Tc z)zfASX0>Mh0R%-nB{C1~I%F3*^xt6tSUEZKtE;r`_H69DX#aEcSv2*$R*o(C)7uX4 z&Cu~?@f0?equb}FPxaDNgYOrm?ez(rB&}celqkw;x+R}C6okq9DL=b&m-wqF)#=7e z1G0Sf^w!Oy)PelTXS%F^j{DlhuARL1PrsgDJoF*mDT#d94CUQ*K3n3(}6Q^iOVghJ0;$y}ykGUvTaIRrJB>1|Q$dTjXu61E-eV zY=Pb8KO3S{y-bRRd*s!EZ&+sMXMKA67trRehfdgCAGw|tl1f4S{DHAlEh<{P^)7BG z%z~t2uTW&;Cz&(VCEQpxWT8{XSK>I|#W8Kbf*YJU_-ZJ*rL8&7sMY*v=So7`Ev}sG zJJ=y#@4A;}y>70J@z;tIb=u-bI(?_rv_)OO*U$PEMEsudn5!r+SHHH=_124uWgsA= zIp=l6dGSEN;3lX&pe$Ti%%LUj~cbahysBd|+Y;z`|2 z0{1`>KzODk`EwUd`q|Tpy9|2^UY4w#MDKTsR+u_n7<=Gz`b5AtYc^&(~LZ(ea+ zVOGq=D@jKkU0cx*ex64sQ6!>hng_Im`#tA+-+2|5bKer}`{ddVCu^bb0nL>R+6}M6 z>?wy?Uv;0rR;u&ru|dS*bkxye)W~DIVTI2~+E`cSTl!Z;TDYkZ4C=|a*Zbw)U>}JW z`2IQ(4pI?{Sc9>0uJZpHjJ1%Oe~VY7576?-i=@b(tNrX(P|lESGw9d*t@RNQv@`jT zW1&T0IzpoP=4jNf!{vJ)X|GH$Z>S$QOJ%hU2@q?eYdK`@?=|?e(3B`QD`tvA!{sz5 z?wLR!yUW}{SMVYA`hSO2_uIj1sCkW_hSvOGQ}c@RNU8be*}wA0Auo?-S7>}7ZO77* zjXibnz;SQxr;#Jp$PrDZUlI^NPVVvFXdeHTZGn9>^JCWPvq|ayR`SFFpqW zx#;g7wxUR6Z{`SYF_+&BHXlxN;YFdDlt%8lV(S9|)D<2R#-o?~qr@q;H@iJyHj zynRSh*|l>xKrBzXjmp$I#r85K(-^lA^G} zEo5-g?POMzik;mg&Pe2JF_dEVM$&If?|I|(AnS}ifFX}^guhgI>*8%BBft?wid;Jp$Qw{Gw*vYN4UZ9l=1B`khju;|qq%HLMrN6F*XJ2F& zF!k399aCb>PmU^>GfQ4Uyv_(Ga-&Xw92)qrXjLAn$`kiAigp(_AO_X!WH~>~MA8}8lmL*fPdQCfa?rC&t~h9JGnB4QNE`>O^IAIjZuSH zRYq`a&G0~V1||c(X^w5%ksq^vG5E-~ZBc{6w(J@TT79b9mnGePrbI1!whd}dB^|B_ z{_TZh{xziWw_U}=+pd@*7Q7`x0FTcL>16rA)zWux?S4+Fq^D~`Z7cN1DlPhtxh%K5 zgn=gp(F06bT7!Pe4RCGca1K4mk8U&@0^tg639}2bM1iRJ&KWU){nqQqTE6Ogc*O(; z{X|!d2-ZS{HEgQcE_S#?BWAxxQ#ZocTz^m`rO<8mGIq_0CV(etmnC zgDSm4``{rlCCcEsB%L`aI#{S$7P{%PBe1Cg)023@_?T|(mKoS_f)tX>k+gZyZKpIF zm>uI-pyM2kXr*W!L-$R(&L@WmOswJn#G>TA2F_dxYoXLY1}0li2oi` z(a7EWx`Cyz?#rcr0ci=w320GUM2?zfcdoze>F?bIw8L@z&W8|2MHpO9yN z$@_dWM00Yxg(@sa&MutyDR14%8(e)g20y$I-aPj^(2I@`w7I>#edQYPfQPr*9^c8N z$axMr=HnU?9|{*C`B>|%%F&bnv6#X45i&5#HNmn;NGtJ0WaHm6h&=Y}bD%^|^Oo<` zlXK5m{r?|VUjY@>*1mr)2na}bNT+mnC?(PTd^-*>Ny>OWbfTixjmhE{f3O;2eO?$t;*7K9fNq~ z$Y7f$+t=FuI$sRkwpD2L;>+pa#?@!`Cu?9zP1@Jr9*K3MaMd37g7?AR?dR(KbxaaK z+(39zddG<5m+5yK_&b>13m3h2f4_Bjm0%5XkdhBEQ*0a7EzZGp-IUHkZaK04V_Rkk*pAAd-W_?Fh^;68R^o5xk2yXiZndYp&cqW>v zC||+I_|`U{)l|mi?ho3`JAXORiP9_&AfCGN->P~$?`?2sFG8)VBwyjlNS|=rI>Y87 zM-AbqcfJ%Rt#Zqa3c1B1U$MmcYJ(}?=lTHI0_yl#SNvdi^h?k4hSOguF0?Q6DRKvH zIg#GVbgF``s)wn6@sdgQN0`;G1#O_@Xb@qyZnmvgpD8{4%;x){nLPN4ug-YUsW;_S z0tg(8uACF^@l#?){S(gBM<0z=&c#jycp>8*r)7tyi4LtjYt1=96R>y4$T_A8Aa)}< z`Eh58^j8zGcP;F@=Um4XN`LdA{`TEigu3geJ}-C+%46gygy}tm*0#%+A+v8su)Ry^ zh=9M|owLfsLw1vvoqlQ%^ZH0X;~1cA*o3!2HWovgpe@;usRuDH8_QFL`RyxE<4HJI0d z;sw8Kdj5>sm5{8;dtS6zqzm(l@`G=Lu%-6lccy=(vV@uK#6Mu^`2q@-oa*1|+OLwa zs>X5)VYfyoxq4eH)G@60$hpGt9&gYGqJQImm5f={Pm?~RlZjCPy|v72K>H2Olq{Lp zr*?@AVqQ>oyr?${ceY4OWfYDGTFgArVG3JwUm;jgU>w$o#24rgM?}@pn}rf1Ov}9# z?1ojJlLXypIn3M_Pow}~b? zJmTo$`t%@8T`<|jB$6N}bO#U?j@i&>VW#EOc?GsSXQ75*Bn{7CC@X{d%f2LaK&T`K z^Rk&p!*CW0>h4*vy48>Tx#n3!*dilbCllYR-62k}bdz}#@aYGUBnKUoaAOm)p$>^2 zlk$ta^4r8g9lG%4owPC54n4#nt&Mgqgg?_xjDSzFtA}zdRzFPs3S=xmAuUo<>2Jgc zZ-&L9=k+5IpYq$MQSSO@ErGN1LO$ zgfl(D+2YfQfg|Z$*p|ys!C-7BP^{9!%aQ7UaQL6WGX;7dVZ&qCOkpG{(=AVFrk`nf*a3B*IFw}$!ES5h^?OEyN3=daikiSE$1GN((-iWdQwwqRM zCa*`pbQX?j@nMp&Jc5itj}$4@nLQ_wyAg579=Gcd$h_-I(jq1W!+36pEpnO-`=`?6 zy!W?B^P=!D6=Wz}_ zsn?^`LJnB6c%90uACA;(=n0$F+^q;Y9@U}s)TNpe4y)>1}FWA9IN z{n?R1iLzM=M*|!CD{ulJrm{pMECUFOi5kBNcIL9>q?G(wqJjJw^)UO%dDB1hj*=t( zQ4b=~#)$Gh+j9Aa9d}S8(tuU~@Z}~j_5Fdu64tX&zCSt#fvJ_W&zn|Q{ zwmWIT5ve>_G3>`UXTx>w+oXOfTukK=Xn&#p*68o+Q*TGbPcRAEWZExjbQ>3W3{dLek zLUbl|R4YMZ@n-^BgxF5FU#ShI&2qdt-fF1s6=837ioII@kCMM#)WkzDULdBK`otOi zq^Q3?B+1lPu(^0Nd^*^@l&WiK8?CH%=GlM+<^?3|ia{N-(Q0ZZ6UPhC-A`Lr6|=Z1 zZGL#E6m$J~5Nwi2&WZ1R8=RduC9s^Oz~VSC{sFN}l^;x}3(SxF?T+D#ozIH(yscJv=;it30y6PABtja1kiS|`p6Io_5STg6K=oV=_}!BN6oZ-$*b$i zPmrmK!kQ2eIdzU%g6~avD;rmRo4#0Dn0_c9(%8w_eYv{yQHRJ!y^3)NE#^Qr11~+M zQa$R3-j)_tb6apvDP8f>u;;))$I>=N=!L)0{)@)a%M9uq4Cg?sZ2gzTNwdC=B%+AG zk9LW)*^(MULY_yuqb1VPKGg2^1LLREm%b1EQN5?uoend;gvEHM?#wNp(4-w(su5j! zL8Z1)7dxyCPh?McT8D65mZmV(Jz+;Awhi>DQniOJw1bj^+|?D;O38|+6;`tvyivZ_ zb9kN@jo%mOBKPn`;cF@T;{oK3(cakp#3;0=tVf61JS}YK5`M2rE254ix|jWadH4Qw zy`s%=u&?sS^^qAE>r=lJAfF;q%aZub4Bg(n$7(4e5qSqG5#^ze5pT1m3@k@?tYa)lNoA^+PZdqR61<- zfY*Q@aA{IY3w45i6X%cE5xIJWJgyhPb1AmktAy?Z!OaTDh}pp@M)+ z2m8!P54C`usjx4W7T-|l9>v=#DPz$jz>=w}z_LpBTpXnEM1*j+7mBo;c(1QYbayt{_B9-R$5(5 zXv!}(NNQS8?_ovx{iauP;%N4Mkms(9PwQm1cduV%%&10G&Z}9L8ho&sCw5~onYTj)WnilL@HXkGoXCeRhukx?10bfcWV)>_RDn$s#etat*W9}*-Ex_C{L`h=FM@D zEhfu{ygB08A^E7!>{qmzp;+qvnZfp%x6WI_X{8`$cNwBEgyTbCb4U(V;=_SHWQ9As}9x;jTy58&=z zcQ#9ArZyc@kOcsR`+8Qqsh zGUCT$k(1eeXU9<|MBX2y*2lIK8&Onu42!i~+TVTI6>zC+q3o zr^hc2Lv}AC$4c6KWtfHR8!n%EeK8KAd2MtTg>_Cbe^(k;U1&<{7u0VY-__cK`Az-R z>LsV{6DoMjk|r44^Ab9OMA5!qQK8#j=eKD@c@o^S)DXWs4-TL(bI=g^{n`A<-#UI@ z?8c~$gg!Rxeo%4#Lf%B{fTezQX<~|s@6q*N4Josm$5`%HM4638tIIf|ZmoNvJ1!WI_tE7%>$hu}Y$N-s zx?CS>Ey^fb59`Ryu1v_3arr{o=BYqT&hwh%Yqq$)Y7<8i)^-vC4tQUZA~A`Oyu+{t zXwbAfyQxVMAy7@q{qyp=hN$O`Ptum8-Has3Fyre?-pK0>o8BQ(X}5MWxZtD-O$1F* zlf1|hfNzHvEg>+t5ML$&022Nbj*Jq3o9_dp2AY**?EwoZpeag+6`r0Kwa%;P_@;78zNL!lA?>!wew+~b7G!UipJPh>gC&O0c;{5?|TQP6c&z#KMt z9bRe?2AYlGa|+W{+!GQ2aB>@kWm^;&uzQ9hyNl@ntkORU0}V5BCeRE5*mMoy(FK61 zEz5(st7(Ls8<;*>q44Q&lS@kn+4XRToBo+ z1-)Ty$-;jig|DZuIt}--3 z&nG-QuN2wjIYl~_}>YP80}(U zkY#t_6+S@h!^)8)*zGikd_bTEcHCFUk`z4nbp7dSLR~tn5c2H-8WluIkb=jsnkp%6 z%Vp^j1(@l$rj;cR`p&OIVHPz8%($T*iy|>O663^99kP51oCJRcKdx2E_`K&34}HjI z=Fc`B5wI9p$6<16T29Q6(ltaI61t&valz;OH|TzsuuX+YTSNk92nSb+%ggl-|CARL zN=zH7(N4C=>ShczlJ0q59Kt((=18j(fF3VGww;p`%6o6ifShF+Hp$RTA`?NbP_+~G z6^VM0qdcQd&UQ5DXhTyKeg`t_-x&EG7-ou`19=f)mn|QtWhh8?!xP+^+#UTbw=nFRUoH@V#- z+>uSle^=L6nv866r$^9(lMCE6pj8cpg&LcAfL<_ZUIRI|G{KWl&{{?`bZg%C`vm;B z<2Ikld*ZGR5`=DhMTuL)jSc=m{@?&WXkC)7ik7AziD?Hp-;?(we#k+l1s~q8;b@sw zk^W->CFE`wl;*kp2^C~#4t!hLEKF6eI$8lz8J1He>+8TpPRm4;*=^^=mVn!8B0JhP z9a039pBKX$^Wc9P(El`f&2UbM-^dFMo4t;JTfk0C{22oYq0n}rYL|%gybr*M!*DEG zL^*cDUK&j`ClMzO-sN)71m=MRvhl@{<$=@Yl`=_ao zBqq7#;|0imur$&Sqr;wnnE05z7=F|Go&7`VOo*WHg5SUIFgyzLy=jSd82uSzT7;gi zGOYQW5VidoqW(nDgp5c2bFdNBpEf@jkBS_c8W%eAu!4jHQqURJyF>72nN=FS=WibSNNAMbvlGV0A8=1m{YagTwJaT75W8Qf_UuhMYkX%OYrfNo6)&smK`XF>XZA^gcb7Rq`himq&ppSe0rQD#vSI6o7PG7SY zrYgZd14osO?PwGLkBlU)?4U$`_=29WR^MOCghS0jMk}4X#r$0tpw-d86u%=fb6CLuT zsLP{S@=B(~%ys&;J;demp+9Ch;T?XH+*d}7uROj)Vh3v5&#eNvXn*guC5V2A_bt`o zx0zm6$765wezgGAB__&=+!cXwaFAx zESD`d&%{3PgFn|$|BO%L!1pWBs{r+GRo&WC;TgXSC7jS$b_xdhXW0T)+41a5mcj9c zuVZ8TwH{!l@fUUL#ziW`&sFZN)!^;CI1-!LyY#1Rk;%Sp+@64p_Ktlkj(zub-dE2; zuScrvzw!FIIfpu>QdxSqJW>m(7pp0$!(PuXR3iJvdY*HsjJ=ug$vJ8ib&5}hBH5UY(?+-bc&S+}0xjiucQSFE;q2Mbx~h?OPNK(?UNYg?ytDUe zTQxWZ7klN!L%+J9Yb?bE-NwShjVqhSwK9v>Z%7V@#jy&CVn`#o$}}C<;gciStWdLp z1vVQc)jd+G@P>!dl=le0zrxbK-NV(0x9m@q`<4?3^WH7#oEblvRygRHYiH-o)F|re zG8WD8*YB8ozkYU#jsE2k+{sW(_&9CsdHFrKf?gDk6qPaLTRoO&CRI~H34faoFH}nD zzus6q=XswIGfrSCk~5u9dEZg}d5?dMK8}%~1JzFjs*Y88vi{=p94WD@P?6|M+k^vL z_PPM2(Mf@b1~X|&Uuj`tuQdO|*u1{w%GWGTtXydty`klaLqF=A8-iPS&~Ez^MAdpq z&nj{t^uJ+1G3gwBRb|pYAXY=HciRa=5iQ+U7dG?I$7bol zpnHWvN5hlLvN$^0dTl>pBSq*I2(pPT{{$6ty@2`PhvxSK1cf>9&-dQvYwTKww?s;( zvF@H?Z{!;)V{h>IuV&Y#OK-GA49a}`rgJP~s7)Kih0`v5r(GJWJsHh{7GsdkuE~Fz zwJ%)O9vbOAJ;9b-swmR9ijHo{yLu&YR#8zHw~@$)fUB{r9aup@^-)g+^EH2Lt-vfM zL?XISf%;}U{BifLEIkyE7Le)XjsXzc6&Cevr~t|cw{O8-4xp{Li;F&Zs+k*0yGY_L zs@VkQ_$cMyE5RbnA-&i9(m9mJu%Xvjk=^1Z7ukI*mL#dx6iw+g#GyBkuIt{ z2H1upf^38p@-idtRv~iXHl31P*+79uprWyIWoqndWzz$r`$`YuwGoexb{T)mVvdE< zgv^MZVP`rY$e+nFtwFV3*{UDyuD{YXNKl&1){$SOMB$4-^pIl6&>4 zLc{A;^vR&C?@0Wqx8>*zY-AS`YTv~fi>>mMuAfUf#`xr3m?uVads&LyIXVOdV0Xjtk-XgSl5vj<_&`+|-=x0e0qm<22!pqT5VVq?16^V25wG=$Vu`U!S6Tng1` zj3ahdLN5!kB5N0b0)LDm#Pq>c<4VMcmTd&&|*tzXg}uI|FvpS|O? zg9)pQYT=YNo5&_+b8-iSs^qV$_H$ETwrW0d7OuR%|!*+3oqvP6O;P4L12+ z*3pyh$SikLtaM8WLDtf>r^No=U!#V$2@eVMbZh?%9|`OL79WOR#biLEKrOIx4Z zeG+h`arpHHgvXB{t7JXKNV|T@?l+P{i~=Xt|ELt>Xu5g!>_TA&alYIsyIZ7t*u#V3 zlhGEy|3+_D8G7_kFXsYpyovSll5XP>>j8(*)xDGD492VQljVa&o{*MYieq$j_a}4# zP+2-cHn++J6~2ce$kiZ>=r~jX`$I0V8wNggO(NX(;t+I>VZV zC_aWz8%`3JYxfV-jg*42x9+zd^-+YHQiht6hMLlZUUK0#FyJ@v<2T&HZxF|CVEKkJ zkv;dT=OU-;1+1~9xNM~ykGcZ~HsY)*9{%ilXsJkcc3{|GeFzKIdrc8~$)Wj+YuLd3 zdeqf{ZmXu?{WF$t(=^?m87a?4kEoSR=#2+e+J9w{WzPh~mvpQZ#HIqDB!+iDcFG2HgeTNW=+;l40~%P)TmJ?ywW!5cflrnhr#GS5bd z@yH=QoS@u}uEMa<#_B+JWeCH93k9uK)eTB@BmT3uOh3P0H@A7ZtbH7hn(Dpb@~X!N{i~HI6cg*dJCKUD2r23xCphI z;Vt86D9lp98VMHADJVpzwP1(CrS`FWu#rx5izO7HNDVz47xYIN_@Qcd#(wF$#}q5W zP*^Z5bWq^6sPIzQWYw3y)igSC_toiK6wA^#XTE6l-$@kaAPMT-mYwxO&}ev|B(>0n z4&V?=@^r-61=2a(?`0hQDm#^D%L%2)XmH~)1>o13th1NI<+dT zJCMO$=E9phtf(iv5 z1)D6A-HwoT^q7~eEm-uNqwM~fT*mPcm`nntFd!}bXMj!a`wA4RfUL!=&k#p!wZw|V z?+n?gY+KHbHyD1X8|U$Z5*9p22lr3@^b()Nfg^qQY}fs;@G~F5^#8f0W9OZ|DjR^S~MfO1sa6 zV!ec?t6I?1_f6=e+_mh}g&{k?{DKieRCok;_y>BmGW&;AY+R;vo^H9phr0y0>4By?iM(9XWxaz8@@m7F7z_cV?gz&QOP5GHSNT z=;*bzfd3JO&QO*t)QEZw?!boT;+~r)oR02i!QMCI!B3#ujS{hb8uz$&n_!LSAQfH7 zwk=~7$i$WvLA;t%a2OsSpnm(xYF$H;V_tEzEL#Q@~ztEH2E+A9YlOw@O zJTjou7sclwgi5My?@^T*(A9e1qufNunuWQ_NfC%H$HNY_OYKWWU?aV^EHuz9tWe?Z zut^=5!Kv)~2Xy*;_Psgmf4cY zUF1zkyT{=(QGwG`7g6Oi)wu2fNqNldLa6}cl`2yX(-`C4)u((N%Vm~I>z1r>3*|Iq zfa12;TPvSi<5wCC;^HRoIWW0%9cu;~fmeu9`--<0Soxnt$d@meXXjE5jRt8o_VEiJ zFow0X;J}Q#RVdPjv*6c(9$#7g2i!iH5{6C7|J^(KGKGBbx%4v;)}GilxCc*Ri87wq z8mjQGyEgUriUXDC?T3R~RW0aqDnlwwAotSd`_5&f@zRmj$X6n`Bjm3Xxx;mmRu7*F zRvNT=;wE^XUN=fD2=D7e`#yh4?J@Z!kozp-Q+?J~-8`-e-rz#VMdJ}Of-sYwEaHN% zEpwT?v6!689=HVc{Dk$1Cd9?uI~!f1s~^J|3+nF?*26Ha4p(2_S6yZlK9Hh-Dx&4f z8F{Qq2C(l~FdP`RIjg%52%S-Plsu3)<4*?HX0xk!(LJqv|K7JS*jkf^?c=K7NKO~SL2hUPXo$@?!p^KEOmXo@O+-ug|un}<(gC%?9(Gl_N#dkx`L z!M8RNNIQxhM&7G$bwZ6eT)Qk#9odBQ`0_J;8c z77|k+md+XgZfF$rAf_%N#8uACCEFbN$V!QbM-nLSm@+tuM4Jng|(`_fgz*9hgQ5aGTSFXFP9I_s_V z$3+K61!}z;G%nb18dz54;+~}6m6YpMcBS%Y)!@&WeGR<4gQILImsk3YODg8qKWynQ z7fD8BG`nBQIzG*vFSxXB+sjrp2czm79|Bxk`{PbCWaj;1333t2Xwt8=j@lY`JX<5+ zdc$Syadp*L_9M@{&l;YF@Jed}(<V&0)YFCLz6%z8GI5kL~EhLb4HrAKD#OLvg<3oV`CWW50~#r{U^S^k@T^#znB zvhFmZip6785@-mgeHG0D;T3avfM!I_X0AndbUlh=nGauqRjNZPinuI6R?Z>45x*Yt+wXF_coV zwjDpa`TUd)iGe=U5K4$=!u8yYqPzZ{f8=8fX$O$y8Q$MUO?*O{BU~iH+ z@)FUj=nqh{$Mu=#haWlbel|N*lD;Sdj1UX*XS&k=0LyRT(mdV)k1uSiHd>~zwH{L? zfx6*^W^vsb{eE~d05*9EGblf>U{`murOI6Rmg}>97%XuwOQgyC+1GE+lg8FTa72P3v!-rnRh@1bEwOBpqu+Q1d5Y; zje9gT1!J5ad%u9-TkIgie(@uZ^!_x4I4CY;f2^3bEv;3_zqK}#-eL9OGP=7~B+GMi zLhQke=-5mb_!1%( z1((s#`QlFBn$anTJ#BJ5Z z6#GO!_KB$W_n0MqEy4Z}jgtR$52raJ#$d)PS6YQqC5(Ts3H7)tAWQB((+l!18SkHA ztabZXF}cfhlqh2R?xTZ?N~>6b)Q-3 z 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 g3QvlNIW$5 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 diff --git a/lib/src/test/tokenizer.test.ts b/lib/src/test/tokenizer.test.ts index 5c3ee1194..21f6faca4 100644 --- a/lib/src/test/tokenizer.test.ts +++ b/lib/src/test/tokenizer.test.ts @@ -9,7 +9,7 @@ const languageFiles = { "c-sharp": "../samples/c-sharp/Caesar.cs", "char": "../samples/char/caesar.txt", "cpp": "../samples/cpp/caesar.cpp", - //"elm": "../samples/elm/Caesar.elm", + "elm": "../samples/elm/Caesar.elm", "java": "../samples/java/Caesar.java", "javascript": "../samples/javascript/sample.js", "python": "../samples/python/caesar.py", diff --git a/package-lock.json b/package-lock.json index bfcc5037c..620ce3643 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2034,6 +2034,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -3836,6 +3844,11 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -6879,6 +6892,17 @@ "tree-sitter": "cli.js" } }, + "node_modules/tree-sitter-compat": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tree-sitter-compat/-/tree-sitter-compat-0.1.0.tgz", + "integrity": "sha512-kzIz7HvS+LPLjXYdZclsMguhFgSdKEzreW1AqjmQxkuauSLI+GXAojhoO+jpWUbY3J96oornEf3L0sznosawQw==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^8.0.0", + "prebuild-install": "^7.1.2" + } + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -7728,7 +7752,8 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { - "node-addon-api": "^8.0.0" + "node-addon-api": "^8.0.0", + "tree-sitter-compat": "^0.1.0" }, "devDependencies": { "node-gyp": "^9.4.1", diff --git a/parsers/binding.gyp b/parsers/binding.gyp index 25ea75584..7e1321298 100644 --- a/parsers/binding.gyp +++ b/parsers/binding.gyp @@ -4,7 +4,7 @@ "c/binding.gyp", "cpp/binding.gyp", "c_sharp/binding.gyp", - #"elm/binding.gyp", + "elm/binding.gyp", "java/binding.gyp", "javascript/binding.gyp", "modelica/binding.gyp", diff --git a/parsers/elm b/parsers/elm index debe14fad..09dbf221d 160000 --- a/parsers/elm +++ b/parsers/elm @@ -1 +1 @@ -Subproject commit debe14fad40a8100c679d95c66f599b48111742c +Subproject commit 09dbf221d7491dc8d8839616b27c21b9c025c457 diff --git a/parsers/index.js b/parsers/index.js index 6d3631dfb..69fe54f9d 100644 --- a/parsers/index.js +++ b/parsers/index.js @@ -1,50 +1,58 @@ -module.exports.bash = require("./build/Release/tree_sitter_bash_binding"); -module.exports.bash.nodeTypeInfo = require("./bash/src/node-types.json"); +const parsers = {}; -module.exports.c = require("./build/Release/tree_sitter_c_binding"); -module.exports.c.nodeTypeInfo = require("./c/src/node-types.json"); +parsers.bash = require("./build/Release/tree_sitter_bash_binding"); +parsers.bash.nodeTypeInfo = require("./bash/src/node-types.json"); -module.exports.cpp = require("./build/Release/tree_sitter_cpp_binding"); -module.exports.cpp.nodeTypeInfo = require("./cpp/src/node-types.json"); +parsers.c = require("./build/Release/tree_sitter_c_binding"); +parsers.c.nodeTypeInfo = require("./c/src/node-types.json"); -module.exports["c-sharp"] = require("./build/Release/tree_sitter_c_sharp_binding"); -module.exports["c-sharp"].nodeTypeInfo = require("./c_sharp/src/node-types.json"); +parsers.cpp = require("./build/Release/tree_sitter_cpp_binding"); +parsers.cpp.nodeTypeInfo = require("./cpp/src/node-types.json"); -//module.exports.elm = require("./build/Release/tree_sitter_elm_binding"); -//module.exports.elm.nodeTypeInfo = require("./elm/src/node-types.json"); +parsers["c-sharp"] = require("./build/Release/tree_sitter_c_sharp_binding"); +parsers["c-sharp"].nodeTypeInfo = require("./c_sharp/src/node-types.json"); -module.exports.java = require("./build/Release/tree_sitter_java_binding"); -module.exports.java.nodeTypeInfo = require("./java/src/node-types.json"); +parsers.elm = require("./build/Release/tree_sitter_elm_binding"); +parsers.elm.nodeTypeInfo = require("./elm/src/node-types.json"); -module.exports.javascript = require("./build/Release/tree_sitter_javascript_binding"); -module.exports.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); +parsers.java = require("./build/Release/tree_sitter_java_binding"); +parsers.java.nodeTypeInfo = require("./java/src/node-types.json"); -module.exports.modelica = require("./build/Release/tree_sitter_modelica_binding"); -module.exports.modelica.nodeTypeInfo = require("./modelica/src/node-types.json"); +parsers.javascript = require("./build/Release/tree_sitter_javascript_binding"); +parsers.javascript.nodeTypeInfo = require("./javascript/src/node-types.json"); + +parsers.modelica = require("./build/Release/tree_sitter_modelica_binding"); +parsers.modelica.nodeTypeInfo = require("./modelica/src/node-types.json"); // Note: this parser provides php_only and php (includes HTML) -module.exports.php = require("./build/Release/tree_sitter_php_binding").php; -module.exports.php.nodeTypeInfo = require("./php/php/src/node-types.json"); +parsers.php = require("./build/Release/tree_sitter_php_binding").php; +parsers.php.nodeTypeInfo = require("./php/php/src/node-types.json"); -module.exports.python = require("./build/Release/tree_sitter_python_binding"); -module.exports.python.nodeTypeInfo = require("./python/src/node-types.json"); +parsers.python = require("./build/Release/tree_sitter_python_binding"); +parsers.python.nodeTypeInfo = require("./python/src/node-types.json"); -//module.exports.r = require("./build/Release/tree_sitter_r_binding"); -//module.exports.r.nodeTypeInfo = require("./r/src/node-types.json"); +//parsers.r = require("./build/Release/tree_sitter_r_binding"); +//parsers.r.nodeTypeInfo = require("./r/src/node-types.json"); -module.exports.scala = require("./build/Release/tree_sitter_scala_binding"); -module.exports.scala.nodeTypeInfo = require("./scala/src/node-types.json"); +parsers.scala = require("./build/Release/tree_sitter_scala_binding"); +parsers.scala.nodeTypeInfo = require("./scala/src/node-types.json"); -//module.exports.sql = require("./build/Release/tree_sitter_sql_binding"); -//module.exports.sql.nodeTypeInfo = require("./sql/src/node-types.json"); +//parsers.sql = require("./build/Release/tree_sitter_sql_binding"); +//parsers.sql.nodeTypeInfo = require("./sql/src/node-types.json"); const typescript_tsx = require("./build/Release/tree_sitter_typescript_binding"); -module.exports.typescript = typescript_tsx.typescript; -module.exports.typescript.nodeTypeInfo = require("./typescript/typescript/src/node-types.json"); +parsers.typescript = typescript_tsx.typescript; +parsers.typescript.nodeTypeInfo = require("./typescript/typescript/src/node-types.json"); + +parsers.tsx = typescript_tsx.tsx; +parsers.tsx.nodeTypeInfo = require("./typescript/tsx/src/node-types.json"); -module.exports.tsx = typescript_tsx.tsx; -module.exports.tsx.nodeTypeInfo = require("./typescript/tsx/src/node-types.json"); +//parsers.verilog = require("./build/Release/tree_sitter_verilog_binding"); +//parsers.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); -//module.exports.verilog = require("./build/Release/tree_sitter_verilog_binding"); -//module.exports.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); +// Converting tree-sitter 0.21 parsers is a no-op +const convert = require("tree-sitter-compat").convertLanguage; +for (const [key, value] of Object.entries(parsers)) { + module.exports[key] = convert(value); +} diff --git a/parsers/package.json b/parsers/package.json index f2ce2e46c..252f2c0e5 100644 --- a/parsers/package.json +++ b/parsers/package.json @@ -9,7 +9,8 @@ "build": "node-gyp rebuild" }, "dependencies": { - "node-addon-api": "^8.0.0" + "node-addon-api": "^8.0.0", + "tree-sitter-compat": "^0.1.0" }, "devDependencies": { "node-gyp": "^9.4.1", From 2be08724d67e5a188d3e7ed8ac5bad2d9cfca68e Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 11:33:49 +0200 Subject: [PATCH 08/10] Update SQL, verilog --- lib/src/test/snapshots/tokenizer.test.ts.md | 5864 ++++++++++++++--- lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 101467 -> 121052 bytes lib/src/test/tokenizer.test.ts | 6 +- parsers/binding.gyp | 6 +- parsers/index.js | 13 +- parsers/sql | 2 +- parsers/verilog | 2 +- 7 files changed, 4782 insertions(+), 1111 deletions(-) diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index 6acd885a1..b60476449 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -17353,369 +17353,348 @@ Generated by [AVA](https://avajs.dev). ')', ] -## tokenizer works for scala +## tokenizer works for r > stable tokenization [ '(', - 'compilation_unit', - '(', - 'object_definition', + 'program', '(', 'identifier', ')', '(', - 'template_body', - '(', - 'val_definition', - '(', - 'modifiers', + 'ERROR', '(', - 'access_modifier', + 'ERROR', ')', ')', '(', - 'identifier', - ')', + 'function', '(', - 'infix_expression', + 'parameters', '(', - 'character_literal', - ')', + 'parameter', '(', 'identifier', ')', - '(', - 'character_literal', - ')', - ')', ')', '(', - 'val_definition', + 'comma', + ')', '(', - 'modifiers', + 'parameter', '(', - 'access_modifier', + 'identifier', ')', ')', - '(', - 'identifier', ')', '(', - 'infix_expression', + 'block', '(', - 'character_literal', + 'comment', ')', '(', + 'if', + '(', 'identifier', ')', '(', - 'character_literal', - ')', + 'ERROR', + '(', + 'ERROR', ')', ')', '(', - 'function_definition', + 'block', '(', 'identifier', ')', '(', - 'parameters', - '(', - 'parameter', + 'ERROR', '(', - 'identifier', + 'ERROR', ')', - '(', - 'type_identifier', ')', + '(', + 'float', ')', '(', - 'parameter', + 'ERROR', '(', - 'identifier', + 'ERROR', + ')', ')', '(', - 'type_identifier', + 'identifier', ')', ')', ')', '(', - 'call_expression', - '(', - 'field_expression', - '(', 'identifier', ')', '(', - 'identifier', + 'ERROR', + '(', + 'ERROR', ')', ')', '(', - 'case_block', - '(', - 'case_clause', + 'call', '(', 'identifier', ')', '(', - 'guard', - '(', - 'call_expression', + 'arguments', '(', - 'field_expression', + 'argument', '(', 'identifier', ')', - '(', - 'identifier', ')', + '(', + 'comma', ')', '(', - 'arguments', + 'argument', '(', 'identifier', ')', ')', - ')', + '(', + 'comma', ')', '(', - 'call_expression', + 'argument', '(', 'identifier', ')', '(', - 'arguments', + 'string', + ')', + ')', '(', - 'identifier', + 'comma', ')', '(', + 'argument', + '(', 'identifier', ')', '(', - 'identifier', + 'string', ')', ')', ')', ')', '(', - 'case_clause', - '(', 'identifier', ')', '(', - 'guard', - '(', - 'call_expression', - '(', - 'field_expression', + 'ERROR', '(', - 'identifier', + 'ERROR', ')', + ')', + '(', + 'call', '(', 'identifier', ')', - ')', '(', 'arguments', '(', - 'identifier', - ')', - ')', - ')', - ')', + 'argument', '(', - 'call_expression', + 'call', '(', 'identifier', ')', '(', 'arguments', '(', - 'identifier', - ')', - '(', - 'identifier', - ')', + 'argument', '(', 'identifier', ')', ')', - ')', + '(', + 'comma', ')', '(', - 'case_clause', + 'argument', '(', 'identifier', ')', - '(', - 'identifier', ')', + '(', + 'ERROR', + '(', + 'ERROR', ')', ')', + '(', + 'argument', + '(', + 'float', ')', ')', '(', - 'function_definition', + 'ERROR', '(', - 'identifier', + 'ERROR', + ')', ')', '(', - 'parameters', - '(', - 'parameter', + 'argument', '(', - 'identifier', + 'float', ')', - '(', - 'type_identifier', ')', + '(', + 'comma', ')', '(', - 'parameter', + 'argument', '(', - 'identifier', + 'float', + ')', ')', - '(', - 'type_identifier', ')', ')', ')', '(', - 'call_expression', - '(', - 'identifier', + 'comma', ')', '(', - 'arguments', + 'argument', + '(', + 'call', '(', 'identifier', ')', '(', - 'prefix_expression', + 'arguments', + '(', + 'argument', '(', 'identifier', ')', ')', - ')', - ')', - ')', '(', - 'function_definition', + 'comma', + ')', '(', - 'modifiers', + 'argument', '(', - 'access_modifier', + 'float', ')', ')', '(', - 'identifier', + 'comma', ')', '(', - 'parameters', - '(', - 'parameter', + 'argument', '(', 'identifier', ')', + ')', '(', - 'generic_type', + 'ERROR', '(', - 'type_identifier', + 'ERROR', + ')', ')', '(', - 'type_arguments', + 'argument', '(', - 'type_identifier', + 'float', ')', ')', ')', ')', - '(', - 'parameter', - '(', - 'identifier', ')', '(', - 'type_identifier', - ')', + 'comma', ')', '(', - 'parameter', + 'argument', '(', 'identifier', ')', '(', - 'type_identifier', + 'string', + ')', ')', ')', ')', '(', - 'call_expression', + 'call', '(', 'identifier', ')', '(', 'arguments', '(', - 'infix_expression', - '(', - 'parenthesized_expression', - '(', - 'infix_expression', - '(', - 'infix_expression', - '(', - 'infix_expression', + 'argument', '(', 'identifier', ')', + ')', '(', - 'operator_identifier', + 'comma', ')', '(', - 'field_expression', + 'argument', '(', 'identifier', ')', + ')', + '(', + 'comma', + ')', + '(', + 'argument', '(', 'identifier', ')', ')', ')', - '(', - 'operator_identifier', ')', - '(', - 'identifier', ')', ')', '(', - 'operator_identifier', + 'comment', ')', '(', - 'field_expression', + 'call', '(', 'identifier', ')', '(', + 'arguments', + '(', + 'argument', + '(', + 'call', + '(', 'identifier', ')', - ')', - ')', - ')', '(', - 'operator_identifier', - ')', + 'arguments', '(', - 'field_expression', + 'argument', '(', - 'identifier', + 'string', + ')', ')', '(', - 'identifier', + 'comma', ')', + '(', + 'argument', + '(', + 'float', ')', ')', ')', @@ -17723,241 +17702,3849 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', + '(', + 'call', + '(', + 'identifier', ')', - ] - -## tokenizer works for tsx - -> stable tokenization - - [ '(', - 'program', + 'arguments', '(', - 'comment', + 'argument', + '(', + 'call', + '(', + 'identifier', ')', '(', - 'interface_declaration', + 'arguments', '(', - 'type_identifier', + 'argument', + '(', + 'string', + ')', ')', '(', - 'interface_body', + 'comma', + ')', + '(', + 'argument', + '(', + 'float', + ')', + ')', + ')', + ')', + ')', ')', ')', '(', - 'class_declaration', + 'comment', + ')', '(', - 'type_identifier', + 'identifier', ')', '(', - 'class_heritage', + 'ERROR', '(', - 'extends_clause', + 'ERROR', + ')', + ')', '(', - 'member_expression', + 'float', + ')', '(', 'identifier', ')', '(', - 'property_identifier', + 'ERROR', + '(', + 'ERROR', ')', ')', '(', - 'type_arguments', + 'string', + ')', '(', - 'object_type', + 'identifier', + ')', '(', - 'property_signature', + 'ERROR', '(', - 'property_identifier', + 'ERROR', + ')', ')', '(', - 'type_annotation', + 'call', '(', - 'predefined_type', + 'identifier', ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'identifier', ')', ')', '(', - 'property_signature', - '(', - 'property_identifier', + 'comma', ')', '(', - 'type_annotation', + 'argument', '(', - 'predefined_type', + 'identifier', ')', ')', ')', ')', '(', - 'type_identifier', + 'identifier', ')', + '(', + 'ERROR', + '(', + 'ERROR', ')', ')', + '(', + 'call', + '(', + 'identifier', ')', '(', - 'class_body', + 'arguments', '(', - 'method_definition', + 'argument', '(', - 'property_identifier', + 'identifier', + ')', ')', '(', - 'formal_parameters', + 'comma', ')', '(', - 'statement_block', + 'ERROR', '(', - 'expression_statement', + 'ERROR', + ')', + ')', '(', - 'call_expression', + 'argument', '(', - 'super', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'call', + '(', + 'identifier', ')', '(', 'arguments', + '(', + 'argument', + '(', + 'call', + '(', + 'identifier', ')', + '(', + 'arguments', + '(', + 'argument', + '(', + 'string', ')', ')', '(', - 'expression_statement', + 'comma', + ')', '(', - 'assignment_expression', + 'argument', '(', - 'member_expression', + 'identifier', + ')', + ')', '(', - 'this', + 'comma', ')', '(', - 'property_identifier', + 'argument', + '(', + 'identifier', + ')', + '(', + 'string', + ')', + ')', + ')', + ')', + ')', ')', ')', '(', - 'object', + 'call', '(', - 'pair', + 'identifier', + ')', '(', - 'property_identifier', + 'arguments', + '(', + 'argument', + '(', + 'call', + '(', + 'identifier', ')', '(', - 'array', + 'arguments', + '(', + 'argument', + '(', + 'string', ')', ')', + '(', + 'comma', ')', + '(', + 'argument', + '(', + 'identifier', ')', ')', + '(', + 'comma', ')', + '(', + 'argument', + '(', + 'identifier', ')', '(', - 'method_definition', + 'string', + ')', + ')', + ')', + ')', + ')', + ')', + ')', '(', - 'property_identifier', + 'call', + '(', + 'identifier', ')', '(', - 'formal_parameters', + 'arguments', + '(', + 'argument', + '(', + 'call', + '(', + 'identifier', ')', '(', - 'statement_block', + 'arguments', '(', - 'expression_statement', + 'argument', '(', - 'call_expression', + 'string', + ')', + ')', '(', - 'member_expression', + 'comma', + ')', + '(', + 'argument', '(', 'identifier', ')', + ')', '(', - 'property_identifier', + 'comma', ')', + '(', + 'argument', + '(', + 'identifier', ')', '(', - 'arguments', + 'string', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for scala + +> stable tokenization + + [ '(', - 'object', + 'compilation_unit', '(', - 'pair', + 'object_definition', '(', - 'property_identifier', + 'identifier', ')', '(', - 'member_expression', + 'template_body', '(', - 'member_expression', + 'val_definition', '(', - 'this', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'infix_expression', + '(', + 'character_literal', + ')', + '(', + 'identifier', + ')', + '(', + 'character_literal', + ')', + ')', + ')', + '(', + 'val_definition', + '(', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'infix_expression', + '(', + 'character_literal', + ')', + '(', + 'identifier', + ')', + '(', + 'character_literal', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'case_block', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'guard', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'guard', + '(', + 'call_expression', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'case_clause', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'prefix_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'function_definition', + '(', + 'modifiers', + '(', + 'access_modifier', + ')', + ')', + '(', + 'identifier', + ')', + '(', + 'parameters', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'generic_type', + '(', + 'type_identifier', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + '(', + 'parameter', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'infix_expression', + '(', + 'parenthesized_expression', + '(', + 'infix_expression', + '(', + 'infix_expression', + '(', + 'infix_expression', + '(', + 'identifier', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'operator_identifier', + ')', + '(', + 'field_expression', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for sql + +> stable tokenization + + [ + '(', + 'program', + '(', + 'statement', + '(', + 'create_table', + '(', + 'keyword_create', + ')', + '(', + 'keyword_table', + ')', + '(', + 'keyword_if', + ')', + '(', + 'keyword_not', + ')', + '(', + 'keyword_exists', + ')', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'column_definitions', + '(', + 'column_definition', + '(', + 'identifier', + ')', + '(', + 'bigint', + '(', + 'keyword_bigint', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'keyword_not', + ')', + '(', + 'keyword_null', + ')', + '(', + 'keyword_auto_increment', + ')', + ')', + '(', + 'column_definition', + '(', + 'identifier', + ')', + '(', + 'bigint', + '(', + 'keyword_bigint', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'keyword_default', + ')', + '(', + 'literal', + '(', + 'keyword_null', + ')', + ')', + ')', + '(', + 'column_definition', + '(', + 'identifier', + ')', + '(', + 'varchar', + '(', + 'keyword_varchar', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'keyword_default', + ')', + '(', + 'literal', + '(', + 'keyword_null', + ')', + ')', + ')', + '(', + 'column_definition', + '(', + 'identifier', + ')', + '(', + 'keyword_datetime', + ')', + '(', + 'keyword_default', + ')', + '(', + 'literal', + '(', + 'keyword_null', + ')', + ')', + ')', + '(', + 'constraints', + '(', + 'constraint', + '(', + 'keyword_primary', + ')', + '(', + 'keyword_key', + ')', + '(', + 'ordered_columns', + '(', + 'column', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'constraint', + '(', + 'keyword_key', + ')', + '(', + 'identifier', + ')', + '(', + 'ordered_columns', + '(', + 'column', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'constraint', + '(', + 'keyword_key', + ')', + '(', + 'identifier', + ')', + '(', + 'ordered_columns', + '(', + 'column', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'constraint', + '(', + 'keyword_key', + ')', + '(', + 'identifier', + ')', + '(', + 'ordered_columns', + '(', + 'column', + '(', + 'identifier', + ')', + ')', + '(', + 'column', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement', + '(', + 'select', + '(', + 'keyword_select', + ')', + '(', + 'select_expression', + '(', + 'term', + '(', + 'all_fields', + ')', + ')', + ')', + ')', + '(', + 'from', + '(', + 'keyword_from', + ')', + '(', + 'relation', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'where', + '(', + 'keyword_where', + ')', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'keyword_and', + ')', + '(', + 'binary_expression', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'literal', + ')', + ')', + ')', + '(', + 'keyword_or', + ')', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'keyword_and', + ')', + '(', + 'ERROR', + '(', + 'object_reference', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'keyword_table', + ')', + '(', + 'keyword_if', + ')', + '(', + 'keyword_exists', + ')', + '(', + 'keyword_add', + ')', + '(', + 'keyword_column', + ')', + '(', + 'keyword_if', + ')', + ')', + '(', + 'unary_expression', + '(', + 'keyword_not', + ')', + '(', + 'ERROR', + '(', + 'keyword_exists', + ')', + '(', + 'keyword_date', + ')', + '(', + 'keyword_alter', + ')', + '(', + 'keyword_column', + ')', + '(', + 'keyword_drop', + ')', + ')', + '(', + 'unary_expression', + '(', + 'keyword_not', + ')', + '(', + 'literal', + '(', + 'keyword_null', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'ERROR', + '(', + 'comment', + ')', + '(', + 'keyword_drop', + ')', + '(', + 'keyword_column', + ')', + '(', + 'keyword_if', + ')', + '(', + 'keyword_exists', + ')', + ')', + '(', + 'statement', + '(', + 'update', + '(', + 'keyword_update', + ')', + '(', + 'relation', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'keyword_as', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'keyword_set', + ')', + '(', + 'assignment', + '(', + 'field', + '(', + 'identifier', + ')', + ')', + '(', + 'literal', + ')', + ')', + '(', + 'from', + '(', + 'keyword_from', + ')', + '(', + 'relation', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'join', + '(', + 'keyword_inner', + ')', + '(', + 'keyword_join', + ')', + '(', + 'relation', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'keyword_on', + ')', + '(', + 'binary_expression', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'where', + '(', + 'keyword_where', + ')', + '(', + 'binary_expression', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'field', + '(', + 'object_reference', + '(', + 'identifier', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for tsx + +> stable tokenization + + [ + '(', + 'program', + '(', + 'comment', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'super', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'assignment_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'array', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'false', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'this', + ')', + ')', + ')', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + ')', + '(', + 'jsx_text', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'arrow_function', + '(', + 'identifier', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'empty_statement', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'function_type', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'object_type', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'nested_type_identifier', + '(', + 'identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'parenthesized_expression', + '(', + 'as_expression', + '(', + 'as_expression', + '(', + 'subscript_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + '(', + 'lexical_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'parenthesized_expression', + '(', + 'as_expression', + '(', + 'as_expression', + '(', + 'subscript_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'predefined_type', + ')', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + ')', + ')', + ')', + ')', + '(', + 'if_statement', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'binary_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + '(', + 'statement_block', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'object', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'pair', + '(', + 'property_identifier', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'identifier', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'empty_statement', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'class_declaration', + '(', + 'type_identifier', + ')', + '(', + 'class_heritage', + '(', + 'extends_clause', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + '(', + 'class_body', + '(', + 'method_definition', + '(', + 'property_identifier', + ')', + '(', + 'formal_parameters', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'parenthesized_expression', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_element', + '(', + 'jsx_opening_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'jsx_expression', + '(', + 'member_expression', + '(', + 'member_expression', + '(', + 'this', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + ')', + '(', + 'jsx_closing_element', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + ')', + '(', + 'interface_declaration', + '(', + 'type_identifier', + ')', + '(', + 'interface_body', + '(', + 'property_signature', + '(', + 'property_identifier', + ')', + '(', + 'type_annotation', + '(', + 'generic_type', + '(', + 'type_identifier', + ')', + '(', + 'type_arguments', + '(', + 'type_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'jsx_self_closing_element', + '(', + 'identifier', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + '(', + 'jsx_attribute', + '(', + 'property_identifier', + ')', + '(', + 'jsx_expression', + '(', + 'number', + ')', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for typescript + +> stable tokenization + + [ + '(', + 'program', + '(', + 'function_declaration', + '(', + 'identifier', + ')', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + ')', + ')', + '(', + 'type_annotation', + '(', + 'predefined_type', + ')', + ')', + '(', + 'statement_block', + '(', + 'return_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'regex', + '(', + 'regex_pattern', + ')', + '(', + 'regex_flags', + ')', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'regex', + '(', + 'regex_pattern', + ')', + '(', + 'regex_flags', + ')', + ')', + '(', + 'arrow_function', + '(', + 'formal_parameters', + '(', + 'required_parameter', + '(', + 'identifier', + ')', + ')', + ')', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'parenthesized_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'binary_expression', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'number', + ')', + ')', + ')', + '(', + 'identifier', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + '(', + 'number', + ')', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'comment', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + ')', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + '(', + 'variable_declaration', + '(', + 'variable_declarator', + '(', + 'identifier', + ')', + '(', + 'call_expression', + '(', + 'identifier', + ')', + '(', + 'arguments', + '(', + 'identifier', + ')', + '(', + 'unary_expression', + '(', + 'number', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'expression_statement', + '(', + 'call_expression', + '(', + 'member_expression', + '(', + 'identifier', + ')', + '(', + 'property_identifier', + ')', + ')', + '(', + 'arguments', + '(', + 'binary_expression', + '(', + 'string', + '(', + 'string_fragment', + ')', + ')', + '(', + 'identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ] + +## tokenizer works for verilog + +> stable tokenization + + [ + '(', + 'source_file', + '(', + 'comment', + ')', + '(', + 'package_declaration', + '(', + 'package_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + '(', + 'zero_directive', + ')', + '(', + 'zero_directive', + ')', + '(', + 'include_compiler_directive', + '(', + 'double_quoted_string', + ')', + ')', + '(', + 'id_directive', + '(', + 'text_macro_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + '(', + 'text_macro_definition', + '(', + 'text_macro_name', + '(', + 'text_macro_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + '(', + 'macro_text', + ')', + ')', + '(', + 'text_macro_definition', + '(', + 'text_macro_name', + '(', + 'text_macro_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + '(', + 'macro_text', + ')', + ')', + '(', + 'text_macro_definition', + '(', + 'text_macro_name', + '(', + 'text_macro_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + '(', + 'macro_text', + ')', + ')', + '(', + 'module_declaration', + '(', + 'module_header', + '(', + 'module_keyword', + ')', + '(', + 'simple_identifier', + ')', + ')', + '(', + 'module_nonansi_header', + '(', + 'list_of_ports', + '(', + 'port', + '(', + 'port_reference', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'port', + '(', + 'port_reference', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'port', + '(', + 'port_reference', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'port', + '(', + 'port_reference', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'module_or_generate_item', + '(', + 'package_or_generate_item_declaration', + '(', + 'parameter_declaration', + '(', + 'list_of_param_assignments', + '(', + 'param_assignment', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + '(', + 'constant_param_expression', + '(', + 'constant_mintypmax_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'module_or_generate_item', + '(', + 'package_or_generate_item_declaration', + '(', + 'parameter_declaration', + '(', + 'list_of_param_assignments', + '(', + 'param_assignment', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + '(', + 'constant_param_expression', + '(', + 'constant_mintypmax_expression', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'port_declaration', + '(', + 'input_declaration', + '(', + 'net_port_type1', + '(', + 'data_type_or_implicit1', + '(', + 'implicit_data_type1', + '(', + 'packed_dimension', + '(', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'list_of_port_identifiers', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'port_declaration', + '(', + 'output_declaration', + '(', + 'list_of_port_identifiers', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'port_declaration', + '(', + 'output_declaration', + '(', + 'net_port_type1', + '(', + 'data_type_or_implicit1', + '(', + 'implicit_data_type1', + '(', + 'packed_dimension', + '(', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'list_of_port_identifiers', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'port_declaration', + '(', + 'input_declaration', + '(', + 'list_of_port_identifiers', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + '(', + 'module_or_generate_item', + '(', + 'package_or_generate_item_declaration', + '(', + 'net_declaration', + '(', + 'net_type', + ')', + '(', + 'data_type_or_implicit1', + '(', + 'implicit_data_type1', + '(', + 'packed_dimension', + '(', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'property_identifier', ')', ')', ')', '(', - 'pair', + 'list_of_net_decl_assignments', '(', - 'property_identifier', + 'net_decl_assignment', + '(', + 'simple_identifier', + ')', ')', '(', - 'string', + 'net_decl_assignment', '(', - 'string_fragment', + 'simple_identifier', ')', ')', ')', - '(', - 'pair', - '(', - 'property_identifier', ')', - '(', - 'false', ')', ')', '(', - 'pair', - '(', - 'property_identifier', + 'comment', ')', '(', - 'arrow_function', - '(', - 'formal_parameters', + 'id_directive', '(', - 'required_parameter', + 'text_macro_identifier', '(', - 'identifier', + 'simple_identifier', ')', ')', ')', '(', - 'call_expression', + 'module_or_generate_item', '(', - 'member_expression', + 'continuous_assign', '(', - 'this', - ')', + 'list_of_net_assignments', '(', - 'property_identifier', + 'net_assignment', + '(', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'expression', '(', - 'object', + 'expression', '(', - 'pair', + 'primary', '(', - 'property_identifier', + 'simple_identifier', + ')', + ')', ')', '(', - 'identifier', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', + ')', ')', ')', ')', @@ -17966,55 +21553,87 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'pair', + 'id_directive', '(', - 'property_identifier', + 'text_macro_identifier', + '(', + 'simple_identifier', + ')', + ')', ')', '(', - 'arrow_function', + 'module_or_generate_item', '(', - 'formal_parameters', + 'continuous_assign', '(', - 'required_parameter', + 'list_of_net_assignments', '(', - 'identifier', + 'net_assignment', + '(', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'required_parameter', + 'expression', '(', - 'identifier', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', + ')', ')', ')', '(', - 'required_parameter', + 'expression', '(', - 'identifier', + 'primary', + '(', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', ')', ')', ')', '(', - 'call_expression', + 'zero_directive', + ')', '(', - 'member_expression', + 'module_or_generate_item', '(', - 'identifier', - ')', + 'continuous_assign', '(', - 'property_identifier', + 'list_of_net_assignments', + '(', + 'net_assignment', + '(', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'expression', '(', - 'identifier', - ')', + 'expression', '(', - 'identifier', - ')', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', + '(', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', @@ -18022,80 +21641,94 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'method_definition', - '(', - 'property_identifier', ')', '(', - 'formal_parameters', + 'zero_directive', ')', '(', - 'statement_block', + 'module_or_generate_item', '(', - 'expression_statement', + 'continuous_assign', '(', - 'call_expression', + 'list_of_net_assignments', '(', - 'member_expression', + 'net_assignment', '(', - 'this', - ')', + 'net_lvalue', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'expression', + '(', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', '(', - 'expression_statement', + 'expression', '(', - 'call_expression', + 'primary', '(', - 'identifier', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', '(', - 'arguments', + 'module_or_generate_item', '(', - 'call_expression', + 'continuous_assign', '(', - 'member_expression', + 'list_of_net_assignments', '(', - 'member_expression', + 'net_assignment', '(', - 'this', - ')', + 'net_lvalue', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'property_identifier', - ')', - ')', + 'expression', '(', - 'arguments', + 'conditional_expression', '(', - 'this', + 'cond_predicate', + '(', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', + ')', ')', ')', ')', '(', - 'member_expression', + 'expression', '(', - 'member_expression', + 'primary', '(', - 'this', + 'simple_identifier', ')', - '(', - 'property_identifier', ')', ')', '(', - 'property_identifier', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', @@ -18103,57 +21736,49 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'method_definition', - '(', - 'property_identifier', ')', - '(', - 'formal_parameters', ')', '(', - 'statement_block', - '(', - 'lexical_declaration', + 'text_macro_usage', '(', - 'variable_declarator', + 'text_macro_identifier', '(', - 'identifier', + 'simple_identifier', + ')', ')', '(', - 'arrow_function', - '(', - 'formal_parameters', + 'list_of_actual_arguments', '(', - 'required_parameter', + 'expression', '(', - 'identifier', - ')', + 'primary', '(', - 'type_annotation', + 'primary_literal', '(', - 'object_type', + 'integral_number', '(', - 'property_signature', + 'decimal_number', '(', - 'property_identifier', + 'unsigned_number', + ')', + ')', ')', - '(', - 'type_annotation', - '(', - 'predefined_type', ')', ')', ')', '(', - 'property_signature', + 'expression', '(', - 'property_identifier', - ')', + 'primary', '(', - 'type_annotation', + 'primary_literal', '(', - 'predefined_type', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', ')', ')', ')', @@ -18162,118 +21787,148 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'statement_block', + 'module_or_generate_item', '(', - 'expression_statement', + 'package_or_generate_item_declaration', + ')', + ')', '(', - 'call_expression', + 'simple_identifier', + ')', + ')', '(', - 'member_expression', + 'module_declaration', '(', - 'identifier', + 'module_header', + '(', + 'module_keyword', ')', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'module_nonansi_header', '(', - 'string', + 'list_of_ports', '(', - 'string_fragment', + 'ERROR', + '(', + 'ansi_port_declaration', + '(', + 'net_port_header1', + '(', + 'port_direction', ')', ')', '(', - 'identifier', + 'port_identifier', + '(', + 'simple_identifier', ')', ')', ')', ')', '(', - 'lexical_declaration', - '(', - 'variable_declarator', - '(', - 'identifier', + 'comment', ')', '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'member_expression', + 'line_compiler_directive', '(', - 'member_expression', + 'unsigned_number', + ')', '(', - 'this', + 'double_quoted_string', ')', '(', - 'property_identifier', + 'unsigned_number', ')', ')', '(', - 'property_identifier', + 'port', + '(', + 'port_reference', + '(', + 'port_identifier', + '(', + 'simple_identifier', ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'ERROR', '(', - 'number', + 'simple_identifier', ')', ')', ')', ')', ')', '(', - 'expression_statement', - '(', - 'call_expression', + 'module_declaration', '(', - 'member_expression', + 'module_header', '(', - 'identifier', + 'module_keyword', ')', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'module_ansi_header', '(', - 'identifier', - ')', - ')', - ')', + 'list_of_port_declarations', + '(', + 'ansi_port_declaration', + '(', + 'net_port_header1', + '(', + 'port_direction', ')', '(', - 'expression_statement', + 'net_port_type1', + '(', + 'data_type_or_implicit1', + '(', + 'implicit_data_type1', + '(', + 'packed_dimension', + '(', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', '(', - 'call_expression', + 'integral_number', '(', - 'member_expression', + 'decimal_number', '(', - 'this', + 'unsigned_number', + ')', + ')', + ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'constant_expression', '(', - 'object', + 'constant_primary', '(', - 'pair', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'identifier', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', ')', ')', ')', @@ -18285,100 +21940,129 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'return_statement', + 'port_identifier', '(', - 'parenthesized_expression', + 'simple_identifier', + ')', + ')', + ')', '(', - 'jsx_element', + 'ansi_port_declaration', '(', - 'jsx_opening_element', + 'net_port_header1', '(', - 'identifier', + 'port_direction', ')', '(', - 'jsx_attribute', + 'net_port_type1', '(', - 'property_identifier', - ')', + 'data_type_or_implicit1', '(', - 'string', + 'implicit_data_type1', '(', - 'string_fragment', + 'packed_dimension', + '(', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', ')', ')', ')', ')', '(', - 'jsx_element', + 'constant_expression', '(', - 'jsx_opening_element', + 'constant_primary', '(', - 'identifier', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', ')', - '(', - 'jsx_text', ')', '(', - 'jsx_closing_element', + 'port_identifier', '(', - 'identifier', + 'simple_identifier', ')', ')', ')', '(', - 'jsx_self_closing_element', + 'ansi_port_declaration', '(', - 'identifier', + 'net_port_header1', + '(', + 'port_direction', ')', '(', - 'jsx_attribute', + 'net_port_type1', '(', - 'property_identifier', - ')', + 'data_type_or_implicit1', '(', - 'jsx_expression', + 'implicit_data_type1', '(', - 'member_expression', + 'packed_dimension', '(', - 'member_expression', + 'constant_range', '(', - 'this', - ')', + 'constant_expression', '(', - 'property_identifier', - ')', - ')', + 'constant_primary', '(', - 'property_identifier', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', ')', ')', ')', ')', ')', '(', - 'jsx_self_closing_element', + 'constant_expression', '(', - 'identifier', - ')', + 'constant_primary', '(', - 'jsx_attribute', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'jsx_expression', + 'decimal_number', '(', - 'identifier', + 'unsigned_number', ')', ')', ')', ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', - ')', ')', ')', ')', @@ -18388,125 +22072,133 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'class_declaration', + 'port_identifier', '(', - 'type_identifier', + 'simple_identifier', + ')', + ')', ')', '(', - 'class_heritage', - '(', - 'extends_clause', - '(', - 'member_expression', + 'ansi_port_declaration', '(', - 'identifier', - ')', + 'net_port_header1', '(', - 'property_identifier', + 'port_direction', ')', ')', '(', - 'type_arguments', + 'port_identifier', '(', - 'type_identifier', + 'simple_identifier', ')', - '(', - 'type_identifier', ')', ')', ')', ')', '(', - 'class_body', + 'module_or_generate_item', '(', - 'method_definition', + 'package_or_generate_item_declaration', '(', - 'property_identifier', - ')', + 'net_declaration', '(', - 'formal_parameters', + 'net_type', ')', '(', - 'statement_block', + 'data_type_or_implicit1', '(', - 'lexical_declaration', + 'implicit_data_type1', '(', - 'variable_declarator', + 'packed_dimension', '(', - 'identifier', - ')', + 'constant_range', '(', - 'call_expression', + 'constant_expression', '(', - 'member_expression', + 'constant_primary', '(', - 'member_expression', + 'primary_literal', '(', - 'member_expression', + 'integral_number', '(', - 'this', - ')', + 'decimal_number', '(', - 'property_identifier', + 'unsigned_number', ')', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'constant_expression', '(', - 'arrow_function', + 'constant_primary', '(', - 'identifier', - ')', + 'primary_literal', '(', - 'jsx_element', + 'integral_number', '(', - 'jsx_opening_element', + 'decimal_number', '(', - 'identifier', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', ')', '(', - 'jsx_expression', + 'list_of_net_decl_assignments', '(', - 'member_expression', + 'net_decl_assignment', '(', - 'identifier', + 'simple_identifier', ')', - '(', - 'property_identifier', ')', ')', ')', ')', ')', '(', - 'jsx_expression', + 'module_or_generate_item', '(', - 'member_expression', + 'program_instantiation', '(', - 'identifier', - ')', + 'program_identifier', '(', - 'property_identifier', - ')', + 'simple_identifier', ')', ')', '(', - 'jsx_closing_element', + 'parameter_value_assignment', '(', - 'identifier', + 'list_of_parameter_assignments', + '(', + 'ordered_parameter_assignment', + '(', + '_ordered_parameter_assignment', + '(', + 'mintypmax_expression', + '(', + 'expression', + '(', + 'primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', + ')', ')', ')', ')', @@ -18516,114 +22208,163 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'return_statement', - '(', - 'parenthesized_expression', + 'hierarchical_instance', '(', - 'jsx_element', + 'name_of_instance', '(', - 'jsx_opening_element', + 'instance_identifier', '(', - 'identifier', + 'simple_identifier', + ')', + ')', ')', '(', - 'jsx_attribute', + 'list_of_port_connections', '(', - 'property_identifier', + 'named_port_connection', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', ')', '(', - 'string', + 'expression', '(', - 'string_fragment', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', ')', '(', - 'jsx_expression', + 'named_port_connection', '(', - 'identifier', + 'port_identifier', + '(', + 'simple_identifier', ')', ')', '(', - 'jsx_closing_element', + 'expression', '(', - 'identifier', + 'primary', + '(', + 'simple_identifier', + ')', + ')', + ')', ')', + '(', + 'ERROR', + '(', + 'simple_identifier', ')', ')', + '(', + 'named_port_connection', + '(', + 'port_identifier', + '(', + 'simple_identifier', ')', ')', + '(', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', ')', '(', - 'empty_statement', + 'ERROR', ')', '(', - 'class_declaration', + 'named_port_connection', '(', - 'type_identifier', + 'port_identifier', + '(', + 'simple_identifier', + ')', ')', '(', - 'class_heritage', + 'expression', '(', - 'extends_clause', + 'primary', '(', - 'member_expression', + 'simple_identifier', + ')', + ')', + ')', + ')', '(', - 'identifier', + 'named_port_connection', + '(', + 'port_identifier', + '(', + 'simple_identifier', + ')', ')', '(', - 'property_identifier', + 'expression', + '(', + 'primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'binary_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', ')', '(', - 'type_arguments', + 'module_or_generate_item', '(', - 'object_type', + 'program_instantiation', '(', - 'property_signature', + 'program_identifier', '(', - 'property_identifier', + 'simple_identifier', + ')', ')', '(', - 'type_annotation', + 'parameter_value_assignment', '(', - 'function_type', + 'list_of_parameter_assignments', '(', - 'formal_parameters', + 'ordered_parameter_assignment', '(', - 'required_parameter', + '_ordered_parameter_assignment', '(', - 'identifier', - ')', + 'mintypmax_expression', '(', - 'type_annotation', + 'expression', '(', - 'object_type', + 'primary', '(', - 'property_signature', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'type_annotation', + 'decimal_number', '(', - 'predefined_type', + 'unsigned_number', ')', ')', ')', - '(', - 'property_signature', - '(', - 'property_identifier', ')', - '(', - 'type_annotation', - '(', - 'predefined_type', ')', ')', ')', @@ -18632,279 +22373,281 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'predefined_type', - ')', - ')', + 'hierarchical_instance', + '(', + 'name_of_instance', + '(', + 'instance_identifier', + '(', + 'simple_identifier', ')', ')', ')', '(', - 'type_identifier', + 'list_of_port_connections', + '(', + 'ordered_port_connection', + '(', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', ')', '(', - 'class_body', + 'ordered_port_connection', '(', - 'method_definition', + 'expression', '(', - 'property_identifier', + 'primary', + '(', + 'simple_identifier', + ')', + ')', + ')', ')', '(', - 'formal_parameters', + 'ERROR', ')', '(', - 'statement_block', + 'comment', + ')', '(', - 'lexical_declaration', + 'ordered_port_connection', '(', - 'variable_declarator', + 'expression', '(', - 'identifier', - ')', + 'primary', '(', - 'arrow_function', + 'simple_identifier', + ')', '(', - 'formal_parameters', + 'select1', '(', - 'required_parameter', + 'constant_range', '(', - 'identifier', - ')', + 'constant_expression', '(', - 'type_annotation', + 'constant_expression', '(', - 'nested_type_identifier', + 'constant_primary', '(', - 'identifier', - ')', + 'parameter_identifier', '(', - 'type_identifier', - ')', + 'simple_identifier', ')', ')', ')', ')', '(', - 'statement_block', + 'constant_expression', '(', - 'expression_statement', + 'constant_primary', '(', - 'call_expression', + 'primary_literal', '(', - 'member_expression', + 'integral_number', '(', - 'identifier', - ')', + 'decimal_number', '(', - 'property_identifier', + 'unsigned_number', + ')', + ')', ')', ')', - '(', - 'arguments', ')', ')', ')', '(', - 'lexical_declaration', + 'constant_expression', '(', - 'variable_declarator', + 'constant_primary', '(', - 'identifier', - ')', + 'primary_literal', '(', - 'call_expression', + 'integral_number', '(', - 'member_expression', + 'decimal_number', '(', - 'member_expression', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', '(', - 'parenthesized_expression', + 'comment', + ')', '(', - 'as_expression', + 'ordered_port_connection', '(', - 'as_expression', + 'expression', '(', - 'subscript_expression', + 'primary', '(', - 'member_expression', + 'primary_literal', '(', - 'this', - ')', + 'integral_number', '(', - 'property_identifier', + 'binary_number', ')', ')', - '(', - 'string', - '(', - 'string_fragment', ')', ')', ')', - '(', - 'predefined_type', ')', ')', - '(', - 'type_identifier', ')', ')', ')', '(', - 'property_identifier', + 'module_or_generate_item', + '(', + 'continuous_assign', + '(', + 'list_of_net_assignments', + '(', + 'net_assignment', + '(', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'property_identifier', + 'expression', + '(', + 'primary', + '(', + 'simple_identifier', + ')', + ')', ')', ')', - '(', - 'arguments', ')', ')', ')', ')', '(', - 'lexical_declaration', + 'module_declaration', '(', - 'variable_declarator', + 'module_header', '(', - 'identifier', + 'module_keyword', ')', '(', - 'call_expression', - '(', - 'member_expression', + 'simple_identifier', + ')', + ')', '(', - 'member_expression', + 'module_nonansi_header', '(', - 'parenthesized_expression', + 'parameter_port_list', '(', - 'as_expression', + 'parameter_port_declaration', '(', - 'as_expression', + 'parameter_declaration', '(', - 'subscript_expression', + 'list_of_param_assignments', '(', - 'member_expression', + 'param_assignment', '(', - 'this', - ')', + 'parameter_identifier', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'string', + 'constant_param_expression', '(', - 'string_fragment', - ')', - ')', - ')', + 'constant_mintypmax_expression', '(', - 'predefined_type', - ')', - ')', + 'constant_expression', '(', - 'type_identifier', + 'constant_primary', + '(', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', ')', ')', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'arguments', ')', ')', ')', ')', '(', - 'if_statement', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', + 'parameter_port_declaration', '(', - 'binary_expression', + 'parameter_declaration', '(', - 'member_expression', + 'list_of_param_assignments', '(', - 'identifier', - ')', + 'param_assignment', '(', - 'property_identifier', - ')', - ')', + 'parameter_identifier', '(', - 'number', + 'simple_identifier', ')', ')', '(', - 'binary_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', + 'constant_param_expression', '(', - 'property_identifier', - ')', - ')', + 'constant_mintypmax_expression', '(', - 'number', - ')', - ')', - ')', - ')', + 'constant_expression', '(', - 'statement_block', + 'constant_primary', '(', - 'expression_statement', + 'constant_mintypmax_expression', '(', - 'call_expression', + 'constant_expression', '(', - 'member_expression', + 'constant_expression', '(', - 'member_expression', + 'constant_primary', '(', - 'this', - ')', + 'parameter_identifier', '(', - 'property_identifier', + 'simple_identifier', ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'constant_expression', '(', - 'object', + 'constant_primary', '(', - 'pair', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'identifier', + 'decimal_number', + '(', + 'unsigned_number', + ')', ')', ')', - '(', - 'pair', - '(', - 'property_identifier', ')', - '(', - 'identifier', ')', ')', ')', @@ -18918,159 +22661,181 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'return_statement', + 'comment', + ')', '(', - 'parenthesized_expression', + 'parameter_port_declaration', '(', - 'jsx_element', + 'parameter_declaration', '(', - 'jsx_opening_element', + 'list_of_param_assignments', '(', - 'identifier', - ')', + 'param_assignment', '(', - 'jsx_attribute', + 'parameter_identifier', '(', - 'property_identifier', + 'simple_identifier', + ')', ')', '(', - 'string', + 'constant_param_expression', '(', - 'string_fragment', + 'constant_mintypmax_expression', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', ')', ')', ')', '(', - 'jsx_attribute', + 'constant_expression', '(', - 'property_identifier', - ')', + 'constant_primary', '(', - 'jsx_expression', + 'parameter_identifier', '(', - 'identifier', + 'simple_identifier', ')', ')', ')', ')', '(', - 'jsx_self_closing_element', + 'constant_expression', '(', - 'identifier', - ')', + 'constant_primary', '(', - 'jsx_attribute', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'string', + 'decimal_number', '(', - 'string_fragment', + 'unsigned_number', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', ')', ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', ')', '(', - 'string', - '(', - 'string_fragment', + 'comment', ')', ')', + '(', + 'list_of_ports', + ')', ')', '(', - 'jsx_attribute', + 'module_declaration', '(', - 'property_identifier', - ')', + 'module_header', '(', - 'string', + 'module_keyword', + ')', '(', - 'string_fragment', + 'simple_identifier', ')', ')', + '(', + 'module_nonansi_header', + '(', + 'list_of_ports', ')', ')', '(', - 'jsx_self_closing_element', + 'module_or_generate_item', '(', - 'identifier', + 'always_construct', + '(', + 'always_keyword', ')', '(', - 'jsx_attribute', + 'statement', '(', - 'property_identifier', - ')', + 'statement_item', '(', - 'string', + 'blocking_assignment', '(', - 'string_fragment', + 'operator_assignment', + '(', + 'variable_lvalue', + '(', + 'simple_identifier', ')', ')', + '(', + 'assignment_operator', ')', '(', - 'jsx_attribute', + 'expression', '(', - 'property_identifier', + 'primary', + '(', + 'simple_identifier', ')', '(', - 'string', + 'select1', '(', - 'string_fragment', - ')', + 'member_identifier', + '(', + 'simple_identifier', ')', ')', '(', - 'jsx_attribute', + 'constant_range', '(', - 'property_identifier', - ')', + 'constant_expression', '(', - 'string', + 'constant_primary', '(', - 'string_fragment', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', ')', ')', ')', ')', '(', - 'jsx_self_closing_element', + 'constant_expression', '(', - 'identifier', - ')', + 'constant_primary', '(', - 'jsx_attribute', + 'primary_literal', '(', - 'property_identifier', - ')', + 'integral_number', '(', - 'string', + 'decimal_number', '(', - 'string_fragment', + 'unsigned_number', ')', ')', ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', ')', - '(', - 'string', - '(', - 'string_fragment', ')', ')', ')', ')', - '(', - 'jsx_closing_element', - '(', - 'identifier', ')', ')', ')', @@ -19081,174 +22846,142 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'empty_statement', - ')', + 'module_or_generate_item', '(', - 'interface_declaration', + 'always_construct', '(', - 'type_identifier', + 'always_keyword', ')', '(', - 'interface_body', - '(', - 'property_signature', + 'statement', '(', - 'property_identifier', - ')', + 'statement_item', '(', - 'type_annotation', + 'procedural_timing_control_statement', '(', - 'predefined_type', - ')', - ')', - ')', + 'event_control', '(', - 'property_signature', + 'event_expression', '(', - 'property_identifier', + 'edge_identifier', ')', '(', - 'type_annotation', + 'expression', '(', - 'predefined_type', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', ')', ')', '(', - 'class_declaration', + 'statement_or_null', '(', - 'type_identifier', - ')', + 'statement', '(', - 'class_heritage', + 'statement_item', '(', - 'extends_clause', + 'seq_block', '(', - 'member_expression', + 'statement_or_null', '(', - 'identifier', - ')', + 'statement', '(', - 'property_identifier', - ')', - ')', + 'statement_item', '(', - 'type_arguments', + 'clocking_drive', '(', - 'type_identifier', - ')', + 'clockvar_expression', '(', - 'type_identifier', - ')', - ')', + 'clockvar', + '(', + 'simple_identifier', ')', ')', '(', - 'class_body', + 'select1', '(', - 'method_definition', + 'member_identifier', '(', - 'property_identifier', + 'simple_identifier', + ')', + ')', ')', - '(', - 'formal_parameters', ')', '(', - 'statement_block', - '(', - 'return_statement', - '(', - 'parenthesized_expression', - '(', - 'jsx_element', + 'expression', '(', - 'jsx_opening_element', + 'primary', '(', - 'identifier', + 'simple_identifier', ')', - '(', - 'jsx_attribute', - '(', - 'property_identifier', ')', - '(', - 'string', - '(', - 'string_fragment', ')', ')', ')', ')', - '(', - 'jsx_element', - '(', - 'jsx_opening_element', - '(', - 'identifier', ')', '(', - 'jsx_attribute', + 'ERROR', '(', - 'property_identifier', - ')', + 'clockvar_expression', '(', - 'string', + 'clockvar', '(', - 'string_fragment', - ')', + 'simple_identifier', ')', ')', - ')', - '(', - 'jsx_expression', '(', - 'member_expression', + 'select1', '(', - 'member_expression', + 'member_identifier', '(', - 'this', + 'simple_identifier', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'property_identifier', ')', + '(', + 'simple_identifier', ')', ')', '(', - 'jsx_closing_element', + 'statement_or_null', '(', - 'identifier', - ')', - ')', - ')', + 'statement', '(', - 'jsx_expression', + 'statement_item', '(', - 'member_expression', + 'nonblocking_assignment', '(', - 'member_expression', + 'variable_lvalue', '(', - 'this', + 'variable_lvalue', + '(', + 'simple_identifier', + ')', ')', '(', - 'property_identifier', + 'variable_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'property_identifier', + 'variable_lvalue', + '(', + 'simple_identifier', ')', ')', ')', '(', - 'jsx_closing_element', + 'expression', '(', - 'identifier', - ')', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', @@ -19256,63 +22989,59 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', + '(', + 'comment', ')', '(', - 'interface_declaration', + 'statement_or_null', '(', - 'type_identifier', - ')', + 'statement', '(', - 'interface_body', + 'statement_item', '(', - 'property_signature', + 'clocking_drive', '(', - 'property_identifier', - ')', + 'clockvar_expression', '(', - 'type_annotation', + 'clockvar', '(', - 'predefined_type', + 'simple_identifier', ')', ')', ')', '(', - 'property_signature', + 'expression', '(', - 'property_identifier', - ')', + 'primary', '(', - 'type_annotation', + 'primary_literal', '(', - 'predefined_type', + 'simple_text_macro_usage', + '(', + 'text_macro_identifier', + '(', + 'simple_identifier', ')', ')', ')', ')', ')', - '(', - 'interface_declaration', - '(', - 'type_identifier', ')', - '(', - 'interface_body', - '(', - 'property_signature', - '(', - 'property_identifier', ')', '(', - 'type_annotation', - '(', - 'generic_type', + 'ERROR', '(', - 'type_identifier', + 'simple_identifier', + ')', + ')', + ')', + ')', ')', '(', - 'type_arguments', - '(', - 'type_identifier', + 'comment', + ')', + ')', + ')', ')', ')', ')', @@ -19321,67 +23050,57 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'expression_statement', + 'module_or_generate_item', '(', - 'call_expression', + 'continuous_assign', '(', - 'member_expression', + 'list_of_net_assignments', '(', - 'identifier', - ')', + 'net_assignment', '(', - 'property_identifier', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'arguments', - '(', - 'jsx_self_closing_element', + 'expression', '(', - 'identifier', + 'unary_operator', ')', '(', - 'jsx_attribute', + 'primary', '(', - 'property_identifier', - ')', + 'mintypmax_expression', '(', - 'string', + 'expression', '(', - 'string_fragment', - ')', - ')', - ')', + 'expression', '(', - 'jsx_attribute', + 'primary', '(', - 'property_identifier', - ')', + 'primary_literal', '(', - 'jsx_expression', + 'integral_number', '(', - 'number', + 'decimal_number', + '(', + 'unsigned_number', + ')', + ')', ')', ')', ')', ')', '(', - 'call_expression', + 'expression', '(', - 'member_expression', + 'primary', '(', - 'identifier', + 'simple_identifier', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'arguments', - '(', - 'string', - '(', - 'string_fragment', ')', ')', ')', @@ -19390,156 +23109,134 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - ] - -## tokenizer works for typescript - -> stable tokenization - - [ '(', - 'program', + 'module_or_generate_item', '(', - 'function_declaration', + 'continuous_assign', '(', - 'identifier', - ')', + 'list_of_net_assignments', '(', - 'formal_parameters', + 'net_assignment', '(', - 'required_parameter', + 'net_lvalue', '(', - 'identifier', + 'simple_identifier', ')', '(', - 'type_annotation', + 'constant_select1', '(', - 'predefined_type', + 'constant_range', + '(', + 'constant_expression', + '(', + 'constant_expression', + '(', + 'constant_primary', + '(', + 'parameter_identifier', + '(', + 'simple_identifier', + ')', ')', ')', ')', '(', - 'required_parameter', + 'constant_expression', '(', - 'identifier', - ')', + 'constant_primary', '(', - 'type_annotation', + 'primary_literal', '(', - 'predefined_type', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', + ')', ')', ')', ')', ')', - '(', - 'type_annotation', - '(', - 'predefined_type', ')', ')', '(', - 'statement_block', - '(', - 'return_statement', + 'constant_expression', '(', - 'call_expression', + 'constant_primary', '(', - 'member_expression', + 'primary_literal', '(', - 'call_expression', + 'integral_number', '(', - 'member_expression', + 'decimal_number', '(', - 'identifier', + 'unsigned_number', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'arguments', - '(', - 'regex', - '(', - 'regex_pattern', ')', - '(', - 'regex_flags', ')', ')', - '(', - 'arrow_function', - '(', - 'formal_parameters', - '(', - 'required_parameter', - '(', - 'identifier', ')', ')', ')', '(', - 'call_expression', + 'expression', '(', - 'member_expression', + 'primary', '(', - 'identifier', + 'simple_identifier', + ')', + ')', + ')', + ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', + 'comment', + ')', '(', - 'binary_expression', + 'module_or_generate_item', '(', - 'binary_expression', + 'continuous_assign', '(', - 'parenthesized_expression', + 'list_of_net_assignments', '(', - 'binary_expression', + 'net_assignment', '(', - 'binary_expression', + 'net_lvalue', '(', - 'binary_expression', + 'simple_identifier', + ')', + ')', '(', - 'call_expression', + 'ERROR', '(', - 'member_expression', + 'casting_type', '(', - 'identifier', - ')', + 'constant_primary', '(', - 'property_identifier', - ')', - ')', + 'primary_literal', '(', - 'arguments', + 'simple_text_macro_usage', '(', - 'number', - ')', - ')', - ')', + 'text_macro_identifier', '(', - 'identifier', + 'simple_identifier', ')', ')', - '(', - 'number', ')', ')', - '(', - 'number', ')', ')', ')', '(', - 'number', - ')', - ')', + 'expression', '(', - 'number', + 'primary', + '(', + 'simple_identifier', ')', ')', ')', @@ -19548,94 +23245,92 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'property_identifier', - ')', + 'comment', ')', '(', - 'arguments', + 'module_or_generate_item', '(', - 'regex', + 'continuous_assign', '(', - 'regex_pattern', - ')', + 'list_of_net_assignments', '(', - 'regex_flags', + 'net_assignment', + '(', + 'net_lvalue', + '(', + 'simple_identifier', ')', ')', '(', - 'arrow_function', + 'expression', '(', - 'formal_parameters', + 'primary', '(', - 'required_parameter', + 'function_subroutine_call', '(', - 'identifier', - ')', - ')', + 'subroutine_call', + '(', + 'system_tf_call', + '(', + 'system_tf_identifier', ')', '(', - 'call_expression', + 'expression', '(', - 'member_expression', + 'primary', '(', - 'identifier', + 'simple_identifier', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', + ')', ')', - '(', - 'property_identifier', ')', ')', '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'binary_expression', - '(', - 'parenthesized_expression', - '(', - 'binary_expression', + 'comment', + ')', '(', - 'binary_expression', + 'module_or_generate_item', '(', - 'binary_expression', + 'continuous_assign', '(', - 'call_expression', + 'list_of_net_assignments', '(', - 'member_expression', + 'net_assignment', '(', - 'identifier', - ')', + 'net_lvalue', '(', - 'property_identifier', + 'simple_identifier', ')', ')', '(', - 'arguments', + 'expression', '(', - 'number', - ')', - ')', - ')', + 'primary', '(', - 'identifier', - ')', - ')', + 'let_expression', '(', - 'number', - ')', - ')', + 'package_scope', '(', - 'number', + 'package_identifier', + '(', + 'simple_identifier', ')', ')', ')', '(', - 'number', - ')', + 'simple_identifier', ')', '(', - 'number', - ')', + 'ERROR', + '(', + 'ERROR', ')', ')', ')', @@ -19645,69 +23340,77 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'comment', ')', '(', - 'variable_declaration', + 'module_declaration', '(', - 'variable_declarator', + 'module_header', '(', - 'identifier', + 'module_keyword', ')', '(', - 'string', - '(', - 'string_fragment', + 'simple_identifier', ')', ')', + '(', + 'module_nonansi_header', + '(', + 'list_of_ports', ')', ')', '(', - 'variable_declaration', + 'module_or_generate_item', '(', - 'variable_declarator', + 'always_construct', '(', - 'identifier', + 'always_keyword', ')', '(', - 'call_expression', + 'statement', '(', - 'identifier', - ')', + 'statement_item', '(', - 'arguments', + 'blocking_assignment', '(', - 'identifier', - ')', + 'operator_assignment', '(', - 'number', - ')', - ')', + 'variable_lvalue', + '(', + 'simple_identifier', ')', ')', + '(', + 'assignment_operator', ')', '(', - 'variable_declaration', + 'expression', '(', - 'variable_declarator', + 'primary', '(', - 'identifier', + 'simple_identifier', ')', '(', - 'call_expression', + 'select1', '(', - 'identifier', + 'member_identifier', + '(', + 'simple_identifier', + ')', ')', '(', - 'arguments', + 'constant_range', '(', - 'identifier', - ')', + 'constant_expression', '(', - 'unary_expression', + 'constant_primary', '(', - 'number', + 'primary_literal', + '(', + 'integral_number', + '(', + 'decimal_number', + '(', + 'unsigned_number', ')', ')', ')', @@ -19715,60 +23418,29 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', - ')', + 'constant_expression', '(', - 'property_identifier', - ')', - ')', + 'constant_primary', '(', - 'arguments', + 'primary_literal', '(', - 'binary_expression', + 'integral_number', '(', - 'string', + 'decimal_number', '(', - 'string_fragment', + 'unsigned_number', ')', ')', - '(', - 'identifier', ')', ')', ')', ')', ')', - '(', - 'expression_statement', - '(', - 'call_expression', - '(', - 'member_expression', - '(', - 'identifier', ')', - '(', - 'property_identifier', ')', ')', - '(', - 'arguments', - '(', - 'binary_expression', - '(', - 'string', - '(', - 'string_fragment', ')', ')', - '(', - 'identifier', ')', ')', ')', diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 9751bffdf73e315e322184bef0ac5797b9bcede5..5abb927dc20f662f62486908b146a8ea9e0d44a1 100644 GIT binary patch delta 42028 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 z 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 delta 22246 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 TzjG(+06LuZ$+G7>E8YJ9%^A0= diff --git a/lib/src/test/tokenizer.test.ts b/lib/src/test/tokenizer.test.ts index 21f6faca4..b5d045276 100644 --- a/lib/src/test/tokenizer.test.ts +++ b/lib/src/test/tokenizer.test.ts @@ -15,12 +15,12 @@ const languageFiles = { "python": "../samples/python/caesar.py", "php": "../samples/php/caesar.php", "modelica": "../samples/modelica/sample.mo", - //"r": "../samples/r/caesar.R", + "r": "../samples/r/caesar.R", "scala": "../samples/scala/Caesar.scala", - //"sql": "../samples/sql/sample.sql", + "sql": "../samples/sql/sample.sql", "tsx": "../samples/tsx/sample.tsx", "typescript": "../samples/typescript/caesar.ts", - //"verilog": "../samples/verilog/module.v" + "verilog": "../samples/verilog/module.v" } as {[key: string]: string}; for (const [languageName, languageFile] of Object.entries(languageFiles)) { diff --git a/parsers/binding.gyp b/parsers/binding.gyp index 7e1321298..73c5f2c5d 100644 --- a/parsers/binding.gyp +++ b/parsers/binding.gyp @@ -10,10 +10,10 @@ "modelica/binding.gyp", "php/binding.gyp", "python/binding.gyp", - #"r/binding.gyp", + "r/binding.gyp", "scala/binding.gyp", - #"sql/binding.gyp", + "sql/binding.gyp", "typescript/binding.gyp", - #"verilog/binding.gyp" + "verilog/binding.gyp" ] } diff --git a/parsers/index.js b/parsers/index.js index 69fe54f9d..ac8c0a728 100644 --- a/parsers/index.js +++ b/parsers/index.js @@ -1,4 +1,3 @@ - const parsers = {}; parsers.bash = require("./build/Release/tree_sitter_bash_binding"); @@ -32,14 +31,14 @@ parsers.php.nodeTypeInfo = require("./php/php/src/node-types.json"); parsers.python = require("./build/Release/tree_sitter_python_binding"); parsers.python.nodeTypeInfo = require("./python/src/node-types.json"); -//parsers.r = require("./build/Release/tree_sitter_r_binding"); -//parsers.r.nodeTypeInfo = require("./r/src/node-types.json"); +parsers.r = require("./build/Release/tree_sitter_r_binding"); +parsers.r.nodeTypeInfo = require("./r/src/node-types.json"); parsers.scala = require("./build/Release/tree_sitter_scala_binding"); parsers.scala.nodeTypeInfo = require("./scala/src/node-types.json"); -//parsers.sql = require("./build/Release/tree_sitter_sql_binding"); -//parsers.sql.nodeTypeInfo = require("./sql/src/node-types.json"); +parsers.sql = require("./build/Release/tree_sitter_sql_binding"); +parsers.sql.nodeTypeInfo = require("./sql/src/node-types.json"); const typescript_tsx = require("./build/Release/tree_sitter_typescript_binding"); parsers.typescript = typescript_tsx.typescript; @@ -48,8 +47,8 @@ parsers.typescript.nodeTypeInfo = require("./typescript/typescript/src/node-type parsers.tsx = typescript_tsx.tsx; parsers.tsx.nodeTypeInfo = require("./typescript/tsx/src/node-types.json"); -//parsers.verilog = require("./build/Release/tree_sitter_verilog_binding"); -//parsers.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); +parsers.verilog = require("./build/Release/tree_sitter_verilog_binding"); +parsers.verilog.nodeTypeInfo = require("./verilog/src/node-types.json"); // Converting tree-sitter 0.21 parsers is a no-op const convert = require("tree-sitter-compat").convertLanguage; diff --git a/parsers/sql b/parsers/sql index 49049d6c1..45a894d35 160000 --- a/parsers/sql +++ b/parsers/sql @@ -1 +1 @@ -Subproject commit 49049d6c18a6dcf2d8861c16b026f3d85097763b +Subproject commit 45a894d351d8cf5c6d598c710c08d28853e9bf93 diff --git a/parsers/verilog b/parsers/verilog index 2dfddfcb8..075ebfc84 160000 --- a/parsers/verilog +++ b/parsers/verilog @@ -1 +1 @@ -Subproject commit 2dfddfcb891f74a1cdb9d8ce480a997d11846e17 +Subproject commit 075ebfc84543675f12e79a955f79d717772dcef3 From 76072ae1e7846fad435f831098b632b037fcf6e1 Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 11:44:32 +0200 Subject: [PATCH 09/10] r: switch back from fork as issues are fixed --- .gitmodules | 2 +- lib/src/test/snapshots/tokenizer.test.ts.md | 140 +++++++----------- lib/src/test/snapshots/tokenizer.test.ts.snap | Bin 121052 -> 120865 bytes parsers/r | 2 +- 4 files changed, 57 insertions(+), 87 deletions(-) diff --git a/.gitmodules b/.gitmodules index 4f2425277..26c8d58fd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -33,7 +33,7 @@ url = https://github.com/rien/tree-sitter-modelica.git [submodule "parsers/r"] path = parsers/r - url = https://github.com/rien/tree-sitter-r.git + url = https://github.com/r-lib/tree-sitter-r.git branch = next [submodule "parsers/sql"] path = parsers/sql diff --git a/lib/src/test/snapshots/tokenizer.test.ts.md b/lib/src/test/snapshots/tokenizer.test.ts.md index b60476449..cfb4fe133 100644 --- a/lib/src/test/snapshots/tokenizer.test.ts.md +++ b/lib/src/test/snapshots/tokenizer.test.ts.md @@ -17361,16 +17361,12 @@ Generated by [AVA](https://avajs.dev). '(', 'program', '(', - 'identifier', - ')', - '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', - 'function', + 'function_definition', '(', 'parameters', '(', @@ -17390,54 +17386,44 @@ Generated by [AVA](https://avajs.dev). ')', ')', '(', - 'block', + 'braced_expression', '(', 'comment', ')', '(', - 'if', + 'if_statement', + '(', + 'binary_operator', '(', 'identifier', ')', '(', - 'ERROR', - '(', - 'ERROR', + 'float', ')', ')', '(', - 'block', + 'braced_expression', + '(', + 'binary_operator', '(', 'identifier', ')', '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', + 'binary_operator', '(', 'float', ')', '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', 'identifier', ')', ')', ')', - '(', - 'identifier', + ')', ')', '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', 'call', @@ -17487,14 +17473,11 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'identifier', ')', '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', 'call', @@ -17524,33 +17507,21 @@ Generated by [AVA](https://avajs.dev). '(', 'argument', '(', - 'identifier', - ')', - ')', + 'binary_operator', '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', - 'argument', - '(', 'float', ')', ')', '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', - 'argument', - '(', 'float', ')', ')', + ')', '(', 'comma', ')', @@ -17596,24 +17567,18 @@ Generated by [AVA](https://avajs.dev). '(', 'argument', '(', - 'identifier', - ')', - ')', - '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', - 'argument', - '(', 'float', ')', ')', ')', ')', ')', + ')', '(', 'comma', ')', @@ -17628,6 +17593,7 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', + ')', '(', 'call', '(', @@ -17663,6 +17629,7 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', + ')', '(', 'comment', ')', @@ -17686,6 +17653,9 @@ Generated by [AVA](https://avajs.dev). 'argument', '(', 'string', + '(', + 'string_content', + ')', ')', ')', '(', @@ -17722,6 +17692,9 @@ Generated by [AVA](https://avajs.dev). 'argument', '(', 'string', + '(', + 'string_content', + ')', ')', ')', '(', @@ -17742,37 +17715,30 @@ Generated by [AVA](https://avajs.dev). 'comment', ')', '(', + 'binary_operator', + '(', 'identifier', ')', '(', - 'ERROR', - '(', - 'ERROR', + 'float', ')', ')', '(', - 'float', - ')', + 'binary_operator', '(', 'identifier', ')', '(', - 'ERROR', + 'string', '(', - 'ERROR', - ')', + 'string_content', ')', - '(', - 'string', ')', - '(', - 'identifier', ')', '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', 'call', @@ -17798,14 +17764,11 @@ Generated by [AVA](https://avajs.dev). ')', ')', ')', - '(', - 'identifier', ')', '(', - 'ERROR', + 'binary_operator', '(', - 'ERROR', - ')', + 'identifier', ')', '(', 'call', @@ -17824,19 +17787,17 @@ Generated by [AVA](https://avajs.dev). 'comma', ')', '(', - 'ERROR', - '(', - 'ERROR', - ')', - ')', - '(', 'argument', '(', + 'unary_operator', + '(', 'identifier', ')', ')', ')', ')', + ')', + ')', '(', 'call', '(', @@ -17857,6 +17818,9 @@ Generated by [AVA](https://avajs.dev). 'argument', '(', 'string', + '(', + 'string_content', + ')', ')', ')', '(', @@ -17905,6 +17869,9 @@ Generated by [AVA](https://avajs.dev). 'argument', '(', 'string', + '(', + 'string_content', + ')', ')', ')', '(', @@ -17953,6 +17920,9 @@ Generated by [AVA](https://avajs.dev). 'argument', '(', 'string', + '(', + 'string_content', + ')', ')', ')', '(', diff --git a/lib/src/test/snapshots/tokenizer.test.ts.snap b/lib/src/test/snapshots/tokenizer.test.ts.snap index 5abb927dc20f662f62486908b146a8ea9e0d44a1..0ef11e4023d2d3d2a9bc62a45224cae4a1d3d024 100644 GIT binary patch delta 41195 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�g=h_m&M&=5;KeAV)0eM?p-ZOhdm` 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 delta 41393 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 diff --git a/parsers/r b/parsers/r index 11c5f7de4..15e78072d 160000 --- a/parsers/r +++ b/parsers/r @@ -1 +1 @@ -Subproject commit 11c5f7de40f37d5255488a9db22a72f47922d876 +Subproject commit 15e78072da55b0b582c5ff4a38a7b64e480b61e7 From ae85647e7b281c30bbcfeb66da21ad151af833a7 Mon Sep 17 00:00:00 2001 From: Rien Maertens Date: Fri, 31 May 2024 12:01:23 +0200 Subject: [PATCH 10/10] Update tree-sitter in package.json and flake --- cli/package.json | 2 +- flake.lock | 18 +++++++++--------- flake.nix | 2 +- lib/package.json | 2 +- package-lock.json | 26 ++++++++------------------ parsers/package.json | 1 + parsers/sql | 2 +- 7 files changed, 22 insertions(+), 31 deletions(-) diff --git a/cli/package.json b/cli/package.json index 12e490715..d4aa02810 100644 --- a/cli/package.json +++ b/cli/package.json @@ -42,7 +42,7 @@ "commander": "^11.1.0", "csv-stringify": "^6.5.0", "open": "^10.1.0", - "tree-sitter": "^0.20.6" + "tree-sitter": "^0.21.1" }, "bugs": { "url": "https://github.com/dodona-edu/dolos/issues" diff --git a/flake.lock b/flake.lock index 5e040e290..880526e32 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ ] }, "locked": { - "lastModified": 1708939976, - "narHash": "sha256-O5+nFozxz2Vubpdl1YZtPrilcIXPcRAjqNdNE8oCRoA=", + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", "owner": "numtide", "repo": "devshell", - "rev": "5ddecd67edbd568ebe0a55905273e56cc82aabe3", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", "type": "github" }, "original": { @@ -30,11 +30,11 @@ ] }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -45,11 +45,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708984720, - "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1b32f8ee0..8123dc50e 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,7 @@ overlays = [ devshell.overlays.default (self: super: { - nodejs = super.nodejs_21; + nodejs = super.nodejs_22; }) ]; }; diff --git a/lib/package.json b/lib/package.json index f7cf47052..251de3534 100644 --- a/lib/package.json +++ b/lib/package.json @@ -41,7 +41,7 @@ "@dodona/dolos-parsers": "1.1.0", "@dodona/dolos-core": "1.0.2", "d3-dsv": "^3.0.1", - "tree-sitter": "^0.21.0" + "tree-sitter": "^0.21.1" }, "bugs": { "url": "https://github.com/dodona-edu/dolos/issues" diff --git a/package-lock.json b/package-lock.json index 620ce3643..edb8344f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "commander": "^11.1.0", "csv-stringify": "^6.5.0", "open": "^10.1.0", - "tree-sitter": "^0.20.6" + "tree-sitter": "^0.21.1" }, "bin": { "dolos": "dist/cli.js" @@ -63,7 +63,7 @@ "@dodona/dolos-core": "1.0.2", "@dodona/dolos-parsers": "1.1.0", "d3-dsv": "^3.0.1", - "tree-sitter": "^0.21.0" + "tree-sitter": "^0.21.1" }, "devDependencies": { "@ava/typescript": "git+https://github.com/rien/ava-typescript", @@ -81,16 +81,6 @@ "node": ">=18" } }, - "lib/node_modules/tree-sitter": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.21.1.tgz", - "integrity": "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^8.0.0", - "node-gyp-build": "^4.8.0" - } - }, "lib/node_modules/tree-sitter-json": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.21.0.tgz", @@ -6871,14 +6861,13 @@ } }, "node_modules/tree-sitter": { - "version": "0.20.6", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.6.tgz", - "integrity": "sha512-GxJodajVpfgb3UREzzIbtA1hyRnTxVbWVXrbC6sk4xTMH5ERMBJk9HJNq4c8jOJeUaIOmLcwg+t6mez/PDvGqg==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.21.1.tgz", + "integrity": "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ==", "hasInstallScript": true, - "license": "MIT", "dependencies": { - "nan": "^2.18.0", - "prebuild-install": "^7.1.1" + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" } }, "node_modules/tree-sitter-cli": { @@ -7752,6 +7741,7 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { + "nan": "^2.19.0", "node-addon-api": "^8.0.0", "tree-sitter-compat": "^0.1.0" }, diff --git a/parsers/package.json b/parsers/package.json index 252f2c0e5..e08f8fb9a 100644 --- a/parsers/package.json +++ b/parsers/package.json @@ -9,6 +9,7 @@ "build": "node-gyp rebuild" }, "dependencies": { + "nan": "^2.19.0", "node-addon-api": "^8.0.0", "tree-sitter-compat": "^0.1.0" }, diff --git a/parsers/sql b/parsers/sql index 45a894d35..95f3d66c5 160000 --- a/parsers/sql +++ b/parsers/sql @@ -1 +1 @@ -Subproject commit 45a894d351d8cf5c6d598c710c08d28853e9bf93 +Subproject commit 95f3d66c50260b5c96d87bfcf35f50fa4bb64544