~pixelherodev/zyg

ref: 7dccbd7d9dc502f2cd859c4c7ebd84a0d8f3acd7 zyg/README.md -rw-r--r-- 1.3 KiB
7dccbd7dNoam Preil merge 3 months ago

#Zyg

Zig Tricarbonate compiler.

#Status

Currently in alpha status. Unless you're interested in helping out, there's not much to see here right now.

The analysis pipeline rework was just completed (5/10/21). Currently working on integration with scas for assembly, and the zyg test driver, so that we can start getting upstream behavior tests passing.

#Goals

  • Simple compiler
    • No LLVM
    • Incremental compilation via object file cache
  • Fast
    • Optional multiprocessing, one process per input file
      • No shared address space, and no dependencies, so no data races
    • Fast to compile
      • Five seconds on Linux on the PineBook Pro
      • Two seconds on Plan 9 on the RPi 3 with two of the four cores disabled
  • Full conformance
    • No features not present in the zig language will be supported
    • Some features may be left unimplemented if they aren't desired - but those features which are supported will conform 100%
  • Possibly become the zig bootstrap compiler
  • Optimizing
    • Simple optimizations such as CSE and inlining
      • callconv(.Inline) is already supported, deciding to inline unmarked functions is not yet
    • Prioritize lightning-fast compilation over marginal runtime improvements