chore: generate

pull/708/head
Amaan Qureshi 2024-04-07 03:46:22 +07:00
parent b82ab803d8
commit cb83456794
4 changed files with 23800 additions and 23399 deletions

283
src/grammar.json vendored

@ -755,7 +755,7 @@
"members": [ "members": [
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "parameter_declaration" "name": "type_parameter_declaration"
}, },
{ {
"type": "REPEAT", "type": "REPEAT",
@ -768,7 +768,7 @@
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "parameter_declaration" "name": "type_parameter_declaration"
} }
] ]
} }
@ -793,6 +793,57 @@
} }
] ]
}, },
"type_parameter_declaration": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
}
]
}
}
]
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "type_elem"
},
"named": true,
"value": "type_constraint"
}
}
]
},
"parameter_list": { "parameter_list": {
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
@ -1239,10 +1290,6 @@
"type": "SYMBOL", "type": "SYMBOL",
"name": "function_type" "name": "function_type"
}, },
{
"type": "SYMBOL",
"name": "union_type"
},
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "negated_type" "name": "negated_type"
@ -1250,6 +1297,9 @@
] ]
}, },
"generic_type": { "generic_type": {
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
{ {
@ -1266,10 +1316,6 @@
"type": "SYMBOL", "type": "SYMBOL",
"name": "qualified_type" "name": "qualified_type"
}, },
{
"type": "SYMBOL",
"name": "union_type"
},
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "negated_type" "name": "negated_type"
@ -1286,6 +1332,7 @@
} }
} }
] ]
}
}, },
"type_arguments": { "type_arguments": {
"type": "PREC_DYNAMIC", "type": "PREC_DYNAMIC",
@ -1302,7 +1349,7 @@
"members": [ "members": [
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_type" "name": "type_elem"
}, },
{ {
"type": "REPEAT", "type": "REPEAT",
@ -1315,7 +1362,7 @@
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_type" "name": "type_elem"
} }
] ]
} }
@ -1454,27 +1501,6 @@
} }
] ]
}, },
"union_type": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_type"
},
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "_type"
}
]
}
},
"negated_type": { "negated_type": {
"type": "PREC_LEFT", "type": "PREC_LEFT",
"value": 0, "value": 0,
@ -1705,7 +1731,7 @@
"members": [ "members": [
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_interface_body" "name": "_interface_elem"
}, },
{ {
"type": "REPEAT", "type": "REPEAT",
@ -1731,7 +1757,7 @@
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_interface_body" "name": "_interface_elem"
} }
] ]
} }
@ -1774,72 +1800,54 @@
} }
] ]
}, },
"_interface_body": { "_interface_elem": {
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "method_spec" "name": "method_elem"
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "struct_elem" "name": "type_elem"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_simple_type"
},
"named": true,
"value": "constraint_elem"
} }
] ]
}, },
"struct_elem": { "method_elem": {
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
{ {
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL", "type": "SYMBOL",
"name": "struct_term" "name": "_field_identifier"
}
}, },
{ {
"type": "REPEAT", "type": "FIELD",
"name": "parameters",
"content": { "content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL", "type": "SYMBOL",
"name": "struct_term" "name": "parameter_list"
}
]
}
} }
]
}, },
"struct_term": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{ {
"type": "FIELD",
"name": "result",
"content": {
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
{ {
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
{ {
"type": "STRING", "type": "SYMBOL",
"value": "~" "name": "parameter_list"
}, },
{ {
"type": "STRING", "type": "SYMBOL",
"value": "*" "name": "_simple_type"
} }
] ]
}, },
@ -1847,54 +1855,29 @@
"type": "BLANK" "type": "BLANK"
} }
] ]
},
{
"type": "SYMBOL",
"name": "struct_type"
} }
]
} }
]
}, },
"method_spec": { "type_elem": {
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
{ {
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_field_identifier" "name": "_type"
}
},
{
"type": "FIELD",
"name": "parameters",
"content": {
"type": "SYMBOL",
"name": "parameter_list"
}
}, },
{ {
"type": "FIELD", "type": "REPEAT",
"name": "result",
"content": { "content": {
"type": "CHOICE", "type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [ "members": [
{ {
"type": "SYMBOL", "type": "STRING",
"name": "parameter_list" "value": "|"
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_simple_type" "name": "_type"
}
]
},
{
"type": "BLANK"
} }
] ]
} }
@ -3314,6 +3297,10 @@
"type": "SYMBOL", "type": "SYMBOL",
"name": "type_conversion_expression" "name": "type_conversion_expression"
}, },
{
"type": "SYMBOL",
"name": "type_instantiation_expression"
},
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "identifier" "name": "identifier"
@ -3887,6 +3874,68 @@
] ]
} }
}, },
"type_instantiation_expression": {
"type": "PREC_DYNAMIC",
"value": -1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_type"
}
},
{
"type": "STRING",
"value": "["
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_type"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_type"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
}
},
"composite_literal": { "composite_literal": {
"type": "PREC", "type": "PREC",
"value": -1, "value": -1,
@ -6859,11 +6908,12 @@
"_expression" "_expression"
], ],
[ [
"qualified_type", "_simple_type",
"generic_type",
"_expression" "_expression"
], ],
[ [
"generic_type", "qualified_type",
"_expression" "_expression"
], ],
[ [
@ -6872,21 +6922,22 @@
], ],
[ [
"parameter_declaration", "parameter_declaration",
"_simple_type", "_simple_type"
"_expression"
], ],
[ [
"parameter_declaration", "type_parameter_declaration",
"generic_type", "_simple_type",
"_expression" "_expression"
], ],
[ [
"parameter_declaration", "type_parameter_declaration",
"_expression" "_expression"
], ],
[ [
"parameter_declaration", "type_parameter_declaration",
"_simple_type" "_simple_type",
"generic_type",
"_expression"
] ]
], ],
"precedences": [], "precedences": [],
@ -6897,7 +6948,8 @@
"_field_identifier", "_field_identifier",
"_package_identifier", "_package_identifier",
"_top_level_declaration", "_top_level_declaration",
"_string_literal" "_string_literal",
"_interface_elem"
], ],
"supertypes": [ "supertypes": [
"_expression", "_expression",
@ -6907,4 +6959,3 @@
"_simple_statement" "_simple_statement"
] ]
} }

