go-lang-idea-plugin
JFlex
go-lang-idea-plugin | JFlex | |
---|---|---|
2 | 1 | |
4,569 | 575 | |
0.0% | 1.0% | |
0.0 | 4.3 | |
over 5 years ago | 8 months ago | |
Java | Java | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-lang-idea-plugin
-
How to write your own language plugin for IDEA (part 1)
go-plugin (now this plugin is known as Goland)
-
How to write your own language plugin for IDEA (part 2)
In the previous article, I showed the process of creating a framework for a language plugin. Well-known plugins for Java, go, Frege were used as examples. There are also examples from the plugin for the Monkey language, which I developed while I was figuring out how everything works. Since my goal was not to cover everything, the plugin covers a limited subset of the language. The interpreter for Monkey can be found here.
JFlex
-
How to write your own language plugin for IDEA (part 1)
Perhaps, the easiest way to create a lexer for IDEA is to use JFlex. The GrammarKit plugin already contains implementation and allows you to generate a lexer from .bnf file or from .flex file (with more customization options). An example for the Monkey language can be viewed here, a more complex one for Frege - here.
What are some alternatives?
vim-go - Go development plugin for Vim
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
coc-go - Go language server extension using gopls for coc.nvim.
intellij-erlang - Erlang IDE
GoSublime - A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features.
RE-flex - A high-performance C++ regex library and lexical analyzer generator with Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors, lazy quantifiers, functions for lex and syntax error reporting and more. Seamlessly integrates with Bison and other parsers.
Go for Visual Studio Code
lexer - A lexical analyzer based on DFA that is built using JS and supports multi-language extensions / 一个基于DFA的支持多语言扩展的JS版开源词法分析器
vscode-go - Go extension for Visual Studio Code
intellij-rainbow-brackets - 🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio/Fleet
Goclipse
Grammar-Kit - Grammar files support & parser/PSI generation for IntelliJ IDEA