Update grammar to use @fn instead of @func
This commit is contained in:
parent
f1bb3540ad
commit
5a49f3dd77
|
|
@ -12,7 +12,7 @@
|
|||
"@import" @keyword
|
||||
"@struct" @keyword
|
||||
"@enum" @keyword
|
||||
"@func" @keyword
|
||||
"@fn" @keyword
|
||||
"@let" @keyword
|
||||
"@if" @keyword
|
||||
"@for" @keyword
|
||||
|
|
|
|||
1139
src/grammar.json
1139
src/grammar.json
File diff suppressed because it is too large
Load Diff
|
|
@ -399,110 +399,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "css_code",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "css_content",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_element",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "css_control_flow",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_for_loop",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "css_if_statement",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "css_element",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "css_control_flow",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "css_for_loop",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "simple_pattern",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "css_if_statement",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "default_value",
|
||||
"named": true,
|
||||
|
|
@ -562,22 +458,10 @@
|
|||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "css_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "embedded_content_simple",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_content",
|
||||
"type": "language_name",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
|
|
@ -886,21 +770,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "html_comment",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "html_comment_content",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "html_element",
|
||||
"named": true,
|
||||
|
|
@ -982,6 +851,10 @@
|
|||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "import_path",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "string_literal",
|
||||
"named": true
|
||||
|
|
@ -1014,444 +887,10 @@
|
|||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "js_code",
|
||||
"type": "language_name",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "js_content",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "js_element",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "js_control_flow",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "js_for_loop",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_if_statement",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "js_element",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "js_code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_control_flow",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "js_for_loop",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "simple_pattern",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "js_if_statement",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_content",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_array",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_array_content",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_array_content",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_array_element",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_array_element",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_control_flow",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_value",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_content",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_array",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_object",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_control_flow",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_for_loop",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_if_statement",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_for_loop",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_if_body",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "simple_pattern",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_if_body",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_if_element",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_if_element",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_control_flow",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_member",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_value",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_if_statement",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_if_body",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_key",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "string_literal",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_member",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_key",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_value",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_member_or_control",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_control_flow",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_member",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_method",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "js_content",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_method_params",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_method_params",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_object",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_object_content",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_object_content",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "json_member_or_control",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "json_value",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "boolean_literal",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_array",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_method",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "json_object",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "number_literal",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "string_literal",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "let_statement",
|
||||
"named": true,
|
||||
|
|
@ -1998,74 +1437,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "template_comment",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "template_comment_1",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_comment_2",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_comment_3",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "template_comment_1",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "comment_content_1",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "template_comment_2",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "comment_content_2",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "template_comment_3",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "comment_content_3",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "template_control_flow",
|
||||
"named": true,
|
||||
|
|
@ -2187,6 +1558,10 @@
|
|||
"type": "html_element",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "raw_block",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_control_flow",
|
||||
"named": true
|
||||
|
|
@ -2330,18 +1705,6 @@
|
|||
"type": "*",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "***@",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "**@",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "*@",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "+",
|
||||
"named": false
|
||||
|
|
@ -2354,10 +1717,6 @@
|
|||
"type": "-",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "-->",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": ".",
|
||||
"named": false
|
||||
|
|
@ -2382,10 +1741,6 @@
|
|||
"type": "<",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "<!--",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "</",
|
||||
"named": false
|
||||
|
|
@ -2434,18 +1789,6 @@
|
|||
"type": "@",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@*",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@**",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@***",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@```",
|
||||
"named": false
|
||||
|
|
@ -2463,11 +1806,11 @@
|
|||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@for",
|
||||
"type": "@fn",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "@func",
|
||||
"type": "@for",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
|
|
@ -2538,18 +1881,6 @@
|
|||
"type": "char",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "comment_content_1",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "comment_content_2",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "comment_content_3",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "css",
|
||||
"named": false
|
||||
|
|
@ -2558,10 +1889,6 @@
|
|||
"type": "else",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "embedded_content_simple",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "escape_at",
|
||||
"named": true
|
||||
|
|
@ -2591,7 +1918,7 @@
|
|||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "html_comment_content",
|
||||
"type": "html_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -2622,6 +1949,10 @@
|
|||
"type": "if",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "import_path",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "in",
|
||||
"named": false
|
||||
|
|
@ -2651,8 +1982,8 @@
|
|||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "null",
|
||||
"named": false
|
||||
"type": "raw_block",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "safe",
|
||||
|
|
@ -2670,6 +2001,10 @@
|
|||
"type": "tag_name",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "template_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "text_content",
|
||||
"named": true
|
||||
|
|
|
|||
57011
src/parser.c
57011
src/parser.c
File diff suppressed because it is too large
Load Diff
|
|
@ -18,6 +18,12 @@ typedef uint16_t TSStateId;
|
|||
typedef uint16_t TSSymbol;
|
||||
typedef uint16_t TSFieldId;
|
||||
typedef struct TSLanguage TSLanguage;
|
||||
typedef struct TSLanguageMetadata TSLanguageMetadata;
|
||||
typedef struct TSLanguageMetadata {
|
||||
uint8_t major_version;
|
||||
uint8_t minor_version;
|
||||
uint8_t patch_version;
|
||||
} TSLanguageMetadata;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -26,10 +32,11 @@ typedef struct {
|
|||
bool inherited;
|
||||
} TSFieldMapEntry;
|
||||
|
||||
// Used to index the field and supertype maps.
|
||||
typedef struct {
|
||||
uint16_t index;
|
||||
uint16_t length;
|
||||
} TSFieldMapSlice;
|
||||
} TSMapSlice;
|
||||
|
||||
typedef struct {
|
||||
bool visible;
|
||||
|
|
@ -79,6 +86,12 @@ typedef struct {
|
|||
uint16_t external_lex_state;
|
||||
} TSLexMode;
|
||||
|
||||
typedef struct {
|
||||
uint16_t lex_state;
|
||||
uint16_t external_lex_state;
|
||||
uint16_t reserved_word_set_id;
|
||||
} TSLexerMode;
|
||||
|
||||
typedef union {
|
||||
TSParseAction action;
|
||||
struct {
|
||||
|
|
@ -93,7 +106,7 @@ typedef struct {
|
|||
} TSCharacterRange;
|
||||
|
||||
struct TSLanguage {
|
||||
uint32_t version;
|
||||
uint32_t abi_version;
|
||||
uint32_t symbol_count;
|
||||
uint32_t alias_count;
|
||||
uint32_t token_count;
|
||||
|
|
@ -109,13 +122,13 @@ struct TSLanguage {
|
|||
const TSParseActionEntry *parse_actions;
|
||||
const char * const *symbol_names;
|
||||
const char * const *field_names;
|
||||
const TSFieldMapSlice *field_map_slices;
|
||||
const TSMapSlice *field_map_slices;
|
||||
const TSFieldMapEntry *field_map_entries;
|
||||
const TSSymbolMetadata *symbol_metadata;
|
||||
const TSSymbol *public_symbol_map;
|
||||
const uint16_t *alias_map;
|
||||
const TSSymbol *alias_sequences;
|
||||
const TSLexMode *lex_modes;
|
||||
const TSLexerMode *lex_modes;
|
||||
bool (*lex_fn)(TSLexer *, TSStateId);
|
||||
bool (*keyword_lex_fn)(TSLexer *, TSStateId);
|
||||
TSSymbol keyword_capture_token;
|
||||
|
|
@ -129,15 +142,23 @@ struct TSLanguage {
|
|||
void (*deserialize)(void *, const char *, unsigned);
|
||||
} external_scanner;
|
||||
const TSStateId *primary_state_ids;
|
||||
const char *name;
|
||||
const TSSymbol *reserved_words;
|
||||
uint16_t max_reserved_word_set_size;
|
||||
uint32_t supertype_count;
|
||||
const TSSymbol *supertype_symbols;
|
||||
const TSMapSlice *supertype_map_slices;
|
||||
const TSSymbol *supertype_map_entries;
|
||||
TSLanguageMetadata metadata;
|
||||
};
|
||||
|
||||
static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) {
|
||||
static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) {
|
||||
uint32_t index = 0;
|
||||
uint32_t size = len - index;
|
||||
while (size > 1) {
|
||||
uint32_t half_size = size / 2;
|
||||
uint32_t mid_index = index + half_size;
|
||||
TSCharacterRange *range = &ranges[mid_index];
|
||||
const TSCharacterRange *range = &ranges[mid_index];
|
||||
if (lookahead >= range->start && lookahead <= range->end) {
|
||||
return true;
|
||||
} else if (lookahead > range->end) {
|
||||
|
|
@ -145,7 +166,7 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
|
|||
}
|
||||
size -= half_size;
|
||||
}
|
||||
TSCharacterRange *range = &ranges[index];
|
||||
const TSCharacterRange *range = &ranges[index];
|
||||
return (lookahead >= range->start && lookahead <= range->end);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue