plank

所属分类:编译器/解释器
开发工具:kotlin
文件大小:258KB
下载次数:0
上传日期:2022-10-20 11:57:47
上 传 者sh-1993
说明:  |用kotlin编写的函数式编程语言。
(| Functional programming language written in kotlin.)

文件列表:
.editorconfig (5086, 2022-10-14)
.idea (0, 2022-10-14)
.idea\.name (5, 2022-10-14)
.idea\detekt.xml (639, 2022-10-14)
.idea\externalDependencies.xml (339, 2022-10-14)
.idea\ktlint.xml (203, 2022-10-14)
LICENSE.txt (1093, 2022-10-14)
build.gradle.kts (3669, 2022-10-14)
buildSrc (0, 2022-10-14)
buildSrc\build.gradle.kts (87, 2022-10-14)
buildSrc\src (0, 2022-10-14)
buildSrc\src\main (0, 2022-10-14)
buildSrc\src\main\kotlin (0, 2022-10-14)
buildSrc\src\main\kotlin\KtSupressFilterReader.kt (1552, 2022-10-14)
buildSrc\src\main\kotlin\LlvmConfig.kt (1266, 2022-10-14)
buildSrc\src\main\kotlin\LocalProperties.kt (533, 2022-10-14)
buildSrc\src\main\kotlin\Utils.kt (162, 2022-10-14)
config (0, 2022-10-14)
config\detekt.yml (19473, 2022-10-14)
frontend (0, 2022-10-14)
frontend\analyzer (0, 2022-10-14)
frontend\analyzer\build.gradle.kts (390, 2022-10-14)
frontend\analyzer\src (0, 2022-10-14)
frontend\analyzer\src\commonMain (0, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin (0, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\Analyze.kt (532, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\Pretty.kt (14484, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker (0, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckBody.kt (1227, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckBranch.kt (819, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckExpr.kt (9367, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckPattern.kt (2365, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckStmt.kt (6879, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckTy.kt (1468, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\CheckViolation.kt (3741, 2022-10-14)
frontend\analyzer\src\commonMain\kotlin\checker\Env.kt (956, 2022-10-14)
... ...

# PLANK ![GitHub Repo stars](https://img.shields.io/github/stars/plank-lang/plank?color=orange&style=for-the-badge) ![GitHub issues](https://img.shields.io/github/issues/plank-lang/plank?color=orange&style=for-the-badge) ![GitHub last commit](https://img.shields.io/github/last-commit/plank-lang/plank?color=orange&style=for-the-badge) Plank is a simple language made with LLVM and ANTLR in Kotlin. Need help? contact me on [Twitter](https://twitter.com/gabrielleeg1) or message me on discord **Gabii#3336**. ### Content * [Example](#example) * [Modules](#modules) * [CLI](#cli) * [Building](#building) * [Pull Requests](#pull-requests) * [Ending](#ending) * Documentation (WIP) ## Example Hello world in plank: ```ocaml use Std.IO; fun main(argc: Int32, argv: **Char) { println("Hello, world"); } ``` You can find more examples [here](samples) ## Modules | Name | Description | |----------------------------------------|--------------------------------------------------| | [cli](modules/cli) | All command-line stuff | | [syntax](modules/syntax) | AST and Descriptor Mapping | | [parser](modules/parser) | ANTLR grammar | | [codegen](modules/codegen) | The LLVM core that compiles to IR representation | | [analyzer](modules/analyzer) | Code analyzing | | [vscode-plugin](modules/vscode-plugin) | VSCode tooling plugin | | [runtime](runtime) | Runtime functions | | [stdlib](stdlib) | Language stdlib | ## CLI ``` Usage: plank [OPTIONS] COMMAND [ARGS]... Options: -h, --help Show this message and exit Commands: jit repl ``` ## Building 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=` in it. You should execute the following commands: ```shell $ git clone git@github.com:plank-lang/plank.git $ cd plank # if you are in windows # PS .\gradlew.bat cli:linkPlankReleaseExecutableMingwX*** $ ./gradlew cli:linkPlankReleaseExecutableLinuxX*** ``` The binary file `cli/build/bin/linuxX***/plankReleaseExecutable` or if you are in a Windows machine `cli/build/bin/mingwX***/plankReleaseExecutable` will be created. ## Pull Requests 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. ## Ending If you liked and/or use the language consider leaving a star on the repo and following me on twitter :)

近期下载者

相关文件


收藏者