开发Intellij idea插件如何定义语法解析器

 时间:2024-10-11 21:02:18

1、在Java包中建立一个文件,定义一个ProtoBufTokenType类型的类,继承自IElementType。如图。

开发Intellij idea插件如何定义语法解析器

2、在ProtoBufTokenType的构造函数中要传递一个单例的Language实例。如图。

开发Intellij idea插件如何定义语法解析器开发Intellij idea插件如何定义语法解析器

3、在与ProtoBufTokenType同一个包下面建立ProtoBufElementType类型的类,继承自IElementType。并且同样在构造函数中要传递一个单例的Language实例。如图

开发Intellij idea插件如何定义语法解析器

4、定义一个“proto”属性文件的“bnf” 语法配置文件。如图

开发Intellij idea插件如何定义语法解析器

5、在bnf中添加语法。到其中属性文件可以包含属性、注释和换行符。语法定义了对语言的支持是多么灵活。我们指定一个属性可能具有或可能没有键和值。这允许IDE仍然识别错误定义的属性,并提供相应的代码分析和快速修复。如图

开发Intellij idea插件如何定义语法解析器

6、那么现在我们可以生成一个语法解析器了。当语法定义之后,我们可以通过从protobuf.bnf文件的上下文菜单中生成的解析器代码,生成一个PSI类解析器。这将在生成d 的文件夹中生成解析器和PSI元素。将此文件夹标记为生成的源根,确保所有内容都没有错误编译。如图

开发Intellij idea插件如何定义语法解析器
  • ps中“用画笔描边路径”的操作方法
  • PS:制作绚丽霓虹灯效果的打散文字
  • PS曲线工具的应用
  • PS练习四十八保存工作路径
  • PS练习二百九十九金色碎屑纹理
  • 热门搜索
    led是什么意思 宁静的意思 包邮什么意思 roi是什么意思 zbc是什么意思 时过境迁是什么意思 北柴胡功效与作用 成都周边有什么好玩的地方 天涯海角的意思 相见恨晚的意思