Live data from Hacker News

Advanced Compilers: Self-Guided Online Course

cs.cornell.edu

11–20 of 90 posts

Re: Advanced Compilers: Self-Guided Online Course

#11

Are there any courses on creating a new language, interpreter, and compiler from scratch? Like not using LLVM or similar to generate intermediate representation but to literally pick an ISA and, well, compile for it.

Precisely made for "creating a new language, interpreter, and compiler from scratch": http://craftinginterpreters.com

Re: Advanced Compilers: Self-Guided Online Course

#15

Are there any courses on creating a new language, interpreter, and compiler from scratch? Like not using LLVM or similar to generate intermediate representation but to literally pick an ISA and, well, compile for it.

Precisely made for "creating a new language, interpreter, and compiler from scratch": http://craftinginterpreters.com

This does not cover compilers. I know because I specifically asked munificent (the author) about this before and he mentioned some other books to look at.

Re: Advanced Compilers: Self-Guided Online Course

#16

I wish my school offered something even half good as this. I've seen it like 2 years ago and it is well prepared course. >CS 6120 is a PhD-level Cornell CS course by Adrian Sampson on programming language implementation. I just dont understand why is this "PhD level"

At my school we used the course work of Stanford for the operating system class which was amazing: https://web.stanford.edu/class/cs140/projects/pintos/pintos_...

It's really up to the professor.

Re: Advanced Compilers: Self-Guided Online Course

#17

Earlier quoted context omitted.

Precisely made for "creating a new language, interpreter, and compiler from scratch": http://craftinginterpreters.com

This does not cover compilers. I know because I specifically asked munificent (the author) about this before and he mentioned some other books to look at.

What do you mean exactly by "compilers"? Because the book features a chapter on how to compile source code to virtual machine byte code.

Re: Advanced Compilers: Self-Guided Online Course

#18

Are there any courses on creating a new language, interpreter, and compiler from scratch? Like not using LLVM or similar to generate intermediate representation but to literally pick an ISA and, well, compile for it.

UPenn's CIS341[1] is pretty nice. It uses a bottom-up approach, where assignments start with a 64-bit integer-only x64 simulator, then goes up to compiling LLVM IR to x64, then compiling the lecturer's language ('Oat') into LLVM IR, and then optimisations like dead code elimination, register allocation, variable substitution, etc.

[1]: https://www.seas.upenn.edu/~cis3410/current/

Re: Advanced Compilers: Self-Guided Online Course

#19

Earlier quoted context omitted.

This does not cover compilers. I know because I specifically asked munificent (the author) about this before and he mentioned some other books to look at.

What do you mean exactly by "compilers"? Because the book features a chapter on how to compile source code to virtual machine byte code.

Most of the time when people talk about compiled languages/compilers, they mean languages that compile to native machine code, not languages that compile to a bytecode/run on a virtual machine.

Re: Advanced Compilers: Self-Guided Online Course

#20

I wish my school offered something even half good as this. I've seen it like 2 years ago and it is well prepared course. >CS 6120 is a PhD-level Cornell CS course by Adrian Sampson on programming language implementation. I just dont understand why is this "PhD level"

> I just dont understand why is this "PhD level"

It would have been if the papers covered were closer to the state of the art. The most recent one is from 2015.

However, this course would actually give you the background required to read more recent paper and work on compiler research, so calling it PhD level is not a huge stretch.

Post reply on HN