Skip to content
/ wlang Public

Programming language in development

License

Notifications You must be signed in to change notification settings

rsms/wlang

Repository files navigation

wlang

Programming language in development

./dev.sh example/factorial.w

Notes:

  • Implemented in C11.
  • Uses dlmalloc instead of libc malloc, making it portable to wasm etc.
  • ./dev.sh [<srcfile>] — build and run product (incremental)
  • ./dev.sh -lldb [<srcfile>] — build and run product in debugger (incremental)
  • ./dev.sh -analyze — run incremental code analyzer on uncommited changes (incremental)
  • ./build.sh — build release product and exit
  • ./build.sh -g — build debug product and exit
  • ./build.sh -analyze — analyze entire project using (Infer)
  • ./build.sh -test — build & run all tests and generate code coverage reports.
  • Debug products are built with Clang address sanitizer by default. To disable asan/msan, edit the build.in.ninja file.

Requirements for building:

  • clang version >=7
  • Ninja version >=1.2
  • Bash or a bash-compatible shell, for running the build scripts
  • Python 3 used for code generation
  • Infer used for code analysis (optional)

If you're on macOS, install everything you need with brew install clang python ninja infer.