Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/karmakrafts/manganese
LLVM based bootstrap compiler for the Ferrous programming language.
https://github.com/karmakrafts/manganese
bootstrap-compiler compiler compilers ferrous java java-21 java-preview lld lldb llvm lwjgl lwjgl3 programming-language remotery
Last synced: 3 months ago
JSON representation
LLVM based bootstrap compiler for the Ferrous programming language.
- Host: GitHub
- URL: https://github.com/karmakrafts/manganese
- Owner: karmakrafts
- License: apache-2.0
- Created: 2024-01-05T18:35:17.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-19T18:24:53.000Z (7 months ago)
- Last Synced: 2024-07-19T23:42:51.570Z (7 months ago)
- Topics: bootstrap-compiler, compiler, compilers, ferrous, java, java-21, java-preview, lld, lldb, llvm, lwjgl, lwjgl3, programming-language, remotery
- Language: Java
- Homepage: https://ferrouslang.org
- Size: 1.27 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Manganese
Bootstrap compiler backend for the Ferrous programming language written in Java.
This is a temporary compiler implementation used for self-hosting and thus it
only supports LLVM as its backend. **Other backends will not be supported**.### Running
You can run the Manganese compiler by simply running the following command:```shell
java -jar manganese-.jar [options]
```If you need a list of all available options, run the compiler with the `-?` option.
### Embedding
If you want to embed this compiler into your own project, you can simply
use the provided Maven artifact in your build system of choice. The following
examples demonstrate the usage in Gradle and under Maven respectively:```groovy
repositories {
maven { url = 'https://maven.covers1624.net' }
}
dependencies {
implementation group: 'io.karma.ferrous.manganese', name: 'manganese', version: 'VERSION', classifier: 'slim'
}
``````xml
covers-maven
Covers Maven
https://maven.covers1624.net
io.karma.ferrous.manganese
manganese
VERSION
```
You can obtain the latest version from the provided repository batch at the top of the page.
### Building
In order to build the compiler, you can simply run the following command after
cloning the repository:```shell
./gradlew build --info --no-daemon
```or the following if you are using `cmd` under Windows:
```shell
gradlew build --info --no-daemon
```This will produce three different `JAR` files under `build/libs` in the
project directory. The `slim` version can be used for development/embedding
since it does not contain all the shadowed dependencies.