reaver-project / vapor

Vapor is a language made as a part of the Reaver Project effort. The name has originated as a word play on a word "vaporware" - the author often called this language a "vaporlang", and later decided to keep that name.
Other
5 stars 4 forks source link

codegen: generate LLVM IR. #11

Closed griwes closed 7 years ago

griwes commented 7 years ago

C++ is too high level for the IR I'm generating, and I'm sure generating higher-level stuff just to be able to generate C++ is nonsensical.

This of course means there will be no obvious interop between C++ and Vapor other than through C interfaces, at least in the foreseeable future. This is both good and bad, so I'll roll with it.

There's multiple stuff to work on to get this; I'm making this PR for the ease of testing. First order of business after what's already here is conversions between bigints and sized integers; then rewriting the IR printer as a generator; and then, finally, writing an LLVM IR generator and removing the C++ one.