153
src/node-types.json vendored

@ -87,6 +87,10 @@
"type": "type_conversion_expression", "type": "type_conversion_expression",
"named": true "named": true
}, },
{
"type": "type_instantiation_expression",
"named": true
},
{ {
"type": "unary_expression", "type": "unary_expression",
"named": true "named": true
@ -174,10 +178,6 @@
{ {
"type": "type_identifier", "type": "type_identifier",
"named": true "named": true
},
{
"type": "union_type",
"named": true
} }
] ]
}, },
@ -1192,10 +1192,6 @@
{ {
"type": "type_identifier", "type": "type_identifier",
"named": true "named": true
},
{
"type": "union_type",
"named": true
} }
] ]
}, },
@ -1429,15 +1425,11 @@
"required": false, "required": false,
"types": [ "types": [
{ {
"type": "constraint_elem", "type": "method_elem",
"named": true "named": true
}, },
{ {
"type": "method_spec", "type": "type_elem",
"named": true
},
{
"type": "struct_elem",
"named": true "named": true
} }
] ]
@ -1624,7 +1616,7 @@
} }
}, },
{ {
"type": "method_spec", "type": "method_elem",
"named": true, "named": true,
"fields": { "fields": {
"name": { "name": {
@ -2066,36 +2058,6 @@
] ]
} }
}, },
{
"type": "struct_elem",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "struct_term",
"named": true
}
]
}
},
{
"type": "struct_term",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "struct_type",
"named": true
}
]
}
},
{ {
"type": "struct_type", "type": "struct_type",
"named": true, "named": true,
@ -2146,7 +2108,7 @@
"required": true, "required": true,
"types": [ "types": [
{ {
"type": "_type", "type": "type_elem",
"named": true "named": true
} }
] ]
@ -2208,6 +2170,21 @@
] ]
} }
}, },
{
"type": "type_constraint",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{ {
"type": "type_conversion_expression", "type": "type_conversion_expression",
"named": true, "named": true,
@ -2253,6 +2230,73 @@
] ]
} }
}, },
{
"type": "type_elem",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{
"type": "type_instantiation_expression",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{
"type": "type_parameter_declaration",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_constraint",
"named": true
}
]
}
}
},
{ {
"type": "type_parameter_list", "type": "type_parameter_list",
"named": true, "named": true,
@ -2262,7 +2306,7 @@
"required": true, "required": true,
"types": [ "types": [
{ {
"type": "parameter_declaration", "type": "type_parameter_declaration",
"named": true "named": true
} }
] ]
@ -2404,21 +2448,6 @@
} }
} }
}, },
{
"type": "union_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{ {
"type": "var_declaration", "type": "var_declaration",
"named": true, "named": true,

46687
src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -129,9 +129,16 @@ struct TSLanguage {
* Lexer Macros * Lexer Macros
*/ */
#ifdef _MSC_VER
#define UNUSED __pragma(warning(suppress : 4101))
#else
#define UNUSED __attribute__((unused))
#endif
#define START_LEXER() \ #define START_LEXER() \
bool result = false; \ bool result = false; \
bool skip = false; \ bool skip = false; \
UNUSED \
bool eof = false; \ bool eof = false; \
int32_t lookahead; \ int32_t lookahead; \
goto start; \ goto start; \
@ -139,8 +146,7 @@ struct TSLanguage {
lexer->advance(lexer, skip); \ lexer->advance(lexer, skip); \
start: \ start: \
skip = false; \ skip = false; \
lookahead = lexer->lookahead; \ lookahead = lexer->lookahead;
eof = lexer->eof(lexer);
#define ADVANCE(state_value) \ #define ADVANCE(state_value) \
{ \ { \