✨ tree-sitter 新增语法支持procedure
This commit is contained in:
@@ -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
|
||||
|
||||
+963260
-958862
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;
|
||||
|
||||
Reference in New Issue
Block a user