Getting Started

CongoCC is based on the idea that things should just work. (What a concept, dude!) Here is the instant gratification download link:

congocc.jar

There are no other dependencies and you should be able to run it via:

java -jar congocc.jar

The above command-line should work on PC, Mac, or Linux. That's all, folks! (Look, ma! No hands!) (N.B. Only Java 8 or higher is supported.)

Cloning the Repository

Even if you are not one of the minority (probably quite small) that actually wants to hack the CongoCC source code, you will probably benefit from cloning the repository. For one thing, studying the source code of the various included grammars -- Java, Python, C#, Lua, JSON -- may well be the best way of learning the system. Actually, we would suggest that you start with the simplest grammar, JSON, move to Lua, and then progress through Python, Java, and C#.

All you need is git and the ant (as well as a JDK >=8).

 git clone https://github.com/congo-cc/congo-parser-generator.git congo
 cd congo
 ant test

If you do the above, this should build the tool and run through the entire test suite, which in turn builds and tests the JSON, Lua, Java, C#, and Python parsers respectively.

If you do want to hack the CongoCC source, you should be able to open the root directory directly as a project in either Eclipse or IntelliJ and this will be the path of least resistance. You can also open the included workspace.code-workspace file in VSCode. That can be found in the root directory and is a minimal VSCode workspace.

Getting Help

We are very interested in any bug reports, suggestions or other feedback. Currently, the preferred way to bring up any issue is to sign up on the Discussion forum. That way, any discussion will be publicly visible. If you are too shy to post on the forum or have some other reason, you can also write email here. Note that all technical support is based on your using the latest version of the code!
We do not provide technical support for last year's code, nor last month's code, or even last week's -- if there is a newer version than that. If you want to know what version your downloaded jarfile is, use this command: jar tfv congocc.jar The date you see there on the various .class files is effectively the version of the code you are using. If it is more than a few days old, get the latest one. Again, there is no technical support on anything but the latest version. In general, the way to be absolutely sure you are using the latest version would be to do the git checkout and build described above. That said, we intend to keep the download links above current and simply using that should be good enough.