Plank is a simple language made with LLVM and ANTLR in Kotlin. Need help? contact me on Twitter or message me on discord Gabii#3336.
Hello world in plank:
use Std.IO;
fun main(argc: Int32, argv: **Char) {
println("Hello, world");
}
You can find more examples here
Name | Description |
---|---|
cli | All command-line stuff |
syntax | AST and Descriptor Mapping |
parser | ANTLR grammar |
codegen | The LLVM core that compiles to IR representation |
analyzer | Code analyzing |
vscode-plugin | VSCode tooling plugin |
runtime | Runtime functions |
stdlib | Language stdlib |
Usage: plank [OPTIONS] COMMAND [ARGS]...
Options:
-h, --help Show this message and exit
Commands:
jit
repl
The LLVM 13.0.0 is required, you can either put llvm-config
in the $PATH
environment variable, either create a
local.properties
and put llvm.config=<target to llvm-config executable>
in it.
You should execute the following commands:
$ git clone [email protected]:plank-lang/plank.git
$ cd plank
# if you are in windows
# PS .\gradlew.bat cli:linkPlankReleaseExecutableMingwX64
$ ./gradlew cli:linkPlankReleaseExecutableLinuxX64
The binary file cli/build/bin/linuxX64/plankReleaseExecutable
or if you are in a Windows
machine cli/build/bin/mingwX64/plankReleaseExecutable
will be created.
PRs are welcome as long as they are well explained and only change one feature at a time.
This doesn't mean I'm going to accept all PRs, it just means I'm going to consider it.
If you liked and/or use the language consider leaving a star on the repo and following me on twitter :)