aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-09-14 21:52:11 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-09-14 21:52:11 +0200
commit642d5264e0d7b3d3870d13c2cc4a04987ee65ab6 (patch)
tree53268bb7f35994d911e7c95e6f46cb5d7788b6fd
parent291cb06fc2d578ac19c01ebda9b71f94733af0e8 (diff)
Completely overhaul the grammar
-rw-r--r--.exrc1
-rw-r--r--example38
-rw-r--r--grammar.js70
-rw-r--r--src/grammar.json339
-rw-r--r--src/node-types.json103
-rw-r--r--src/parser.c1972
6 files changed, 1037 insertions, 1486 deletions
diff --git a/.exrc b/.exrc
new file mode 100644
index 0000000..ac22d37
--- /dev/null
+++ b/.exrc
@@ -0,0 +1 @@
+let g:editorconfig = v:false
diff --git a/example b/example
new file mode 100644
index 0000000..cd38ff8
--- /dev/null
+++ b/example
@@ -0,0 +1,38 @@
+html lang="en" {
+ head {
+ meta charset="UTF-8" {}
+ meta
+ name="viewport"
+ content="width=device-width, initial-scale=1.0"
+ {}
+ link href="/favicon.svg" rel="shortcut icon" type="image/svg" {}
+ link href="/style.svg" rel="stylesheet" {}
+ title {-My Website Title}
+ }
+
+ body {
+ p #my-id  {= This is a paragraph with the id ‘my-id’ }
+ p .my-cls {= This is a paragraph with the class ‘my-cls’ }
+
+ / div {
+ p {- This entire div is commented out. }
+ p {- Isn’t that neat? }
+ }
+
+ p
+ #some-id
+ .class-1
+ .class-2
+ key-1="value-1"
+ key-2 = "value-2"
+ {-
+ This paragraph has an ID, two classes, and two additional
+ attributes. GSP allows us to use the ‘#ident’ and ‘.ident’
+ syntaxes as shorthands for applying IDs, and classes. This
+ is a text node, so nothing is being interpreted as GSP nodes,
+ but we can include them inline if we want. As an example,
+ here is some @em {-emphatic} text. Your inline nodes can
+ also have attributes @em #id {-just like a regular node}.
+ }
+ }
+}
diff --git a/grammar.js b/grammar.js
index 0f13c6b..a18091c 100644
--- a/grammar.js
+++ b/grammar.js
@@ -1,60 +1,38 @@
+const IDENT = /\p{XID_Start}[-\p{XID_Continue}]*/u
+
module.exports = grammar({
name: 'gsp',
- extras: $ => [$._S],
+ extras: $ => [/\p{Pattern_White_Space}+/u],
rules: {
- source_file: $ => repeat(choice($.comment, $.node)),
+ document: $ => repeat($._toplevel),
+ _toplevel: $ => choice($.comment, $.node),
- comment: $ => seq(
- '/',
- optional($.node_name),
- optional($.attribute_list),
- '{',
- optional($.node_body),
- '}',
- ),
+ comment: $ => seq('/', $.node),
+ node: $ => seq($.node_name, optional($.attrs), $.node_body),
- node: $ => seq(
- optional('>'),
- $.node_name,
- optional($.attribute_list),
+ node_name: $ => IDENT,
+ node_body: $ => seq(
'{',
- optional($.node_body),
- '}',
- ),
-
- node_body: $ => choice(
- repeat1(choice($.comment, $.node)),
- seq(choice('-', '='), optional($.text)),
- ),
-
- node_name: $ => /[a-zA-Z:_\u{000C0}-\u{000D6}\u{000D8}-\u{000F6}\u{000F8}-\u{002FF}\u{00370}-\u{0037D}\u{0037F}-\u{01FFF}\u{0200C}-\u{0200D}\u{02070}-\u{0218F}\u{02C00}-\u{02FEF}\u{03001}-\u{0D7FF}\u{0F900}-\u{0FDCF}\u{0FDF0}-\u{0FFFD}\u{10000}-\u{EFFFF}][a-zA-Z0-9:_\-.·\u{00300}-\u{0036F}\u{0203F}-\u{02040}\u{000C0}-\u{000D6}\u{000D8}-\u{000F6}\u{000F8}-\u{002FF}\u{00370}-\u{0037D}\u{0037F}-\u{01FFF}\u{0200C}-\u{0200D}\u{02070}-\u{0218F}\u{02C00}-\u{02FEF}\u{03001}-\u{0D7FF}\u{0F900}-\u{0FDCF}\u{0FDF0}-\u{0FFFD}\u{10000}-\u{EFFFF}]*/u,
-
- text: $ => repeat1(
choice(
- $.literal_text,
- seq('@', choice($.comment, $.node)),
- ),
- ),
-
- literal_text: $ => /(\\[@}\\]|[^@}\\])+/,
-
- attribute_list: $ => repeat1($.attribute),
-
- attribute: $ => choice(
- $.class_shorthand,
- $.id_shorthand,
- seq(
- $.attribute_name,
- optional(seq('=', $.attribute_value)),
+ repeat($._toplevel),
+ seq(choice('-', '='), optional($.text)),
),
+ '}',
),
- class_shorthand: $ => /\.\P{White_Space}+/u,
- id_shorthand: $ => /#\P{White_Space}+/u,
+ attrs: $ => repeat1(choice(
+ $.attr,
+ $.id_attr,
+ $.class_attr,
+ )),
- attribute_name: $ => /[a-zA-Z0-9_-]+/,
- attribute_value: $ => /"(\\.|[^"\\])*"/,
+ attr: $ => seq(IDENT, '=', /"(\\["\\]|[^"\\])+"/),
+ id_attr: $ => seq('#', token.immediate(IDENT)),
+ class_attr: $ => seq('.', token.immediate(IDENT)),
- _S: $ => /\p{White_Space}+/u,
+ text: $ => repeat1(choice(
+ /(\\[@}\\]|[^@}\\])+/,
+ seq('@', $._toplevel),
+ )),
},
})
diff --git a/src/grammar.json b/src/grammar.json
index ad8dfcb..060f61c 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -1,22 +1,26 @@
{
"name": "gsp",
"rules": {
- "source_file": {
+ "document": {
"type": "REPEAT",
"content": {
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "comment"
- },
- {
- "type": "SYMBOL",
- "name": "node"
- }
- ]
+ "type": "SYMBOL",
+ "name": "_toplevel"
}
},
+ "_toplevel": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "comment"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "node"
+ }
+ ]
+ },
"comment": {
"type": "SEQ",
"members": [
@@ -25,23 +29,24 @@
"value": "/"
},
{
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "node_name"
- },
- {
- "type": "BLANK"
- }
- ]
+ "type": "SYMBOL",
+ "name": "node"
+ }
+ ]
+ },
+ "node": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "node_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
- "name": "attribute_list"
+ "name": "attrs"
},
{
"type": "BLANK"
@@ -49,6 +54,20 @@
]
},
{
+ "type": "SYMBOL",
+ "name": "node_body"
+ }
+ ]
+ },
+ "node_name": {
+ "type": "PATTERN",
+ "value": "\\p{XID_Start}[-\\p{XID_Continue}]*",
+ "flags": "u"
+ },
+ "node_body": {
+ "type": "SEQ",
+ "members": [
+ {
"type": "STRING",
"value": "{"
},
@@ -56,11 +75,41 @@
"type": "CHOICE",
"members": [
{
- "type": "SYMBOL",
- "name": "node_body"
+ "type": "REPEAT",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_toplevel"
+ }
},
{
- "type": "BLANK"
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "-"
+ },
+ {
+ "type": "STRING",
+ "value": "="
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "text"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
}
]
},
@@ -70,123 +119,86 @@
}
]
},
- "node": {
+ "attrs": {
+ "type": "REPEAT1",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "attr"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "id_attr"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "class_attr"
+ }
+ ]
+ }
+ },
+ "attr": {
"type": "SEQ",
"members": [
{
- "type": "CHOICE",
- "members": [
- {
- "type": "STRING",
- "value": ">"
- },
- {
- "type": "BLANK"
- }
- ]
+ "type": "PATTERN",
+ "value": "\\p{XID_Start}[-\\p{XID_Continue}]*",
+ "flags": "u"
},
{
- "type": "SYMBOL",
- "name": "node_name"
+ "type": "STRING",
+ "value": "="
},
{
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "attribute_list"
- },
- {
- "type": "BLANK"
- }
- ]
- },
+ "type": "PATTERN",
+ "value": "\"(\\\\[\"\\\\]|[^\"\\\\])+\""
+ }
+ ]
+ },
+ "id_attr": {
+ "type": "SEQ",
+ "members": [
{
"type": "STRING",
- "value": "{"
+ "value": "#"
},
{
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "node_body"
- },
- {
- "type": "BLANK"
- }
- ]
- },
- {
- "type": "STRING",
- "value": "}"
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\p{XID_Start}[-\\p{XID_Continue}]*",
+ "flags": "u"
+ }
}
]
},
- "node_body": {
- "type": "CHOICE",
+ "class_attr": {
+ "type": "SEQ",
"members": [
{
- "type": "REPEAT1",
- "content": {
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "comment"
- },
- {
- "type": "SYMBOL",
- "name": "node"
- }
- ]
- }
+ "type": "STRING",
+ "value": "."
},
{
- "type": "SEQ",
- "members": [
- {
- "type": "CHOICE",
- "members": [
- {
- "type": "STRING",
- "value": "-"
- },
- {
- "type": "STRING",
- "value": "="
- }
- ]
- },
- {
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "text"
- },
- {
- "type": "BLANK"
- }
- ]
- }
- ]
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\p{XID_Start}[-\\p{XID_Continue}]*",
+ "flags": "u"
+ }
}
]
},
- "node_name": {
- "type": "PATTERN",
- "value": "[a-zA-Z:_\\u{000C0}-\\u{000D6}\\u{000D8}-\\u{000F6}\\u{000F8}-\\u{002FF}\\u{00370}-\\u{0037D}\\u{0037F}-\\u{01FFF}\\u{0200C}-\\u{0200D}\\u{02070}-\\u{0218F}\\u{02C00}-\\u{02FEF}\\u{03001}-\\u{0D7FF}\\u{0F900}-\\u{0FDCF}\\u{0FDF0}-\\u{0FFFD}\\u{10000}-\\u{EFFFF}][a-zA-Z0-9:_\\-.·\\u{00300}-\\u{0036F}\\u{0203F}-\\u{02040}\\u{000C0}-\\u{000D6}\\u{000D8}-\\u{000F6}\\u{000F8}-\\u{002FF}\\u{00370}-\\u{0037D}\\u{0037F}-\\u{01FFF}\\u{0200C}-\\u{0200D}\\u{02070}-\\u{0218F}\\u{02C00}-\\u{02FEF}\\u{03001}-\\u{0D7FF}\\u{0F900}-\\u{0FDCF}\\u{0FDF0}-\\u{0FFFD}\\u{10000}-\\u{EFFFF}]*",
- "flags": "u"
- },
"text": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
- "type": "SYMBOL",
- "name": "literal_text"
+ "type": "PATTERN",
+ "value": "(\\\\[@}\\\\]|[^@}\\\\])+"
},
{
"type": "SEQ",
@@ -196,105 +208,20 @@
"value": "@"
},
{
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "comment"
- },
- {
- "type": "SYMBOL",
- "name": "node"
- }
- ]
+ "type": "SYMBOL",
+ "name": "_toplevel"
}
]
}
]
}
- },
- "literal_text": {
- "type": "PATTERN",
- "value": "(\\\\[@}\\\\]|[^@}\\\\])+"
- },
- "attribute_list": {
- "type": "REPEAT1",
- "content": {
- "type": "SYMBOL",
- "name": "attribute"
- }
- },
- "attribute": {
- "type": "CHOICE",
- "members": [
- {
- "type": "SYMBOL",
- "name": "class_shorthand"
- },
- {
- "type": "SYMBOL",
- "name": "id_shorthand"
- },
- {
- "type": "SEQ",
- "members": [
- {
- "type": "SYMBOL",
- "name": "attribute_name"
- },
- {
- "type": "CHOICE",
- "members": [
- {
- "type": "SEQ",
- "members": [
- {
- "type": "STRING",
- "value": "="
- },
- {
- "type": "SYMBOL",
- "name": "attribute_value"
- }
- ]
- },
- {
- "type": "BLANK"
- }
- ]
- }
- ]
- }
- ]
- },
- "class_shorthand": {
- "type": "PATTERN",
- "value": "\\.\\P{White_Space}+",
- "flags": "u"
- },
- "id_shorthand": {
- "type": "PATTERN",
- "value": "#\\P{White_Space}+",
- "flags": "u"
- },
- "attribute_name": {
- "type": "PATTERN",
- "value": "[a-zA-Z0-9_-]+"
- },
- "attribute_value": {
- "type": "PATTERN",
- "value": "\"(\\\\.|[^\"\\\\])*\""
- },
- "_S": {
- "type": "PATTERN",
- "value": "\\p{White_Space}+",
- "flags": "u"
}
},
"extras": [
{
- "type": "SYMBOL",
- "name": "_S"
+ "type": "PATTERN",
+ "value": "\\p{Pattern_White_Space}+",
+ "flags": "u"
}
],
"conflicts": [],
diff --git a/src/node-types.json b/src/node-types.json
index ebd7712..0c5aa23 100644
--- a/src/node-types.json
+++ b/src/node-types.json
@@ -1,6 +1,11 @@
[
{
- "type": "attribute",
+ "type": "attr",
+ "named": true,
+ "fields": {}
+ },
+ {
+ "type": "attrs",
"named": true,
"fields": {},
"children": {
@@ -8,41 +13,42 @@
"required": true,
"types": [
{
- "type": "attribute_name",
- "named": true
- },
- {
- "type": "attribute_value",
+ "type": "attr",
"named": true
},
{
- "type": "class_shorthand",
+ "type": "class_attr",
"named": true
},
{
- "type": "id_shorthand",
+ "type": "id_attr",
"named": true
}
]
}
},
{
- "type": "attribute_list",
+ "type": "class_attr",
+ "named": true,
+ "fields": {}
+ },
+ {
+ "type": "comment",
"named": true,
"fields": {},
"children": {
- "multiple": true,
+ "multiple": false,
"required": true,
"types": [
{
- "type": "attribute",
+ "type": "node",
"named": true
}
]
}
},
{
- "type": "comment",
+ "type": "document",
"named": true,
"fields": {},
"children": {
@@ -50,21 +56,22 @@
"required": false,
"types": [
{
- "type": "attribute_list",
- "named": true
- },
- {
- "type": "node_body",
+ "type": "comment",
"named": true
},
{
- "type": "node_name",
+ "type": "node",
"named": true
}
]
}
},
{
+ "type": "id_attr",
+ "named": true,
+ "fields": {}
+ },
+ {
"type": "node",
"named": true,
"fields": {},
@@ -73,7 +80,7 @@
"required": true,
"types": [
{
- "type": "attribute_list",
+ "type": "attrs",
"named": true
},
{
@@ -111,23 +118,9 @@
}
},
{
- "type": "source_file",
+ "type": "node_name",
"named": true,
- "fields": {},
- "children": {
- "multiple": true,
- "required": false,
- "types": [
- {
- "type": "comment",
- "named": true
- },
- {
- "type": "node",
- "named": true
- }
- ]
- }
+ "fields": {}
},
{
"type": "text",
@@ -135,17 +128,13 @@
"fields": {},
"children": {
"multiple": true,
- "required": true,
+ "required": false,
"types": [
{
"type": "comment",
"named": true
},
{
- "type": "literal_text",
- "named": true
- },
- {
"type": "node",
"named": true
}
@@ -153,48 +142,28 @@
}
},
{
- "type": "-",
+ "type": "#",
"named": false
},
{
- "type": "/",
+ "type": "-",
"named": false
},
{
- "type": "=",
+ "type": ".",
"named": false
},
{
- "type": ">",
+ "type": "/",
"named": false
},
{
- "type": "@",
+ "type": "=",
"named": false
},
{
- "type": "attribute_name",
- "named": true
- },
- {
- "type": "attribute_value",
- "named": true
- },
- {
- "type": "class_shorthand",
- "named": true
- },
- {
- "type": "id_shorthand",
- "named": true
- },
- {
- "type": "literal_text",
- "named": true
- },
- {
- "type": "node_name",
- "named": true
+ "type": "@",
+ "named": false
},
{
"type": "{",
diff --git a/src/parser.c b/src/parser.c
index 8de1730..a7e2b24 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -5,97 +5,103 @@
#endif
#define LANGUAGE_VERSION 14
-#define STATE_COUNT 76
+#define STATE_COUNT 45
#define LARGE_STATE_COUNT 2
-#define SYMBOL_COUNT 25
+#define SYMBOL_COUNT 27
#define ALIAS_COUNT 0
-#define TOKEN_COUNT 15
+#define TOKEN_COUNT 13
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 0
-#define MAX_ALIAS_SEQUENCE_LENGTH 6
+#define MAX_ALIAS_SEQUENCE_LENGTH 4
#define PRODUCTION_ID_COUNT 1
enum ts_symbol_identifiers {
anon_sym_SLASH = 1,
- anon_sym_LBRACE = 2,
- anon_sym_RBRACE = 3,
- anon_sym_GT = 4,
- anon_sym_DASH = 5,
- anon_sym_EQ = 6,
- sym_node_name = 7,
- anon_sym_AT = 8,
- sym_literal_text = 9,
- sym_class_shorthand = 10,
- sym_id_shorthand = 11,
- sym_attribute_name = 12,
- sym_attribute_value = 13,
- sym__S = 14,
- sym_source_file = 15,
- sym_comment = 16,
- sym_node = 17,
+ aux_sym_node_name_token1 = 2,
+ anon_sym_LBRACE = 3,
+ anon_sym_DASH = 4,
+ anon_sym_EQ = 5,
+ anon_sym_RBRACE = 6,
+ aux_sym_attr_token1 = 7,
+ anon_sym_POUND = 8,
+ aux_sym_id_attr_token1 = 9,
+ anon_sym_DOT = 10,
+ aux_sym_text_token1 = 11,
+ anon_sym_AT = 12,
+ sym_document = 13,
+ sym__toplevel = 14,
+ sym_comment = 15,
+ sym_node = 16,
+ sym_node_name = 17,
sym_node_body = 18,
- sym_text = 19,
- sym_attribute_list = 20,
- sym_attribute = 21,
- aux_sym_source_file_repeat1 = 22,
- aux_sym_text_repeat1 = 23,
- aux_sym_attribute_list_repeat1 = 24,
+ sym_attrs = 19,
+ sym_attr = 20,
+ sym_id_attr = 21,
+ sym_class_attr = 22,
+ sym_text = 23,
+ aux_sym_document_repeat1 = 24,
+ aux_sym_attrs_repeat1 = 25,
+ aux_sym_text_repeat1 = 26,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[anon_sym_SLASH] = "/",
+ [aux_sym_node_name_token1] = "node_name_token1",
[anon_sym_LBRACE] = "{",
- [anon_sym_RBRACE] = "}",
- [anon_sym_GT] = ">",
[anon_sym_DASH] = "-",
[anon_sym_EQ] = "=",
- [sym_node_name] = "node_name",
+ [anon_sym_RBRACE] = "}",
+ [aux_sym_attr_token1] = "attr_token1",
+ [anon_sym_POUND] = "#",
+ [aux_sym_id_attr_token1] = "id_attr_token1",
+ [anon_sym_DOT] = ".",
+ [aux_sym_text_token1] = "text_token1",
[anon_sym_AT] = "@",
- [sym_literal_text] = "literal_text",
- [sym_class_shorthand] = "class_shorthand",
- [sym_id_shorthand] = "id_shorthand",
- [sym_attribute_name] = "attribute_name",
- [sym_attribute_value] = "attribute_value",
- [sym__S] = "_S",
- [sym_source_file] = "source_file",
+ [sym_document] = "document",
+ [sym__toplevel] = "_toplevel",
[sym_comment] = "comment",
[sym_node] = "node",
+ [sym_node_name] = "node_name",
[sym_node_body] = "node_body",
+ [sym_attrs] = "attrs",
+ [sym_attr] = "attr",
+ [sym_id_attr] = "id_attr",
+ [sym_class_attr] = "class_attr",
[sym_text] = "text",
- [sym_attribute_list] = "attribute_list",
- [sym_attribute] = "attribute",
- [aux_sym_source_file_repeat1] = "source_file_repeat1",
+ [aux_sym_document_repeat1] = "document_repeat1",
+ [aux_sym_attrs_repeat1] = "attrs_repeat1",
[aux_sym_text_repeat1] = "text_repeat1",
- [aux_sym_attribute_list_repeat1] = "attribute_list_repeat1",
};
static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[anon_sym_SLASH] = anon_sym_SLASH,
+ [aux_sym_node_name_token1] = aux_sym_node_name_token1,
[anon_sym_LBRACE] = anon_sym_LBRACE,
- [anon_sym_RBRACE] = anon_sym_RBRACE,
- [anon_sym_GT] = anon_sym_GT,
[anon_sym_DASH] = anon_sym_DASH,
[anon_sym_EQ] = anon_sym_EQ,
- [sym_node_name] = sym_node_name,
+ [anon_sym_RBRACE] = anon_sym_RBRACE,
+ [aux_sym_attr_token1] = aux_sym_attr_token1,
+ [anon_sym_POUND] = anon_sym_POUND,
+ [aux_sym_id_attr_token1] = aux_sym_id_attr_token1,
+ [anon_sym_DOT] = anon_sym_DOT,
+ [aux_sym_text_token1] = aux_sym_text_token1,
[anon_sym_AT] = anon_sym_AT,
- [sym_literal_text] = sym_literal_text,
- [sym_class_shorthand] = sym_class_shorthand,
- [sym_id_shorthand] = sym_id_shorthand,
- [sym_attribute_name] = sym_attribute_name,
- [sym_attribute_value] = sym_attribute_value,
- [sym__S] = sym__S,
- [sym_source_file] = sym_source_file,
+ [sym_document] = sym_document,
+ [sym__toplevel] = sym__toplevel,
[sym_comment] = sym_comment,
[sym_node] = sym_node,
+ [sym_node_name] = sym_node_name,
[sym_node_body] = sym_node_body,
+ [sym_attrs] = sym_attrs,
+ [sym_attr] = sym_attr,
+ [sym_id_attr] = sym_id_attr,
+ [sym_class_attr] = sym_class_attr,
[sym_text] = sym_text,
- [sym_attribute_list] = sym_attribute_list,
- [sym_attribute] = sym_attribute,
- [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
+ [aux_sym_document_repeat1] = aux_sym_document_repeat1,
+ [aux_sym_attrs_repeat1] = aux_sym_attrs_repeat1,
[aux_sym_text_repeat1] = aux_sym_text_repeat1,
- [aux_sym_attribute_list_repeat1] = aux_sym_attribute_list_repeat1,
};
static const TSSymbolMetadata ts_symbol_metadata[] = {
@@ -107,95 +113,103 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = false,
},
+ [aux_sym_node_name_token1] = {
+ .visible = false,
+ .named = false,
+ },
[anon_sym_LBRACE] = {
.visible = true,
.named = false,
},
- [anon_sym_RBRACE] = {
+ [anon_sym_DASH] = {
.visible = true,
.named = false,
},
- [anon_sym_GT] = {
+ [anon_sym_EQ] = {
.visible = true,
.named = false,
},
- [anon_sym_DASH] = {
+ [anon_sym_RBRACE] = {
.visible = true,
.named = false,
},
- [anon_sym_EQ] = {
- .visible = true,
+ [aux_sym_attr_token1] = {
+ .visible = false,
.named = false,
},
- [sym_node_name] = {
+ [anon_sym_POUND] = {
.visible = true,
- .named = true,
+ .named = false,
},
- [anon_sym_AT] = {
- .visible = true,
+ [aux_sym_id_attr_token1] = {
+ .visible = false,
.named = false,
},
- [sym_literal_text] = {
+ [anon_sym_DOT] = {
.visible = true,
- .named = true,
+ .named = false,
},
- [sym_class_shorthand] = {
+ [aux_sym_text_token1] = {
+ .visible = false,
+ .named = false,
+ },
+ [anon_sym_AT] = {
.visible = true,
- .named = true,
+ .named = false,
},
- [sym_id_shorthand] = {
+ [sym_document] = {
.visible = true,
.named = true,
},
- [sym_attribute_name] = {
- .visible = true,
+ [sym__toplevel] = {
+ .visible = false,
.named = true,
},
- [sym_attribute_value] = {
+ [sym_comment] = {
.visible = true,
.named = true,
},
- [sym__S] = {
- .visible = false,
+ [sym_node] = {
+ .visible = true,
.named = true,
},
- [sym_source_file] = {
+ [sym_node_name] = {
.visible = true,
.named = true,
},
- [sym_comment] = {
+ [sym_node_body] = {
.visible = true,
.named = true,
},
- [sym_node] = {
+ [sym_attrs] = {
.visible = true,
.named = true,
},
- [sym_node_body] = {
+ [sym_attr] = {
.visible = true,
.named = true,
},
- [sym_text] = {
+ [sym_id_attr] = {
.visible = true,
.named = true,
},
- [sym_attribute_list] = {
+ [sym_class_attr] = {
.visible = true,
.named = true,
},
- [sym_attribute] = {
+ [sym_text] = {
.visible = true,
.named = true,
},
- [aux_sym_source_file_repeat1] = {
+ [aux_sym_document_repeat1] = {
.visible = false,
.named = false,
},
- [aux_sym_text_repeat1] = {
+ [aux_sym_attrs_repeat1] = {
.visible = false,
.named = false,
},
- [aux_sym_attribute_list_repeat1] = {
+ [aux_sym_text_repeat1] = {
.visible = false,
.named = false,
},
@@ -214,99 +228,235 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[1] = 1,
[2] = 2,
[3] = 3,
- [4] = 2,
- [5] = 5,
+ [4] = 3,
+ [5] = 2,
[6] = 6,
- [7] = 5,
+ [7] = 7,
[8] = 8,
[9] = 9,
- [10] = 3,
- [11] = 9,
- [12] = 8,
- [13] = 6,
- [14] = 14,
- [15] = 14,
+ [10] = 7,
+ [11] = 11,
+ [12] = 12,
+ [13] = 13,
+ [14] = 13,
+ [15] = 15,
[16] = 16,
[17] = 17,
[18] = 18,
- [19] = 18,
+ [19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
- [23] = 22,
- [24] = 21,
+ [23] = 23,
+ [24] = 24,
[25] = 25,
[26] = 26,
- [27] = 27,
+ [27] = 15,
[28] = 28,
[29] = 29,
- [30] = 30,
- [31] = 31,
- [32] = 32,
- [33] = 33,
- [34] = 34,
- [35] = 35,
+ [30] = 26,
+ [31] = 18,
+ [32] = 22,
+ [33] = 25,
+ [34] = 16,
+ [35] = 29,
[36] = 36,
- [37] = 37,
+ [37] = 36,
[38] = 38,
[39] = 39,
[40] = 40,
[41] = 41,
- [42] = 35,
- [43] = 37,
- [44] = 44,
- [45] = 36,
- [46] = 28,
- [47] = 32,
- [48] = 34,
- [49] = 31,
- [50] = 33,
- [51] = 51,
- [52] = 52,
- [53] = 53,
- [54] = 54,
- [55] = 55,
- [56] = 56,
- [57] = 51,
- [58] = 58,
- [59] = 59,
- [60] = 60,
- [61] = 61,
- [62] = 62,
- [63] = 62,
- [64] = 60,
- [65] = 53,
- [66] = 54,
- [67] = 67,
- [68] = 61,
- [69] = 69,
- [70] = 67,
- [71] = 71,
- [72] = 52,
- [73] = 58,
- [74] = 55,
- [75] = 59,
+ [42] = 42,
+ [43] = 43,
+ [44] = 38,
};
-static TSCharacterRange sym_node_name_character_set_1[] = {
- {':', ':'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2ff}, {0x370, 0x37d},
- {0x37f, 0x1fff}, {0x200c, 0x200d}, {0x2070, 0x218f}, {0x2c00, 0x2fef}, {0x3001, 0xd7ff}, {0xf900, 0xfdcf}, {0xfdf0, 0xfffd}, {0x10000, 0xeffff},
+static TSCharacterRange aux_sym_node_name_token1_character_set_1[] = {
+ {'A', 'Z'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1},
+ {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f},
+ {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x48a, 0x52f}, {0x531, 0x556},
+ {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, {0x6d5, 0x6d5},
+ {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x7a5}, {0x7b1, 0x7b1},
+ {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824}, {0x828, 0x828}, {0x840, 0x858},
+ {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, {0x958, 0x961},
+ {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bd, 0x9bd},
+ {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28},
+ {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, {0xa85, 0xa8d},
+ {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, {0xae0, 0xae1},
+ {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3d, 0xb3d},
+ {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a},
+ {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0}, {0xc05, 0xc0c}, {0xc0e, 0xc10},
+ {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61}, {0xc80, 0xc80}, {0xc85, 0xc8c},
+ {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde}, {0xce0, 0xce1}, {0xcf1, 0xcf2},
+ {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56}, {0xd5f, 0xd61}, {0xd7a, 0xd7f},
+ {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe32}, {0xe40, 0xe46},
+ {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0}, {0xeb2, 0xeb2}, {0xebd, 0xebd},
+ {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c}, {0xf88, 0xf8c}, {0x1000, 0x102a},
+ {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, {0x108e, 0x108e},
+ {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258},
+ {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5},
+ {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c},
+ {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731}, {0x1740, 0x1751}, {0x1760, 0x176c},
+ {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x18a8}, {0x18aa, 0x18aa}, {0x18b0, 0x18f5},
+ {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, {0x1aa7, 0x1aa7},
+ {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, {0x1c5a, 0x1c7d},
+ {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, {0x1cfa, 0x1cfa}, {0x1d00, 0x1dbf},
+ {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d},
+ {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb},
+ {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x2102, 0x2102}, {0x2107, 0x2107},
+ {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f},
+ {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27},
+ {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe},
+ {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3005, 0x3007}, {0x3021, 0x3029}, {0x3031, 0x3035}, {0x3038, 0x303c},
+ {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff},
+ {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, {0xa67f, 0xa69d},
+ {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa801},
+ {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa8fe},
+ {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2}, {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, {0xa9fa, 0xa9fe},
+ {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, {0xaab5, 0xaab6},
+ {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, {0xab09, 0xab0e},
+ {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6},
+ {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, {0xfb2a, 0xfb36},
+ {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f},
+ {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d},
+ {0xfe7f, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xff9d}, {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7},
+ {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa},
+ {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, {0x103a0, 0x103c3},
+ {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a},
+ {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736},
+ {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835},
+ {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915},
+ {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a60, 0x10a7c},
+ {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, {0x10c00, 0x10c48},
+ {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10e80, 0x10ea9}, {0x10eb0, 0x10eb1}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f45},
+ {0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11003, 0x11037}, {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af}, {0x110d0, 0x110e8},
+ {0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, {0x11150, 0x11172}, {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x111da, 0x111da},
+ {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, {0x1123f, 0x11240}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d},
+ {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339},
+ {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, {0x11400, 0x11434}, {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5},
+ {0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a},
+ {0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f},
+ {0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32},
+ {0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40},
+ {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89},
+ {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e},
+ {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13441, 0x13446}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a70, 0x16abe},
+ {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50},
+ {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb},
+ {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a},
+ {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6},
+ {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c},
+ {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da},
+ {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2},
+ {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad},
+ {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943},
+ {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37},
+ {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52},
+ {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64},
+ {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3},
+ {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d},
+ {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
};
-static TSCharacterRange sym_node_name_character_set_2[] = {
- {'-', '.'}, {'0', ':'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xb7, 0xb7}, {0xc0, 0xd6}, {0xd8, 0xf6},
- {0xf8, 0x37d}, {0x37f, 0x1fff}, {0x200c, 0x200d}, {0x203f, 0x2040}, {0x2070, 0x218f}, {0x2c00, 0x2fef}, {0x3001, 0xd7ff}, {0xf900, 0xfdcf},
- {0xfdf0, 0xfffd}, {0x10000, 0xeffff},
-};
-
-static TSCharacterRange sym_class_shorthand_character_set_1[] = {
- {0, 0x08}, {0x0e, 0x1f}, {'!', 0x84}, {0x86, 0x9f}, {0xa1, 0x167f}, {0x1681, 0x1fff}, {0x200b, 0x2027}, {0x202a, 0x202e},
- {0x2030, 0x205e}, {0x2060, 0x2fff}, {0x3001, 0x10ffff},
-};
-
-static TSCharacterRange sym__S_character_set_1[] = {
- {'\t', '\r'}, {' ', ' '}, {0x85, 0x85}, {0xa0, 0xa0}, {0x1680, 0x1680}, {0x2000, 0x200a}, {0x2028, 0x2029}, {0x202f, 0x202f},
- {0x205f, 0x205f}, {0x3000, 0x3000},
+static TSCharacterRange aux_sym_node_name_token1_character_set_2[] = {
+ {'-', '-'}, {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xb7, 0xb7},
+ {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee},
+ {0x300, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5},
+ {0x3f7, 0x481}, {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, {0x5bf, 0x5bf},
+ {0x5c1, 0x5c2}, {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a}, {0x620, 0x669}, {0x66e, 0x6d3},
+ {0x6d5, 0x6dc}, {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1}, {0x7c0, 0x7f5}, {0x7fa, 0x7fa},
+ {0x7fd, 0x7fd}, {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x898, 0x8e1}, {0x8e3, 0x963},
+ {0x966, 0x96f}, {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9},
+ {0x9bc, 0x9c4}, {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3}, {0x9e6, 0x9f1}, {0x9fc, 0x9fc},
+ {0x9fe, 0x9fe}, {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36},
+ {0xa38, 0xa39}, {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51}, {0xa59, 0xa5c}, {0xa5e, 0xa5e},
+ {0xa66, 0xa75}, {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9},
+ {0xabc, 0xac5}, {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef}, {0xaf9, 0xaff}, {0xb01, 0xb03},
+ {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3c, 0xb44}, {0xb47, 0xb48},
+ {0xb4b, 0xb4d}, {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71}, {0xb82, 0xb83}, {0xb85, 0xb8a},
+ {0xb8e, 0xb90}, {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9},
+ {0xbbe, 0xbc2}, {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef}, {0xc00, 0xc0c}, {0xc0e, 0xc10},
+ {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc58, 0xc5a}, {0xc5d, 0xc5d},
+ {0xc60, 0xc63}, {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9},
+ {0xcbc, 0xcc4}, {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3}, {0xce6, 0xcef}, {0xcf1, 0xcf3},
+ {0xd00, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57}, {0xd5f, 0xd63}, {0xd66, 0xd6f},
+ {0xd7a, 0xd7f}, {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xdca, 0xdca},
+ {0xdcf, 0xdd4}, {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a}, {0xe40, 0xe4e}, {0xe50, 0xe59},
+ {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6},
+ {0xec8, 0xece}, {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29}, {0xf35, 0xf35}, {0xf37, 0xf37},
+ {0xf39, 0xf39}, {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x1000, 0x1049},
+ {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256},
+ {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0},
+ {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, {0x1380, 0x138f},
+ {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1715},
+ {0x171f, 0x1734}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dd},
+ {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1920, 0x192b},
+ {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e},
+ {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace}, {0x1b00, 0x1b4c}, {0x1b50, 0x1b59},
+ {0x1b6b, 0x1b73}, {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf},
+ {0x1cd0, 0x1cd2}, {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59},
+ {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc},
+ {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d}, {0x203f, 0x2040}, {0x2054, 0x2054},
+ {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107},
+ {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f},
+ {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d},
+ {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6},
+ {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c},
+ {0x3041, 0x3096}, {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff},
+ {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1},
+ {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c},
+ {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c},
+ {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2},
+ {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e},
+ {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb},
+ {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e},
+ {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9},
+ {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79},
+ {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19}, {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff65, 0xffbe},
+ {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d},
+ {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0},
+ {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d},
+ {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592},
+ {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767},
+ {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c},
+ {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7},
+ {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a3f},
+ {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91},
+ {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39}, {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1},
+ {0x10efd, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, {0x11066, 0x11075},
+ {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11147}, {0x11150, 0x11173},
+ {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x11237}, {0x1123e, 0x11241},
+ {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303},
+ {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348},
+ {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11400, 0x1144a}, {0x11450, 0x11459},
+ {0x1145e, 0x11461}, {0x11480, 0x114c5}, {0x114c7, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640},
+ {0x11644, 0x11644}, {0x11650, 0x11659}, {0x11680, 0x116b8}, {0x116c0, 0x116c9}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11740, 0x11746},
+ {0x11800, 0x1183a}, {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x11935}, {0x11937, 0x11938},
+ {0x1193b, 0x11943}, {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7}, {0x119da, 0x119e1}, {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, {0x11a47, 0x11a47},
+ {0x11a50, 0x11a99}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, {0x11c72, 0x11c8f},
+ {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, {0x11d3f, 0x11d47},
+ {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, {0x11ee0, 0x11ef6},
+ {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f59}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543},
+ {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe},
+ {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f},
+ {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7},
+ {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152},
+ {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e},
+ {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244},
+ {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb},
+ {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544},
+ {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734},
+ {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36},
+ {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e000, 0x1e006},
+ {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e030, 0x1e06d}, {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d},
+ {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {0x1e4d0, 0x1e4f9}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee},
+ {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b}, {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22},
+ {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47},
+ {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b},
+ {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c},
+ {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1fbf0, 0x1fbf9}, {0x20000, 0x2a6df},
+ {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af},
+ {0xe0100, 0xe01ef},
};
static bool ts_lex(TSLexer *lexer, TSStateId state) {
@@ -316,75 +466,99 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
case 0:
if (eof) ADVANCE(9);
ADVANCE_MAP(
- '"', 1,
- '#', 5,
- '-', 14,
- '.', 6,
+ '"', 3,
+ '#', 17,
+ '-', 13,
+ '.', 19,
'/', 10,
- '=', 15,
- '>', 13,
- '@', 19,
- '{', 11,
- '}', 12,
- 0x1680, 16,
+ '=', 14,
+ '@', 22,
+ '{', 12,
+ '}', 15,
);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(26);
- if (set_contains(sym_node_name_character_set_1, 16, lookahead)) ADVANCE(18);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ' ||
+ lookahead == 0x85 ||
+ lookahead == 0x200e ||
+ lookahead == 0x200f ||
+ lookahead == 0x2028 ||
+ lookahead == 0x2029) SKIP(7);
+ if (set_contains(aux_sym_node_name_token1_character_set_1, 667, lookahead)) ADVANCE(18);
END_STATE();
case 1:
- if (lookahead == '"') ADVANCE(25);
- if (lookahead == '\\') ADVANCE(7);
+ if (lookahead == '"') ADVANCE(16);
+ if (lookahead == '\\') ADVANCE(4);
if (lookahead != 0) ADVANCE(1);
END_STATE();
case 2:
- if (lookahead == '#') ADVANCE(5);
- if (lookahead == '.') ADVANCE(6);
- if (lookahead == '{') ADVANCE(11);
- if (lookahead == 0x1680) ADVANCE(16);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9')) ADVANCE(24);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(26);
- if (('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(17);
- if (set_contains(sym_node_name_character_set_1, 16, lookahead)) ADVANCE(18);
+ if (lookahead == '@') ADVANCE(22);
+ if (lookahead == '\\') ADVANCE(5);
+ if (lookahead == '}') ADVANCE(15);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ' ||
+ lookahead == 0x85 ||
+ lookahead == 0x200e ||
+ lookahead == 0x200f ||
+ lookahead == 0x2028 ||
+ lookahead == 0x2029) ADVANCE(20);
+ if (lookahead != 0) ADVANCE(21);
END_STATE();
case 3:
- if (lookahead == '@') ADVANCE(19);
if (lookahead == '\\') ADVANCE(4);
- if (lookahead == '}') ADVANCE(12);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(20);
- if (lookahead != 0) ADVANCE(21);
+ if (lookahead != 0 &&
+ lookahead != '"') ADVANCE(1);
END_STATE();
case 4:
+ if (lookahead == '"' ||
+ lookahead == '\\') ADVANCE(1);
+ END_STATE();
+ case 5:
if (lookahead == '@' ||
lookahead == '\\' ||
lookahead == '}') ADVANCE(21);
END_STATE();
- case 5:
- if ((!eof && set_contains(sym_class_shorthand_character_set_1, 11, lookahead))) ADVANCE(23);
- END_STATE();
case 6:
- if ((!eof && set_contains(sym_class_shorthand_character_set_1, 11, lookahead))) ADVANCE(22);
+ if (set_contains(aux_sym_node_name_token1_character_set_1, 667, lookahead)) ADVANCE(18);
END_STATE();
case 7:
- if (lookahead != 0 &&
- lookahead != '\n') ADVANCE(1);
+ if (eof) ADVANCE(9);
+ ADVANCE_MAP(
+ '"', 3,
+ '#', 17,
+ '-', 13,
+ '.', 19,
+ '/', 10,
+ '=', 14,
+ '@', 22,
+ '{', 12,
+ '}', 15,
+ );
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ' ||
+ lookahead == 0x85 ||
+ lookahead == 0x200e ||
+ lookahead == 0x200f ||
+ lookahead == 0x2028 ||
+ lookahead == 0x2029) SKIP(7);
+ if (set_contains(aux_sym_node_name_token1_character_set_1, 667, lookahead)) ADVANCE(11);
END_STATE();
case 8:
if (eof) ADVANCE(9);
- if (lookahead == '"') ADVANCE(1);
- if (lookahead == '#') ADVANCE(5);
- if (lookahead == '.') ADVANCE(6);
- if (lookahead == '=') ADVANCE(15);
- if (lookahead == '{') ADVANCE(11);
- if (lookahead == '}') ADVANCE(12);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(26);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9') ||
- ('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24);
+ if (lookahead == '#') ADVANCE(17);
+ if (lookahead == '-') ADVANCE(13);
+ if (lookahead == '.') ADVANCE(19);
+ if (lookahead == '/') ADVANCE(10);
+ if (lookahead == '=') ADVANCE(14);
+ if (lookahead == '{') ADVANCE(12);
+ if (lookahead == '}') ADVANCE(15);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ' ||
+ lookahead == 0x85 ||
+ lookahead == 0x200e ||
+ lookahead == 0x200f ||
+ lookahead == 0x2028 ||
+ lookahead == 0x2029) SKIP(8);
+ if (set_contains(aux_sym_node_name_token1_character_set_1, 667, lookahead)) ADVANCE(11);
END_STATE();
case 9:
ACCEPT_TOKEN(ts_builtin_sym_end);
@@ -393,79 +567,57 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
ACCEPT_TOKEN(anon_sym_SLASH);
END_STATE();
case 11:
- ACCEPT_TOKEN(anon_sym_LBRACE);
+ ACCEPT_TOKEN(aux_sym_node_name_token1);
+ if (set_contains(aux_sym_node_name_token1_character_set_2, 777, lookahead)) ADVANCE(11);
END_STATE();
case 12:
- ACCEPT_TOKEN(anon_sym_RBRACE);
+ ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
case 13:
- ACCEPT_TOKEN(anon_sym_GT);
+ ACCEPT_TOKEN(anon_sym_DASH);
END_STATE();
case 14:
- ACCEPT_TOKEN(anon_sym_DASH);
+ ACCEPT_TOKEN(anon_sym_EQ);
END_STATE();
case 15:
- ACCEPT_TOKEN(anon_sym_EQ);
+ ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
case 16:
- ACCEPT_TOKEN(sym_node_name);
- if (lookahead == 0x1680) ADVANCE(16);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(26);
- if (set_contains(sym_node_name_character_set_2, 18, lookahead)) ADVANCE(18);
+ ACCEPT_TOKEN(aux_sym_attr_token1);
END_STATE();
case 17:
- ACCEPT_TOKEN(sym_node_name);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9') ||
- ('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(17);
- if (set_contains(sym_node_name_character_set_2, 18, lookahead)) ADVANCE(18);
+ ACCEPT_TOKEN(anon_sym_POUND);
END_STATE();
case 18:
- ACCEPT_TOKEN(sym_node_name);
- if (set_contains(sym_node_name_character_set_2, 18, lookahead)) ADVANCE(18);
+ ACCEPT_TOKEN(aux_sym_id_attr_token1);
+ if (set_contains(aux_sym_node_name_token1_character_set_2, 777, lookahead)) ADVANCE(18);
END_STATE();
case 19:
- ACCEPT_TOKEN(anon_sym_AT);
+ ACCEPT_TOKEN(anon_sym_DOT);
END_STATE();
case 20:
- ACCEPT_TOKEN(sym_literal_text);
- if (lookahead == '\\') ADVANCE(4);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(20);
+ ACCEPT_TOKEN(aux_sym_text_token1);
+ if (lookahead == '\\') ADVANCE(5);
+ if (('\t' <= lookahead && lookahead <= '\r') ||
+ lookahead == ' ' ||
+ lookahead == 0x85 ||
+ lookahead == 0x200e ||
+ lookahead == 0x200f ||
+ lookahead == 0x2028 ||
+ lookahead == 0x2029) ADVANCE(20);
if (lookahead != 0 &&
lookahead != '@' &&
lookahead != '}') ADVANCE(21);
END_STATE();
case 21:
- ACCEPT_TOKEN(sym_literal_text);
- if (lookahead == '\\') ADVANCE(4);
+ ACCEPT_TOKEN(aux_sym_text_token1);
+ if (lookahead == '\\') ADVANCE(5);
if (lookahead != 0 &&
lookahead != '@' &&
lookahead != '}') ADVANCE(21);
END_STATE();
case 22:
- ACCEPT_TOKEN(sym_class_shorthand);
- if ((!eof && set_contains(sym_class_shorthand_character_set_1, 11, lookahead))) ADVANCE(22);
- END_STATE();
- case 23:
- ACCEPT_TOKEN(sym_id_shorthand);
- if ((!eof && set_contains(sym_class_shorthand_character_set_1, 11, lookahead))) ADVANCE(23);
- END_STATE();
- case 24:
- ACCEPT_TOKEN(sym_attribute_name);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9') ||
- ('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(24);
- END_STATE();
- case 25:
- ACCEPT_TOKEN(sym_attribute_value);
- END_STATE();
- case 26:
- ACCEPT_TOKEN(sym__S);
- if (set_contains(sym__S_character_set_1, 10, lookahead)) ADVANCE(26);
+ ACCEPT_TOKEN(anon_sym_AT);
END_STATE();
default:
return false;
@@ -474,1056 +626,542 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
- [1] = {.lex_state = 0},
- [2] = {.lex_state = 0},
- [3] = {.lex_state = 0},
- [4] = {.lex_state = 0},
- [5] = {.lex_state = 0},
- [6] = {.lex_state = 0},
- [7] = {.lex_state = 0},
- [8] = {.lex_state = 0},
- [9] = {.lex_state = 0},
- [10] = {.lex_state = 0},
- [11] = {.lex_state = 0},
- [12] = {.lex_state = 0},
- [13] = {.lex_state = 0},
+ [1] = {.lex_state = 8},
+ [2] = {.lex_state = 8},
+ [3] = {.lex_state = 8},
+ [4] = {.lex_state = 8},
+ [5] = {.lex_state = 8},
+ [6] = {.lex_state = 8},
+ [7] = {.lex_state = 8},
+ [8] = {.lex_state = 8},
+ [9] = {.lex_state = 8},
+ [10] = {.lex_state = 8},
+ [11] = {.lex_state = 8},
+ [12] = {.lex_state = 8},
+ [13] = {.lex_state = 2},
[14] = {.lex_state = 2},
- [15] = {.lex_state = 2},
- [16] = {.lex_state = 0},
- [17] = {.lex_state = 0},
+ [15] = {.lex_state = 8},
+ [16] = {.lex_state = 8},
+ [17] = {.lex_state = 8},
[18] = {.lex_state = 8},
- [19] = {.lex_state = 8},
- [20] = {.lex_state = 0},
+ [19] = {.lex_state = 2},
+ [20] = {.lex_state = 8},
[21] = {.lex_state = 8},
[22] = {.lex_state = 8},
- [23] = {.lex_state = 8},
+ [23] = {.lex_state = 2},
[24] = {.lex_state = 8},
[25] = {.lex_state = 8},
[26] = {.lex_state = 8},
- [27] = {.lex_state = 3},
- [28] = {.lex_state = 0},
- [29] = {.lex_state = 0},
- [30] = {.lex_state = 8},
- [31] = {.lex_state = 0},
- [32] = {.lex_state = 0},
- [33] = {.lex_state = 0},
- [34] = {.lex_state = 0},
- [35] = {.lex_state = 0},
+ [27] = {.lex_state = 2},
+ [28] = {.lex_state = 2},
+ [29] = {.lex_state = 8},
+ [30] = {.lex_state = 2},
+ [31] = {.lex_state = 2},
+ [32] = {.lex_state = 2},
+ [33] = {.lex_state = 2},
+ [34] = {.lex_state = 2},
+ [35] = {.lex_state = 8},
[36] = {.lex_state = 0},
[37] = {.lex_state = 0},
- [38] = {.lex_state = 8},
- [39] = {.lex_state = 3},
- [40] = {.lex_state = 8},
- [41] = {.lex_state = 3},
- [42] = {.lex_state = 3},
- [43] = {.lex_state = 3},
- [44] = {.lex_state = 3},
- [45] = {.lex_state = 3},
- [46] = {.lex_state = 3},
- [47] = {.lex_state = 3},
- [48] = {.lex_state = 3},
- [49] = {.lex_state = 3},
- [50] = {.lex_state = 3},
- [51] = {.lex_state = 8},
- [52] = {.lex_state = 8},
- [53] = {.lex_state = 8},
- [54] = {.lex_state = 8},
- [55] = {.lex_state = 8},
- [56] = {.lex_state = 8},
- [57] = {.lex_state = 8},
- [58] = {.lex_state = 8},
- [59] = {.lex_state = 0},
- [60] = {.lex_state = 8},
- [61] = {.lex_state = 8},
- [62] = {.lex_state = 8},
- [63] = {.lex_state = 8},
- [64] = {.lex_state = 8},
- [65] = {.lex_state = 8},
- [66] = {.lex_state = 8},
- [67] = {.lex_state = 8},
- [68] = {.lex_state = 8},
- [69] = {.lex_state = 8},
- [70] = {.lex_state = 8},
- [71] = {.lex_state = 8},
- [72] = {.lex_state = 8},
- [73] = {.lex_state = 8},
- [74] = {.lex_state = 8},
- [75] = {.lex_state = 0},
+ [38] = {.lex_state = 0},
+ [39] = {.lex_state = 0},
+ [40] = {.lex_state = 6},
+ [41] = {.lex_state = 6},
+ [42] = {.lex_state = 0},
+ [43] = {.lex_state = 0},
+ [44] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[0] = {
[ts_builtin_sym_end] = ACTIONS(1),
[anon_sym_SLASH] = ACTIONS(1),
+ [aux_sym_node_name_token1] = ACTIONS(1),
[anon_sym_LBRACE] = ACTIONS(1),
- [anon_sym_RBRACE] = ACTIONS(1),
- [anon_sym_GT] = ACTIONS(1),
[anon_sym_DASH] = ACTIONS(1),
[anon_sym_EQ] = ACTIONS(1),
- [sym_node_name] = ACTIONS(1),
+ [anon_sym_RBRACE] = ACTIONS(1),
+ [aux_sym_attr_token1] = ACTIONS(1),
+ [anon_sym_POUND] = ACTIONS(1),
+ [aux_sym_id_attr_token1] = ACTIONS(1),
+ [anon_sym_DOT] = ACTIONS(1),
[anon_sym_AT] = ACTIONS(1),
- [sym_class_shorthand] = ACTIONS(1),
- [sym_id_shorthand] = ACTIONS(1),
- [sym_attribute_value] = ACTIONS(1),
- [sym__S] = ACTIONS(3),
},
[1] = {
- [sym_source_file] = STATE(71),
- [sym_comment] = STATE(17),
- [sym_node] = STATE(17),
- [aux_sym_source_file_repeat1] = STATE(17),
- [ts_builtin_sym_end] = ACTIONS(5),
- [anon_sym_SLASH] = ACTIONS(7),
- [anon_sym_GT] = ACTIONS(9),
- [sym_node_name] = ACTIONS(11),
- [sym__S] = ACTIONS(3),
+ [sym_document] = STATE(43),
+ [sym__toplevel] = STATE(8),
+ [sym_comment] = STATE(8),
+ [sym_node] = STATE(8),
+ [sym_node_name] = STATE(2),
+ [aux_sym_document_repeat1] = STATE(8),
+ [ts_builtin_sym_end] = ACTIONS(3),
+ [anon_sym_SLASH] = ACTIONS(5),
+ [aux_sym_node_name_token1] = ACTIONS(7),
},
};
static const uint16_t ts_small_parse_table[] = {
- [0] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
- anon_sym_SLASH,
+ [0] = 7,
ACTIONS(9), 1,
- anon_sym_GT,
+ aux_sym_node_name_token1,
ACTIONS(11), 1,
- sym_node_name,
+ anon_sym_LBRACE,
ACTIONS(13), 1,
- anon_sym_RBRACE,
- STATE(63), 1,
+ anon_sym_POUND,
+ ACTIONS(15), 1,
+ anon_sym_DOT,
+ STATE(15), 1,
sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [28] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
+ STATE(36), 1,
+ sym_attrs,
+ STATE(11), 4,
+ sym_attr,
+ sym_id_attr,
+ sym_class_attr,
+ aux_sym_attrs_repeat1,
+ [25] = 6,
+ ACTIONS(5), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
- ACTIONS(17), 1,
- anon_sym_RBRACE,
- STATE(54), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [56] = 8,
- ACTIONS(3), 1,
- sym__S,
ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
+ aux_sym_node_name_token1,
ACTIONS(19), 1,
anon_sym_RBRACE,
- STATE(62), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [84] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
+ STATE(2), 1,
sym_node_name,
- ACTIONS(21), 1,
- anon_sym_RBRACE,
- STATE(57), 1,
- sym_node_body,
- ACTIONS(15), 2,
+ ACTIONS(17), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(20), 3,
+ STATE(7), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [112] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
+ aux_sym_document_repeat1,
+ [48] = 6,
+ ACTIONS(5), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
+ ACTIONS(7), 1,
+ aux_sym_node_name_token1,
ACTIONS(23), 1,
anon_sym_RBRACE,
- STATE(53), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [140] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
+ STATE(2), 1,
sym_node_name,
- ACTIONS(25), 1,
- anon_sym_RBRACE,
- STATE(51), 1,
- sym_node_body,
- ACTIONS(15), 2,
+ ACTIONS(21), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(20), 3,
+ STATE(10), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [168] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
- anon_sym_SLASH,
+ aux_sym_document_repeat1,
+ [71] = 7,
ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
- ACTIONS(27), 1,
- anon_sym_RBRACE,
- STATE(60), 1,
+ aux_sym_node_name_token1,
+ ACTIONS(13), 1,
+ anon_sym_POUND,
+ ACTIONS(15), 1,
+ anon_sym_DOT,
+ ACTIONS(25), 1,
+ anon_sym_LBRACE,
+ STATE(27), 1,
sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [196] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
+ STATE(37), 1,
+ sym_attrs,
+ STATE(11), 4,
+ sym_attr,
+ sym_id_attr,
+ sym_class_attr,
+ aux_sym_attrs_repeat1,
+ [96] = 5,
ACTIONS(29), 1,
- anon_sym_RBRACE,
- STATE(68), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [224] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
+ ACTIONS(32), 1,
+ aux_sym_node_name_token1,
+ STATE(2), 1,
sym_node_name,
- ACTIONS(31), 1,
+ ACTIONS(27), 2,
+ ts_builtin_sym_end,
anon_sym_RBRACE,
- STATE(66), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
+ STATE(6), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [252] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
+ aux_sym_document_repeat1,
+ [116] = 5,
+ ACTIONS(5), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
- ACTIONS(33), 1,
- anon_sym_RBRACE,
- STATE(61), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [280] = 8,
- ACTIONS(3), 1,
- sym__S,
ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
+ aux_sym_node_name_token1,
ACTIONS(35), 1,
anon_sym_RBRACE,
- STATE(64), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
+ STATE(2), 1,
+ sym_node_name,
+ STATE(6), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [308] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(7), 1,
+ aux_sym_document_repeat1,
+ [135] = 5,
+ ACTIONS(5), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
- sym_node_name,
+ ACTIONS(7), 1,
+ aux_sym_node_name_token1,
ACTIONS(37), 1,
- anon_sym_RBRACE,
- STATE(65), 1,
- sym_node_body,
- ACTIONS(15), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(20), 3,
+ ts_builtin_sym_end,
+ STATE(2), 1,
+ sym_node_name,
+ STATE(6), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [336] = 7,
- ACTIONS(3), 1,
- sym__S,
+ aux_sym_document_repeat1,
+ [154] = 5,
ACTIONS(39), 1,
+ aux_sym_node_name_token1,
+ ACTIONS(42), 1,
anon_sym_LBRACE,
- ACTIONS(41), 1,
- sym_node_name,
- ACTIONS(45), 1,
- sym_attribute_name,
- STATE(67), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [360] = 7,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(45), 1,
- sym_attribute_name,
+ ACTIONS(44), 1,
+ anon_sym_POUND,
ACTIONS(47), 1,
- anon_sym_LBRACE,
- ACTIONS(49), 1,
- sym_node_name,
- STATE(70), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [384] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(53), 1,
+ anon_sym_DOT,
+ STATE(9), 4,
+ sym_attr,
+ sym_id_attr,
+ sym_class_attr,
+ aux_sym_attrs_repeat1,
+ [173] = 5,
+ ACTIONS(5), 1,
anon_sym_SLASH,
- ACTIONS(56), 1,
- anon_sym_GT,
- ACTIONS(59), 1,
- sym_node_name,
- ACTIONS(51), 2,
- ts_builtin_sym_end,
- anon_sym_RBRACE,
- STATE(16), 3,
- sym_comment,
- sym_node,
- aux_sym_source_file_repeat1,
- [406] = 6,
- ACTIONS(3), 1,
- sym__S,
ACTIONS(7), 1,
- anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
+ aux_sym_node_name_token1,
+ ACTIONS(50), 1,
+ anon_sym_RBRACE,
+ STATE(2), 1,
sym_node_name,
- ACTIONS(62), 1,
- ts_builtin_sym_end,
- STATE(16), 3,
+ STATE(6), 4,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [427] = 6,
- ACTIONS(64), 1,
- anon_sym_LBRACE,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- STATE(74), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [448] = 6,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(70), 1,
+ aux_sym_document_repeat1,
+ [192] = 5,
+ ACTIONS(9), 1,
+ aux_sym_node_name_token1,
+ ACTIONS(13), 1,
+ anon_sym_POUND,
+ ACTIONS(15), 1,
+ anon_sym_DOT,
+ ACTIONS(52), 1,
anon_sym_LBRACE,
- STATE(55), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [469] = 6,
- ACTIONS(3), 1,
- sym__S,
+ STATE(9), 4,
+ sym_attr,
+ sym_id_attr,
+ sym_class_attr,
+ aux_sym_attrs_repeat1,
+ [211] = 4,
ACTIONS(7), 1,
+ aux_sym_node_name_token1,
+ ACTIONS(54), 1,
anon_sym_SLASH,
- ACTIONS(9), 1,
- anon_sym_GT,
- ACTIONS(11), 1,
+ STATE(5), 1,
sym_node_name,
- ACTIONS(72), 1,
- anon_sym_RBRACE,
- STATE(16), 3,
+ STATE(28), 3,
+ sym__toplevel,
sym_comment,
sym_node,
- aux_sym_source_file_repeat1,
- [490] = 6,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(74), 1,
- anon_sym_LBRACE,
- STATE(72), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [511] = 6,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(76), 1,
- anon_sym_LBRACE,
- STATE(58), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [532] = 6,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(78), 1,
- anon_sym_LBRACE,
- STATE(73), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [553] = 6,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(80), 1,
- anon_sym_LBRACE,
- STATE(52), 1,
- sym_attribute_list,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(25), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [574] = 5,
- ACTIONS(66), 1,
- sym_attribute_name,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(82), 1,
- anon_sym_LBRACE,
- ACTIONS(43), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(26), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [592] = 5,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(84), 1,
- anon_sym_LBRACE,
- ACTIONS(89), 1,
- sym_attribute_name,
- ACTIONS(86), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(26), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [610] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(72), 1,
+ [226] = 5,
+ ACTIONS(56), 1,
anon_sym_RBRACE,
- ACTIONS(92), 1,
+ ACTIONS(58), 1,
+ aux_sym_text_token1,
+ ACTIONS(60), 1,
anon_sym_AT,
- ACTIONS(94), 1,
- sym_literal_text,
- STATE(39), 1,
+ STATE(23), 1,
aux_sym_text_repeat1,
- STATE(69), 1,
+ STATE(44), 1,
sym_text,
- [629] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(98), 1,
- sym_node_name,
- ACTIONS(96), 4,
- ts_builtin_sym_end,
- anon_sym_SLASH,
- anon_sym_RBRACE,
- anon_sym_GT,
- [642] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(100), 1,
- anon_sym_SLASH,
- ACTIONS(102), 1,
- anon_sym_GT,
- ACTIONS(104), 1,
- sym_node_name,
- STATE(44), 2,
- sym_comment,
- sym_node,
- [659] = 3,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(108), 1,
- anon_sym_EQ,
- ACTIONS(106), 4,
- anon_sym_LBRACE,
- sym_class_shorthand,
- sym_id_shorthand,
- sym_attribute_name,
- [672] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(112), 1,
- sym_node_name,
- ACTIONS(110), 4,
- ts_builtin_sym_end,
- anon_sym_SLASH,
- anon_sym_RBRACE,
- anon_sym_GT,
- [685] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(116), 1,
- sym_node_name,
- ACTIONS(114), 4,
- ts_builtin_sym_end,
- anon_sym_SLASH,
+ [242] = 5,
+ ACTIONS(58), 1,
+ aux_sym_text_token1,
+ ACTIONS(60), 1,
+ anon_sym_AT,
+ ACTIONS(62), 1,
anon_sym_RBRACE,
- anon_sym_GT,
- [698] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(120), 1,
- sym_node_name,
- ACTIONS(118), 4,
+ STATE(23), 1,
+ aux_sym_text_repeat1,
+ STATE(38), 1,
+ sym_text,
+ [258] = 1,
+ ACTIONS(64), 4,
ts_builtin_sym_end,
anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_GT,
- [711] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(124), 1,
- sym_node_name,
- ACTIONS(122), 4,
+ [265] = 1,
+ ACTIONS(66), 4,
ts_builtin_sym_end,
anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_GT,
- [724] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(128), 1,
- sym_node_name,
- ACTIONS(126), 4,
+ [272] = 1,
+ ACTIONS(68), 4,
+ aux_sym_node_name_token1,
+ anon_sym_LBRACE,
+ anon_sym_POUND,
+ anon_sym_DOT,
+ [279] = 1,
+ ACTIONS(70), 4,
ts_builtin_sym_end,
anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_GT,
- [737] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(132), 1,
- sym_node_name,
- ACTIONS(130), 4,
- ts_builtin_sym_end,
- anon_sym_SLASH,
+ [286] = 4,
+ ACTIONS(72), 1,
anon_sym_RBRACE,
- anon_sym_GT,
- [750] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(136), 1,
- sym_node_name,
- ACTIONS(134), 4,
+ ACTIONS(74), 1,
+ aux_sym_text_token1,
+ ACTIONS(77), 1,
+ anon_sym_AT,
+ STATE(19), 1,
+ aux_sym_text_repeat1,
+ [299] = 1,
+ ACTIONS(80), 4,
+ aux_sym_node_name_token1,
+ anon_sym_LBRACE,
+ anon_sym_POUND,
+ anon_sym_DOT,
+ [306] = 1,
+ ACTIONS(82), 4,
+ aux_sym_node_name_token1,
+ anon_sym_LBRACE,
+ anon_sym_POUND,
+ anon_sym_DOT,
+ [313] = 1,
+ ACTIONS(84), 4,
ts_builtin_sym_end,
anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_GT,
- [763] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(106), 4,
- anon_sym_LBRACE,
- sym_class_shorthand,
- sym_id_shorthand,
- sym_attribute_name,
- [773] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(92), 1,
+ [320] = 4,
+ ACTIONS(60), 1,
anon_sym_AT,
- ACTIONS(138), 1,
+ ACTIONS(86), 1,
anon_sym_RBRACE,
- ACTIONS(140), 1,
- sym_literal_text,
- STATE(41), 1,
+ ACTIONS(88), 1,
+ aux_sym_text_token1,
+ STATE(19), 1,
aux_sym_text_repeat1,
- [789] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(142), 4,
+ [333] = 1,
+ ACTIONS(90), 4,
+ aux_sym_node_name_token1,
anon_sym_LBRACE,
- sym_class_shorthand,
- sym_id_shorthand,
- sym_attribute_name,
- [799] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(144), 1,
- anon_sym_RBRACE,
- ACTIONS(146), 1,
- anon_sym_AT,
- ACTIONS(149), 1,
- sym_literal_text,
- STATE(41), 1,
- aux_sym_text_repeat1,
- [815] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(126), 3,
+ anon_sym_POUND,
+ anon_sym_DOT,
+ [340] = 1,
+ ACTIONS(92), 4,
+ ts_builtin_sym_end,
+ anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_AT,
- sym_literal_text,
- [824] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(134), 3,
+ [347] = 1,
+ ACTIONS(94), 4,
+ ts_builtin_sym_end,
+ anon_sym_SLASH,
+ aux_sym_node_name_token1,
anon_sym_RBRACE,
- anon_sym_AT,
- sym_literal_text,
- [833] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(144), 3,
+ [354] = 2,
+ ACTIONS(64), 1,
+ aux_sym_text_token1,
+ ACTIONS(96), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [842] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(130), 3,
+ [362] = 2,
+ ACTIONS(98), 1,
+ aux_sym_text_token1,
+ ACTIONS(72), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [851] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(96), 3,
+ [370] = 3,
+ ACTIONS(7), 1,
+ aux_sym_node_name_token1,
+ STATE(2), 1,
+ sym_node_name,
+ STATE(26), 1,
+ sym_node,
+ [380] = 2,
+ ACTIONS(94), 1,
+ aux_sym_text_token1,
+ ACTIONS(100), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [860] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(114), 3,
+ [388] = 2,
+ ACTIONS(70), 1,
+ aux_sym_text_token1,
+ ACTIONS(102), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [869] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(122), 3,
+ [396] = 2,
+ ACTIONS(84), 1,
+ aux_sym_text_token1,
+ ACTIONS(104), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [878] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(110), 3,
+ [404] = 2,
+ ACTIONS(92), 1,
+ aux_sym_text_token1,
+ ACTIONS(106), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [887] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(118), 3,
+ [412] = 2,
+ ACTIONS(66), 1,
+ aux_sym_text_token1,
+ ACTIONS(108), 2,
anon_sym_RBRACE,
anon_sym_AT,
- sym_literal_text,
- [896] = 2,
- ACTIONS(29), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [903] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(70), 1,
- anon_sym_LBRACE,
- [910] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(152), 1,
- anon_sym_RBRACE,
- [917] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(154), 1,
- anon_sym_RBRACE,
- [924] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(156), 1,
- anon_sym_LBRACE,
- [931] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(158), 1,
- sym_attribute_value,
- [938] = 2,
- ACTIONS(33), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [945] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(160), 1,
- anon_sym_LBRACE,
- [952] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(162), 1,
+ [420] = 3,
+ ACTIONS(7), 1,
+ aux_sym_node_name_token1,
+ STATE(5), 1,
sym_node_name,
- [959] = 2,
- ACTIONS(13), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [966] = 2,
- ACTIONS(37), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [973] = 2,
- ACTIONS(17), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [980] = 2,
- ACTIONS(31), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [987] = 2,
- ACTIONS(19), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [994] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(164), 1,
- anon_sym_RBRACE,
- [1001] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(166), 1,
- anon_sym_RBRACE,
- [1008] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(76), 1,
+ STATE(30), 1,
+ sym_node,
+ [430] = 2,
+ ACTIONS(11), 1,
anon_sym_LBRACE,
- [1015] = 2,
- ACTIONS(23), 1,
- anon_sym_RBRACE,
- ACTIONS(68), 1,
- sym__S,
- [1022] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(168), 1,
- anon_sym_RBRACE,
- [1029] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(78), 1,
+ STATE(22), 1,
+ sym_node_body,
+ [437] = 2,
+ ACTIONS(25), 1,
anon_sym_LBRACE,
- [1036] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(170), 1,
+ STATE(32), 1,
+ sym_node_body,
+ [444] = 1,
+ ACTIONS(110), 1,
+ anon_sym_RBRACE,
+ [448] = 1,
+ ACTIONS(112), 1,
+ aux_sym_attr_token1,
+ [452] = 1,
+ ACTIONS(114), 1,
+ aux_sym_id_attr_token1,
+ [456] = 1,
+ ACTIONS(116), 1,
+ aux_sym_id_attr_token1,
+ [460] = 1,
+ ACTIONS(118), 1,
+ anon_sym_EQ,
+ [464] = 1,
+ ACTIONS(120), 1,
ts_builtin_sym_end,
- [1043] = 2,
- ACTIONS(64), 1,
- anon_sym_LBRACE,
- ACTIONS(68), 1,
- sym__S,
- [1050] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(172), 1,
- anon_sym_LBRACE,
- [1057] = 2,
- ACTIONS(68), 1,
- sym__S,
- ACTIONS(174), 1,
- anon_sym_LBRACE,
- [1064] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(176), 1,
- sym_node_name,
+ [468] = 1,
+ ACTIONS(122), 1,
+ anon_sym_RBRACE,
};
static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(2)] = 0,
- [SMALL_STATE(3)] = 28,
- [SMALL_STATE(4)] = 56,
- [SMALL_STATE(5)] = 84,
- [SMALL_STATE(6)] = 112,
- [SMALL_STATE(7)] = 140,
- [SMALL_STATE(8)] = 168,
- [SMALL_STATE(9)] = 196,
- [SMALL_STATE(10)] = 224,
- [SMALL_STATE(11)] = 252,
- [SMALL_STATE(12)] = 280,
- [SMALL_STATE(13)] = 308,
- [SMALL_STATE(14)] = 336,
- [SMALL_STATE(15)] = 360,
- [SMALL_STATE(16)] = 384,
- [SMALL_STATE(17)] = 406,
- [SMALL_STATE(18)] = 427,
- [SMALL_STATE(19)] = 448,
- [SMALL_STATE(20)] = 469,
- [SMALL_STATE(21)] = 490,
- [SMALL_STATE(22)] = 511,
- [SMALL_STATE(23)] = 532,
- [SMALL_STATE(24)] = 553,
- [SMALL_STATE(25)] = 574,
- [SMALL_STATE(26)] = 592,
- [SMALL_STATE(27)] = 610,
- [SMALL_STATE(28)] = 629,
- [SMALL_STATE(29)] = 642,
- [SMALL_STATE(30)] = 659,
- [SMALL_STATE(31)] = 672,
- [SMALL_STATE(32)] = 685,
- [SMALL_STATE(33)] = 698,
- [SMALL_STATE(34)] = 711,
- [SMALL_STATE(35)] = 724,
- [SMALL_STATE(36)] = 737,
- [SMALL_STATE(37)] = 750,
- [SMALL_STATE(38)] = 763,
- [SMALL_STATE(39)] = 773,
- [SMALL_STATE(40)] = 789,
- [SMALL_STATE(41)] = 799,
- [SMALL_STATE(42)] = 815,
- [SMALL_STATE(43)] = 824,
- [SMALL_STATE(44)] = 833,
- [SMALL_STATE(45)] = 842,
- [SMALL_STATE(46)] = 851,
- [SMALL_STATE(47)] = 860,
- [SMALL_STATE(48)] = 869,
- [SMALL_STATE(49)] = 878,
- [SMALL_STATE(50)] = 887,
- [SMALL_STATE(51)] = 896,
- [SMALL_STATE(52)] = 903,
- [SMALL_STATE(53)] = 910,
- [SMALL_STATE(54)] = 917,
- [SMALL_STATE(55)] = 924,
- [SMALL_STATE(56)] = 931,
- [SMALL_STATE(57)] = 938,
- [SMALL_STATE(58)] = 945,
- [SMALL_STATE(59)] = 952,
- [SMALL_STATE(60)] = 959,
- [SMALL_STATE(61)] = 966,
- [SMALL_STATE(62)] = 973,
- [SMALL_STATE(63)] = 980,
- [SMALL_STATE(64)] = 987,
- [SMALL_STATE(65)] = 994,
- [SMALL_STATE(66)] = 1001,
- [SMALL_STATE(67)] = 1008,
- [SMALL_STATE(68)] = 1015,
- [SMALL_STATE(69)] = 1022,
- [SMALL_STATE(70)] = 1029,
- [SMALL_STATE(71)] = 1036,
- [SMALL_STATE(72)] = 1043,
- [SMALL_STATE(73)] = 1050,
- [SMALL_STATE(74)] = 1057,
- [SMALL_STATE(75)] = 1064,
+ [SMALL_STATE(3)] = 25,
+ [SMALL_STATE(4)] = 48,
+ [SMALL_STATE(5)] = 71,
+ [SMALL_STATE(6)] = 96,
+ [SMALL_STATE(7)] = 116,
+ [SMALL_STATE(8)] = 135,
+ [SMALL_STATE(9)] = 154,
+ [SMALL_STATE(10)] = 173,
+ [SMALL_STATE(11)] = 192,
+ [SMALL_STATE(12)] = 211,
+ [SMALL_STATE(13)] = 226,
+ [SMALL_STATE(14)] = 242,
+ [SMALL_STATE(15)] = 258,
+ [SMALL_STATE(16)] = 265,
+ [SMALL_STATE(17)] = 272,
+ [SMALL_STATE(18)] = 279,
+ [SMALL_STATE(19)] = 286,
+ [SMALL_STATE(20)] = 299,
+ [SMALL_STATE(21)] = 306,
+ [SMALL_STATE(22)] = 313,
+ [SMALL_STATE(23)] = 320,
+ [SMALL_STATE(24)] = 333,
+ [SMALL_STATE(25)] = 340,
+ [SMALL_STATE(26)] = 347,
+ [SMALL_STATE(27)] = 354,
+ [SMALL_STATE(28)] = 362,
+ [SMALL_STATE(29)] = 370,
+ [SMALL_STATE(30)] = 380,
+ [SMALL_STATE(31)] = 388,
+ [SMALL_STATE(32)] = 396,
+ [SMALL_STATE(33)] = 404,
+ [SMALL_STATE(34)] = 412,
+ [SMALL_STATE(35)] = 420,
+ [SMALL_STATE(36)] = 430,
+ [SMALL_STATE(37)] = 437,
+ [SMALL_STATE(38)] = 444,
+ [SMALL_STATE(39)] = 448,
+ [SMALL_STATE(40)] = 452,
+ [SMALL_STATE(41)] = 456,
+ [SMALL_STATE(42)] = 460,
+ [SMALL_STATE(43)] = 464,
+ [SMALL_STATE(44)] = 468,
};
static const TSParseActionEntry ts_parse_actions[] = {
[0] = {.entry = {.count = 0, .reusable = false}},
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
- [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
- [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0),
- [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
- [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
- [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24),
- [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
- [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
- [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
- [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
- [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
- [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
- [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
- [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
- [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
- [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
- [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
- [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
- [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
- [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
- [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22),
- [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
- [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30),
- [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
- [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23),
- [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0),
- [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(14),
- [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(59),
- [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(24),
- [62] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0),
- [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
- [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
- [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
- [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
- [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 1, 0, 0),
- [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
- [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
- [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
- [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
- [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 1, 0, 0),
- [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0),
- [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
- [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2, 0, 0), SHIFT_REPEAT(30),
- [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
- [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
- [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 6, 0, 0),
- [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 6, 0, 0),
- [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
- [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
- [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21),
- [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0),
- [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
- [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 4, 0, 0),
- [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 4, 0, 0),
- [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3, 0, 0),
- [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 3, 0, 0),
- [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 4, 0, 0),
- [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 4, 0, 0),
- [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 3, 0, 0),
- [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 3, 0, 0),
- [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 5, 0, 0),
- [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 5, 0, 0),
- [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 6, 0, 0),
- [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 6, 0, 0),
- [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 5, 0, 0),
- [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 5, 0, 0),
- [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_text, 1, 0, 0),
- [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
- [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0),
- [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0),
- [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0), SHIFT_REPEAT(29),
- [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0), SHIFT_REPEAT(41),
- [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
- [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
- [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
- [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
- [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
- [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
- [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
- [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
- [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 2, 0, 0),
- [170] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
- [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
- [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
- [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18),
+ [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0),
+ [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
+ [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
+ [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
+ [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+ [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
+ [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
+ [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
+ [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
+ [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
+ [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
+ [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
+ [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0),
+ [29] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(29),
+ [32] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(17),
+ [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+ [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0),
+ [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attrs_repeat1, 2, 0, 0), SHIFT_REPEAT(42),
+ [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attrs_repeat1, 2, 0, 0),
+ [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attrs_repeat1, 2, 0, 0), SHIFT_REPEAT(41),
+ [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attrs_repeat1, 2, 0, 0), SHIFT_REPEAT(40),
+ [50] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
+ [52] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attrs, 1, 0, 0),
+ [54] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
+ [56] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
+ [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
+ [60] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
+ [62] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
+ [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 2, 0, 0),
+ [66] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 4, 0, 0),
+ [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_name, 1, 0, 0),
+ [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 2, 0, 0),
+ [72] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0),
+ [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0), SHIFT_REPEAT(19),
+ [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0), SHIFT_REPEAT(12),
+ [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_id_attr, 2, 0, 0),
+ [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_attr, 2, 0, 0),
+ [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 3, 0, 0),
+ [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_text, 1, 0, 0),
+ [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+ [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr, 3, 0, 0),
+ [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 3, 0, 0),
+ [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0),
+ [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 2, 0, 0),
+ [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_text_repeat1, 2, 0, 0),
+ [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2, 0, 0),
+ [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node_body, 2, 0, 0),
+ [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 3, 0, 0),
+ [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node_body, 3, 0, 0),
+ [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node_body, 4, 0, 0),
+ [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
+ [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
+ [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
+ [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
+ [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
+ [120] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
+ [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
};
#ifdef __cplusplus