✨ tree-sitter 新增语法支持`procedure`
This commit is contained in:
parent
9714d8c9ac
commit
1776437d1d
|
|
@ -214,7 +214,7 @@ module.exports = grammar({
|
||||||
_method_header: ($) =>
|
_method_header: ($) =>
|
||||||
seq(
|
seq(
|
||||||
optional(kw("class")),
|
optional(kw("class")),
|
||||||
kw("function"),
|
choice(kw("function"), kw("procedure")),
|
||||||
field("name", $.method_name),
|
field("name", $.method_name),
|
||||||
$._parameter_signature,
|
$._parameter_signature,
|
||||||
optional(field("return_type", $._type_clause)),
|
optional(field("return_type", $._type_clause)),
|
||||||
|
|
@ -243,7 +243,7 @@ module.exports = grammar({
|
||||||
external_method: ($) =>
|
external_method: ($) =>
|
||||||
seq(
|
seq(
|
||||||
optional(kw("class")),
|
optional(kw("class")),
|
||||||
kw("function"),
|
choice(kw("function"), kw("procedure")),
|
||||||
$._qualified_method_name,
|
$._qualified_method_name,
|
||||||
$._parameter_signature,
|
$._parameter_signature,
|
||||||
optional(field("return_type", $._type_clause)),
|
optional(field("return_type", $._type_clause)),
|
||||||
|
|
@ -256,7 +256,7 @@ module.exports = grammar({
|
||||||
|
|
||||||
external_operator_method: ($) =>
|
external_operator_method: ($) =>
|
||||||
seq(
|
seq(
|
||||||
kw("function"),
|
choice(kw("function"), kw("procedure")),
|
||||||
kw("operator"),
|
kw("operator"),
|
||||||
field("class_name", $.identifier),
|
field("class_name", $.identifier),
|
||||||
".",
|
".",
|
||||||
|
|
@ -330,7 +330,7 @@ module.exports = grammar({
|
||||||
|
|
||||||
_function_header: ($) =>
|
_function_header: ($) =>
|
||||||
seq(
|
seq(
|
||||||
kw("function"),
|
choice(kw("function"), kw("procedure")),
|
||||||
field("name", $.identifier),
|
field("name", $.identifier),
|
||||||
$._parameter_signature,
|
$._parameter_signature,
|
||||||
optional(field("return_type", $._type_clause)),
|
optional(field("return_type", $._type_clause)),
|
||||||
|
|
@ -1301,8 +1301,6 @@ module.exports = grammar({
|
||||||
|
|
||||||
char: (_) => token(seq("#", choice(/\d+/, /\$[0-9a-fA-F]+/))),
|
char: (_) => token(seq("#", choice(/\d+/, /\$[0-9a-fA-F]+/))),
|
||||||
|
|
||||||
boolean: ($) => choice($.true, $.false),
|
|
||||||
|
|
||||||
true: (_) => kw("true"),
|
true: (_) => kw("true"),
|
||||||
|
|
||||||
false: (_) => kw("false"),
|
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",
|
"type": "CHOICE",
|
||||||
"content": {
|
"members": [
|
||||||
"type": "PATTERN",
|
{
|
||||||
"value": "(?i)function"
|
"type": "ALIAS",
|
||||||
},
|
"content": {
|
||||||
"named": false,
|
"type": "PATTERN",
|
||||||
"value": "function"
|
"value": "(?i)function"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ALIAS",
|
||||||
|
"content": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "(?i)procedure"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "procedure"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "FIELD",
|
"type": "FIELD",
|
||||||
|
|
@ -937,13 +951,27 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "CHOICE",
|
||||||
"content": {
|
"members": [
|
||||||
"type": "PATTERN",
|
{
|
||||||
"value": "(?i)function"
|
"type": "ALIAS",
|
||||||
},
|
"content": {
|
||||||
"named": false,
|
"type": "PATTERN",
|
||||||
"value": "function"
|
"value": "(?i)function"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ALIAS",
|
||||||
|
"content": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "(?i)procedure"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "procedure"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
|
|
@ -1024,13 +1052,27 @@
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "CHOICE",
|
||||||
"content": {
|
"members": [
|
||||||
"type": "PATTERN",
|
{
|
||||||
"value": "(?i)function"
|
"type": "ALIAS",
|
||||||
},
|
"content": {
|
||||||
"named": false,
|
"type": "PATTERN",
|
||||||
"value": "function"
|
"value": "(?i)function"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ALIAS",
|
||||||
|
"content": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "(?i)procedure"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "procedure"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "ALIAS",
|
||||||
|
|
@ -1489,13 +1531,27 @@
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "CHOICE",
|
||||||
"content": {
|
"members": [
|
||||||
"type": "PATTERN",
|
{
|
||||||
"value": "(?i)function"
|
"type": "ALIAS",
|
||||||
},
|
"content": {
|
||||||
"named": false,
|
"type": "PATTERN",
|
||||||
"value": "function"
|
"value": "(?i)function"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "function"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ALIAS",
|
||||||
|
"content": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "(?i)procedure"
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "procedure"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "FIELD",
|
"type": "FIELD",
|
||||||
|
|
|
||||||
|
|
@ -6981,6 +6981,10 @@
|
||||||
"type": "private",
|
"type": "private",
|
||||||
"named": false
|
"named": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "procedure",
|
||||||
|
"named": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "property",
|
"type": "property",
|
||||||
"named": false
|
"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