7 comments

  • jey 35 minutes ago

    It targets x86-64/ELF? I thought it would target `sh` to be portable?

  • kelsey98765431 an hour ago

    Would be a lot better if it came with tests. Please do this justice and dont let it rot as a gist, make a real repo and add some docs and at least smoke tests or some kind. Thanks

  • gaigalas 2 days ago

    Single standalone file, no external tools used, PATH='' (empty), portable (bash, dash, ksh, zsh), produces x86 ELF executables, has mini-libc builtin.

    Usage:

    printf 'int main(){puts("hello");return 0;}' | sh c89cc.sh > hello

    chmod +x hello

    ./hello

    • angry_octet an hour ago

      I can't think of a reason to use c89cc.sh, but I salute this effort nonetheless.

  • dmitrygr an hour ago

    Many parts of this are clearly autogenerated, but that in no way diminishes the sickening impressiveness of it!

    • userbinator 30 minutes ago

      It would be far more interesting to look at what this was "compiled" from; it looks like the output of a state-machine generator.

    • phire 33 minutes ago

      It does make it a little hard to understand how the parser/ast_builder works.

      But the rest seems easy enough to understand.