tree-sitter 新增语法支持`procedure`

This commit is contained in:
csh 2025-11-15 21:18:50 +08:00
parent 9714d8c9ac
commit 1776437d1d
6 changed files with 963370 additions and 958903 deletions

View File

@ -214,7 +214,7 @@ module.exports = grammar({
_method_header: ($) =>
seq(
optional(kw("class")),
kw("function"),
choice(kw("function"), kw("procedure")),
field("name", $.method_name),
$._parameter_signature,
optional(field("return_type", $._type_clause)),
@ -243,7 +243,7 @@ module.exports = grammar({
external_method: ($) =>
seq(
optional(kw("class")),
kw("function"),
choice(kw("function"), kw("procedure")),
$._qualified_method_name,
$._parameter_signature,
optional(field("return_type", $._type_clause)),
@ -256,7 +256,7 @@ module.exports = grammar({
external_operator_method: ($) =>
seq(
kw("function"),
choice(kw("function"), kw("procedure")),
kw("operator"),
field("class_name", $.identifier),
".",
@ -330,7 +330,7 @@ module.exports = grammar({
_function_header: ($) =>
seq(
kw("function"),
choice(kw("function"), kw("procedure")),
field("name", $.identifier),
$._parameter_signature,
optional(field("return_type", $._type_clause)),
@ -1301,8 +1301,6 @@ module.exports = grammar({
char: (_) => token(seq("#", choice(/\d+/, /\$[0-9a-fA-F]+/))),
boolean: ($) => choice($.true, $.false),
true: (_) => kw("true"),
false: (_) => kw("false"),

View File

@ -0,0 +1,18 @@
{
"name": "test_tree_sitter",
"version": "1.0.0",
"description": "",
"main": "grammar.js",
"directories": {
"test": "test"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"install": "node-gyp rebuild"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs",
"gypfile": true
}

View File

@ -757,13 +757,27 @@
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)procedure"
},
"named": false,
"value": "procedure"
}
]
},
{
"type": "FIELD",
@ -937,13 +951,27 @@
]
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)procedure"
},
"named": false,
"value": "procedure"
}
]
},
{
"type": "SYMBOL",
@ -1024,13 +1052,27 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)procedure"
},
"named": false,
"value": "procedure"
}
]
},
{
"type": "ALIAS",
@ -1489,13 +1531,27 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)function"
},
"named": false,
"value": "function"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)procedure"
},
"named": false,
"value": "procedure"
}
]
},
{
"type": "FIELD",

View File

@ -6981,6 +6981,10 @@
"type": "private",
"named": false
},
{
"type": "procedure",
"named": false
},
{
"type": "property",
"named": false

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
// function 公募基金简称(shortname);
function abc(shortname);
begin
中文 := 123;
pinfo := sysparams["productInfo"];
end;