Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nathsou/yolang
Procedural language targeting LLVM
https://github.com/nathsou/yolang
compiler llvm programming-language wasm
Last synced: 3 months ago
JSON representation
Procedural language targeting LLVM
- Host: GitHub
- URL: https://github.com/nathsou/yolang
- Owner: nathsou
- Created: 2021-11-29T18:28:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-09T17:44:13.000Z (about 2 years ago)
- Last Synced: 2024-09-29T04:02:21.843Z (3 months ago)
- Topics: compiler, llvm, programming-language, wasm
- Language: TypeScript
- Homepage:
- Size: 816 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - yolang - like language compiling directly to WebAssembly | nathsou | 11 | (ReScript)
README
# Yolang
Simple procedural language targeting LLVM
## Usage
Follow the [llvm-bindings](https://github.com/ApsarasX/llvm-bindings#install) instructions to install llvm.
```bash
$ yarn install
$ node build/yolang.js examples/euler2.yo
``````
Usage: yolang [options]Arguments:
input input source fileOptions:
-V, --version output the version number
-o, --out output file
-t, --target target: host | wasm | wasi (default: "host")
-r, --run compile and run the program
-a, --artifacts build artificats directory
-T, --type-check type check only
-D, --debug create a debug build
--show:types show types
--show:sweet show sweet IR
--show:bitter show bitter IR
--show:mono show the monomorphized program
--show:llvm show LLVM IR
--show:time show pipeline timing
-h, --help display help for command
```## References
- Sérgio Medeiros, Fabio Mascarenhas, 2018, [Syntax Error Recovery in Parsing Expression Grammars](https://arxiv.org/abs/1806.11150)
- Daan Leijen, 2005, [Extensible records with scoped labels](https://www.microsoft.com/en-us/research/publication/extensible-records-with-scoped-labels/)