Grammar-Kit
JFlex
Grammar-Kit | JFlex | |
---|---|---|
4 | 1 | |
689 | 575 | |
0.0% | 1.0% | |
1.6 | 4.3 | |
11 days 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.
Grammar-Kit
-
You are never taught how to build quality software
I offer, again, my JetBrains GrammarKit counterpoint from the last time that assertion came up <https://news.ycombinator.com/item?id=38192427>
>>>
I consider the JetBrains parsing system to be world class and they seem to hand-write very few (instead building on this system: https://github.com/JetBrains/Grammar-Kit#readme )
- https://github.com/JetBrains/intellij-community/blob/idea/23... (the parser I'll concede, as they do seem to be hand-rolling that part)
- https://github.com/JetBrains/intellij-community/blob/idea/23... (same for its parser)
- https://github.com/JetBrains/intellij-community/blob/idea/23... and https://github.com/JetBrains/intellij-community/blob/idea/23...
- https://github.com/JetBrains/intellij-plugins/blob/idea/233.... and https://github.com/JetBrains/intellij-plugins/blob/idea/233....
-
Nelua, AOT statically typed Lua
I want to start adding support for Lua derivatives to my IDE (which adds static type checking to Lua - inference, structural & nominal types, generics etc. (Luanalysis - https://github.com/Benjamin-Dobell/IntelliJ-Luanalysis/)
I feel like plugin support would be best but I've no idea how that's supposed to work in the presence of a predefined grammar. There's also so many variants I don't think there's a good way to build composite grammar.
Does anyone have any ideas about how to extend language parsing? For reference, I'm using https://github.com/JetBrains/Grammar-Kit.
-
How to write your own language plugin for IDEA (part 1)
In IDEA, code generation by the GrammarKit plugin is mainly used to create a parser. Unfortunately, there is not much documentation about it and it is only presented in Tutorial and HOWTO.
-
Luanalysis v1.3.0 Released - Open Source Statically typed Lua IDE
Luanalysis is built atop https://github.com/JetBrains/Grammar-Kit, so can't eaisly be integrated in other languages servers.
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?
IntelliJ-EmmyLua - Lua IDE/Debugger Plugin for IntelliJ IDEA
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
intellij-erlang - Erlang IDE
intellij-rainbow-brackets - 🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio/Fleet
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-lang-idea-plugin - Google Go language IDE built using the IntelliJ Platform
lexer - A lexical analyzer based on DFA that is built using JS and supports multi-language extensions / 一个基于DFA的支持多语言扩展的JS版开源词法分析器
intellij-haskforce - Haskell plugin for IntelliJ IDEA
intellij-frege - IntelliJ IDEA plugin for Frege language