A few days ago I published a new release of the ANTLR4 extension for Visual Studio Code, which contains a number of fixes and new features. The light color theme is now complete as well and you get railroad diagrams for your grammar rules and even entire files. These can be saved to disk (as HTML with embedded svg), so that you can use them in other documents. Code lens support was added as well, which allows to (optionally) show rule reference counts. Hope you enjoy the new release.
Recently Sam Harwell released the ANTLR4 Typescript runtime as a Node.JS module, which opens a great way to implement ANTLR support in Node.JS modules and Visual Studio Code extensions. I took the opportunity and rewrote my antlr-graps Node.JS module and my vscode-antlr4 extension. If you are working with Visual Studio Code and want ANTLR grammar support in it then go ahead and install the extension. While it's on a good way it still cannot compete with IDEs like antlrworks2 (also written by Sam Harwell).
A few days ago Terence Parr merged the ANTLR4 C++ runtime into the main ANTLR4 repository. So it is now part of the official distribution. I had some trouble getting the runtime tests compiling on Travis CI but finally the job is done. Let's celebrate the achievement.
With the increasing popularity of Node.js I thought it would be a good idea to have a native module which provides language parsing services for ANTLR4 grammar files, utilizing a fast C++ backend. This could then be used in IDEs/editors to provide ANTLR4 language support. Additionally, I wanted to create an extension for Visual Studio Code for ANTLR4 grammars, so I started writing one.
The module itself is quite small and you can read a detailed description in its Github repository. The installation follows the usual procedure via npm (npm install antlr4-graps). However, since it is a native module, you need a compiler at hand to allow compilation during an installation. On Linux this is usually no problem. On OSX/macOS you have to have XCode installed, while on Windows you either need Visual Studio or the free build tools. Search the web if you wanna know how to build native Node.js modules on Windows, if you need help. To ease usage I have a second branch in the git repo which doesn't contain the sources, but prebuilt binaries. Note however that this branch is not published as own Node.js module.
So far I've been an enthusiastic user of ANTLR3, mostly for the MySQL Workbench product, where I based all the parsing infrastructure on the ANTLR3 C runtime. However, with the appearence of v4 a few years ago this ANTLR version got outdated and the support for it decreased constantly since then. Even though I would like to do so, I could not upgrade to the latest version because it missed an important piece: a C or C++ backend. Since I work mostly in a C++/Obj-C environment, this is an absolutely necessary part.
There were quite a number of requests for a C++ backend in the past and so a few attempts were made to create one. Sam Harwell, co-author of ANTLR and creator of the C# runtime started a C++ backend (utilizing C++14), but could never finish it. Dan McLaughlin and David Sisson then began porting the Java runtime to C++ about 3 years ago. However, this project also got only occasional love after the initial machine translation and had no contributions since summer 2015.
This is why I decided in March to jump in and get this thing done. You can see all the work in the fork hosted by Dan on Github (this repo no longer exists).