A JSON-based programming language with a visual compiler made in Java.
Snowberry Jam is a programming language designed to resemble the save file of a block-coding editor. It offers diverse "code blocks" which allows users to make basic console apps.
Here's a list of different documentation resources directly related to this project.
- Snowberry Jam Language Guide
[Work In Progress] - Compiler Javadoc Documentation
- Compiler UML Diagram
Snowberry Jam source files end with the .snowb suffix. The contents of these follow the JSON syntax.
In order for VSCode to treat this filetype properly, hold down ctrl + shift + p, head to preferences, and add the following block to settings.json:
"files.associations": {
"*.snowb": "json"
}Users have the option to manually build their own copy of Snowberry Jam. You can get a copy of the source code from this repository, or by using Git:
git clone https://github.com/wyu4/snowberry-jam.gitIf commands throw errors, try switching IDEs or running them in a seperate terminal app.
Before continuing, make sure to have Maven installed. Any files generated from builds can be found in the
targetfolder.
Here are some useful commands:
Clear the contents of the build directory.
mvn cleanBuild a custom runtime (along with auto-generated resources), which can be used to create an installation.
mvn clean packageBuild a custom runtime (along with auto-generated resources), as well as an installation of Snowberry Jam.
mvn clean installSimply run the code without having to install it.
mvn clean javafx:runAnything generated by the build process will be moved into a target folder. Here's where the important stuff can be found:
| Item | Path |
|---|---|
| Runtime Image | target/sj-image |
| Modularized JARs | target/packaging/input |
| Shaded JAR Artifact | target/packaging/SnowberryJam-[VERSION]-MANIFEST.jar |
| Generated Installers | target/packaging/installations |
| Generated UMLs | target/generated-diagrams |
| Generated Javadoc Report | target/reports/apidocs |
