作为一个练习,我正在构建一种类似汇编的语言(但通过数字),所以我想为它制作自己的语法。但是语法随机停止工作。这是 tree-sitter-dasm.cson(dasm 是临时名称)。
有时它可以工作,但一段时间后它会停止工作(即使我没有改变任何东西)。
这是给我带来麻烦的代码:
'instruction' : [
{ match: /^[#]/, scopes: 'style-instruction-instructioncall' },
{ match: /^\//, scopes: 'style-instruction-functioncall' }
],
'parameters, instruction > parameters' : [
{ match: /^\$/, scopes: 'style-parameter-variable' },
{ match: /^\%/, scopes: 'style-parameter-register' },
{ match: /^[&]/, scopes: 'style-parameter-numberref' },
{ match: /^\^/, scopes: 'style-parameter-subroutine_param' },
{ match: /^\@/, scopes: 'style-lable' },
],
我检查了我正在使用的自定义解析器,它按预期工作。
package.json 配置为:
{
"version": "0.0.0",
"name": "dasm",
"description": "Dark/Atom Assembly Language",
"styles": "styles/style.less",
"devDependencies": {
"electron": "^9.4.4",
"electron-rebuild": "^2.3.5"
},
"dependencies": {
"tree-sitter-dasm": "0.0.5"
},
"engines": {
"atom" : ">=1.0.0 <2.0.0"
}
}
示例文件: 错误突出显示的文件