开发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练习二百九十九金色碎屑纹理
  • 热门搜索
    中秋手抄报图片大全 文明礼仪知识手抄报 感恩生命手抄报 法制在我身边手抄报 关于手抄报的图案 消防的手抄报 手抄报怎么写 弟子规手抄报内容 英语环保手抄报 少先队员手抄报内容