Skip to content
View nathanjmorton's full-sized avatar

Block or report nathanjmorton

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nathanjmorton/README.md

working on a transpiler / compiler toolchain for typescript which outputs intermediate languages c and cpp (parses source for interface and class keywords, outputs a code split file for cpp), which are then linked and compiled to native machine code and wasm. and this includes package management like npm with a similar workflow - eg zigtsc add <library_name_or_url>.

this is for education purposes, mainly for the cmudb prof andy pavlo's courses starting with bustub. i don't like managing deps with CMAKE and CMAKELists so i ported a version of c that compiles with zig. that became zigc, which is a standalone cli for compiling c and adding c and cpp libraries (we call them 'packages' in node dev). zigc is both a cli for c projects and a library for zigtsc to compile its own transpiled c and cpp code from the typescript source...

the idea is write things in a high level language that's fun like typescript, transpile it to c and cpp if it has classes in order to examine the output and then compile the c and cpp with library support, as if we were working with a nice toolchain like node / npm or a modern language like zig rust or go.

Pinned Loading

  1. mincms mincms Public

    TypeScript

  2. zigtsc zigtsc Public

    Zig 1

  3. zigc zigc Public

    C++

  4. remix remix Public

    Forked from remix-run/remix

    Build Better Websites. Create modern, resilient user experiences with web fundamentals.

    TypeScript 1

  5. ardanlabs-ultimate-go ardanlabs-ultimate-go Public

  6. lfs lfs Public

    lfs

    C