Yur*_*kyy 5 grammar antlr jetbrains-ide intellij-idea intellij-plugin
我使用 ANTLRv4 语法来解析我的DSL。我想为我的 DSL 创建一个插件来支持 IntelliJ IDEA 中的代码突出显示和代码完成。
据我所知,IntelliJ 使用BNF和Flex格式进行解析。
是否有可能:
...为我的 DSL 制作一个 IntelliJ 插件?
更新于 2020 年 12 月 22 日
问题#1:是否可以直接使用 ANTLR 语法生成 JetBrains 插件以提供语言支持?
是的,在某种程度上。看起来antlr4-intellij-adaptor库会有所帮助。我没有第一手经验。它将自己描述为“一个支持在基于 IntelliJ 的 IDE 插件开发中使用自定义语言的 ANTLRv4 语法的库”。
澄清一下,IntelliJ 的 ANTLRv4 插件是一个不同的工具,旨在帮助开发 ANTLRv4 语法。它不支持使用 ANTLRv4 语法生成供 JetBrains 编辑器(例如 CLion、GoLand、IntelliJ、PyCharm、RubyMine 等)使用的词法分析器和解析器。
问题#2:是否可以将 ANTLR 语法转换为其他形式(例如 BNF 和 Flex),用于生成语言支持的 JetBrains 插件?
是的,但这是一个很大的话题。我会引导您阅读 Stack Overflow 上的这篇文章:是否有工具可以在 ANTLR 和其他形式的 BNF 之间进行转换?
相关工具:您可能会发现Jetbrains 的 Grammar Kit很有用,它是“面向语言插件开发人员的 IntelliJ IDEA 插件”。
推荐文档:此外,JetBrains 还提供了有关如何为其编辑器扩展语言支持的大量文档。
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |