开发Intellij idea插件如何定义语法解析器
1、在Java包中建立一个文件,定义一个ProtoBufTokenType类型的类,继承自IElementType。如图。
2、在ProtoBufTokenType的构造函数中要传递一个单例的Language实例。如图。
3、在与ProtoBufTokenType同一个包下面建立ProtoBufElementType类型的类,继承自IElementType。并且同样在构造函数中要传递一个单例的Language实例。如图
4、定义一个“proto”属性文件的“bnf” 语法配置文件。如图
5、在bnf中添加语法。到其中属性文件可以包含属性、注释和换行符。语法定义了对语言的支汤手刿怫持是多么灵活。我们汜枸赓觅指定一个属性可能具有或可能没有键和值。这允许IDE仍然识别错误定义的属性,并提供相应的代码分析和快速修复。如图
6、那么现在我们可以生成一个语法解析器了。当拳婊招稹语法定义之后,我们可以通过从protobuf.bnf文件的上下文菜单中生成的解析器代洁船诼抨码,生成一个PSI类解析器。这将在生成d 的文件夹中生成解析器和PSI元素。将此文件夹标记为生成的源根,确保所有内容都没有错误编译。如图
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:94
阅读量:60
阅读量:50
阅读量:58
阅读量:22