Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rsms/colang
Programming language and compiler —WORK IN PROGRESS—
https://github.com/rsms/colang
compiler programming-language
Last synced: 9 days ago
JSON representation
Programming language and compiler —WORK IN PROGRESS—
- Host: GitHub
- URL: https://github.com/rsms/colang
- Owner: rsms
- License: isc
- Created: 2021-03-27T16:52:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-07-14T15:38:28.000Z (over 2 years ago)
- Last Synced: 2024-10-14T18:43:39.896Z (23 days ago)
- Topics: compiler, programming-language
- Language: C
- Homepage: https://co-lang.org
- Size: 2.65 MB
- Stars: 74
- Watchers: 7
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Co programming language
## Building
Initial setup: `./init.sh` will install the following into `deps/`:
- [ckit](https://github.com/rsms/ckit) build tool and rbase library
- [ckit-jemalloc](https://github.com/rsms/ckit-jemalloc) memory allocator
- [zlib](https://zlib.net) static library
- [llvm+clang](https://llvm.org) tools and static librariesBuild:
- Unoptimized with all checks enabled: `ckit build co`
- Optimized with assertions: `ckit build -safe co`
- Optimized without assertions: `ckit build -fast co`
- RT test program: `ckit watch -r co-rt-test`
- Verbose build: `ckit build -v`
- Build everything: `ckit build`Development and testing:
- Run all tests: `./test.sh`
- Run all tests live: `./test.sh -w`
- Run unit test with prefix "scan": `./test.sh scan`
- Run unit test with prefix "scan" live: `./test.sh -w scan`
- Live main program: `ckit watch -rsh="{BUILD}/co build example/hello.co" co`Note: debug builds have the following checks and features enabled:
- All assertions (both "safe" and "debug")
- [Clang address sanitizer](https://clang.llvm.org/docs/AddressSanitizer.html)
- [Clang undefined-behavior sanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html)
- `R_TEST` unit tests (main executable runs all tests on start)