
Rust compiler walk-through – Introduction - ingve
https://gchp.ie/2016/08/09/rust-compiler-walkthrough-introduction/
======
crncosta
Does any one know if there is a plan for a GCC Rust Frontend?

~~~
dikaiosune
There are two nascent alternative Rust compiler projects that I know of. One
is
[https://github.com/thepowersgang/mrustc](https://github.com/thepowersgang/mrustc),
which does not aim to be a GCC or LLVM front-end, and seems aimed at
bootstrapping rust on platforms with only C/C++ support. The author of this
alt compiler says they're able to parse and typecheck libcore (the small OS
independent part of the standard library). They are working on codegen so they
can start making use of the rustc compiler tests. I don't think they aim to
implement the borrow checker, though, because their goal is bootstrapping
rustc on other platforms, and the borrow checking can be verified using a
different compiler.

There's also a frequent user of the rust irc channels who is experimenting
with writing a GCC front-end for rust. I don't think any code for that is
public yet, and I don't know how far along they are.

~~~
nickpsecurity
I mean, I'm guessing here, but wouldn't simplest way be starting mid-way in
the existing Rust compiler to port an intermediate language to GCC? Straight-
up compile it to GCC C or whatever GCC does internally. That way, you get the
parsing, analysis, etc for free plus any improvements they make. Lots of other
languages used this approach.

~~~
dikaiosune
I'm pretty sure mrustc isn't targeting GCC as a backend, but I'm not sure.

I don't know what approach is being taken by the person working on a GCC
backend, but it's entirely possible what you've described is what they're
doing.

~~~
harrytodorov
> I'm pretty sure mrustc isn't targeting GCC as a backend, but I'm not sure.

I'm pretty sure your statement is somewhat paradoxical :)

------
nickpsecurity
Wow, that's a lot of passes in the compiler. Seems to do most pretty fast. I
look forward to reading this series. Especially, how they handle safety stuff
worth porting to other languages.

~~~
gchp
Yeah! I was surprised by the amount. When I read things now about compiler
speed, I'm looking through a different lens now that I have an idea of the
sheer amount of work it's doing. Pretty impressive.

