✨ tree-sitter 新增语法支持`procedure`
This commit is contained in:
parent
9714d8c9ac
commit
1776437d1d
|
|
@ -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"),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -1,7 +0,0 @@
|
|||
// function 公募基金简称(shortname);
|
||||
function abc(shortname);
|
||||
begin
|
||||
中文 := 123;
|
||||
pinfo := sysparams["productInfo"];
|
||||
end;
|
||||
|
||||
Loading…
Reference in New Issue