This project contains an interpreter for the RPG programming language. This interpreter runs on the JVM since it's written in Kotlin.
All information for developers is contained in the Development guide.
The project supports configurable logging, described in a separate document.
We support special annotations to be used to write unit tests in RPG. For details see this document.
- generated-src contains the code generated from the grammar
- gradle, gradlew, and gradlew.bat contain the gradle wrapper
- src contains the source code for the project and the tests
- out, and build contain temporary files
- misc contains utilities for downloading sources from AS400 (for example this ruby script)
- misc/docker: support for Docker, see instructions
- docs contains documentation
At the moment, we use Jitpack to publish the project.
If you use Maven, add these lines to your pom.xml in order to add the repository
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Then add the following dependencies for the core library:
<dependency>
<groupId>com.github.smeup.smeup-rpg</groupId>
<artifactId>rpgJavaInterpreter-core</artifactId>
<version>-SNAPSHOT</version>
</dependency>
And this if you want to include the examples too:
<dependency>
<groupId>com.github.smeup.smeup-rpg</groupId>
<artifactId>examples</artifactId>
<version>-SNAPSHOT</version>
</dependency>
Here is a sample project that uses the interpreter as a library.
Side note for maven users who use mirrors: remember to change your .m2/settings.xml with settings like this:
<mirrors>
<mirror>
<id>myNexus</id>
<mirrorOf>!jitpack.io,*</mirrorOf>
The grammar used in this project is based on the work from Ryan Eberly. It is derived from his project rpgleparser.
Some RPG Examples are from Claudio Neroni
Another source for good examples is go4as400