tree-sitter-lotus
Version:
Tree-sitter grammar for LotusScript
915 lines • 14.8 kB
JSON
[
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "arithmetic_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "arithmetic_expression",
"named": true
},
{
"type": "comparison_expression",
"named": true
},
{
"type": "logical_expression",
"named": true
}
]
}
},
{
"type": "boolean",
"named": true,
"fields": {}
},
{
"type": "call_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "case_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "class_decl",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "comparison_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "dim_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "do_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "member_expression",
"named": true
},
{
"type": "primary_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "for_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "function_call",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "function_decl",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "param_list",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "identifier_stmt",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "keyword_stmt",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "keyword",
"named": true
}
]
}
},
{
"type": "let_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "logical_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "member_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "option_stmt",
"named": true,
"fields": {
"keyword": {
"multiple": false,
"required": true,
"types": [
{
"type": "keyword",
"named": true
}
]
}
}
},
{
"type": "param",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "param_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "param",
"named": true
}
]
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "primary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "boolean",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "select_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "case_clause",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "set_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "class_decl",
"named": true
},
{
"type": "function_decl",
"named": true
},
{
"type": "option_stmt",
"named": true
},
{
"type": "statement",
"named": true
},
{
"type": "sub_decl",
"named": true
}
]
}
},
{
"type": "statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "call_statement",
"named": true
},
{
"type": "comment",
"named": true
},
{
"type": "dim_statement",
"named": true
},
{
"type": "do_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "identifier_stmt",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "keyword_stmt",
"named": true
},
{
"type": "let_statement",
"named": true
},
{
"type": "select_statement",
"named": true
},
{
"type": "set_statement",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "sub_decl",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "param_list",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "while_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "<>",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": "And",
"named": false
},
{
"type": "As",
"named": false
},
{
"type": "Call",
"named": false
},
{
"type": "Case",
"named": false
},
{
"type": "Class",
"named": false
},
{
"type": "Dim",
"named": false
},
{
"type": "Do",
"named": false
},
{
"type": "Else",
"named": false
},
{
"type": "ElseIf",
"named": false
},
{
"type": "End",
"named": false
},
{
"type": "False",
"named": false
},
{
"type": "For",
"named": false
},
{
"type": "Function",
"named": false
},
{
"type": "If",
"named": false
},
{
"type": "Let",
"named": false
},
{
"type": "Loop",
"named": false
},
{
"type": "Mod",
"named": false
},
{
"type": "Next",
"named": false
},
{
"type": "Not",
"named": false
},
{
"type": "Or",
"named": false
},
{
"type": "Select",
"named": false
},
{
"type": "Set",
"named": false
},
{
"type": "Step",
"named": false
},
{
"type": "Sub",
"named": false
},
{
"type": "Then",
"named": false
},
{
"type": "To",
"named": false
},
{
"type": "True",
"named": false
},
{
"type": "Until",
"named": false
},
{
"type": "Wend",
"named": false
},
{
"type": "While",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "identifier",
"named": true
},
{
"type": "keyword",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
}
]