Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It would take a smart undergrad a bit of hand-holding to write a C complier in say, less than a year. (If you can write a C compiler, you should probably be in the Masters' program.)


Many CS undergrads have a compilers class or section of a class for a single semester in either the freshman or sophomore year. Compilers for simple languages like C (simple in an objective sense, mind you) are easy once you understand a few basic concepts. Compilers in general are fairly easy, what's hard is optimization. See for instance this division optimization: http://ridiculousfish.com/blog/posts/labor-of-division-episo... That's just one clever trick, imagine going through a similar amount of work for dozens of different tricks.


A nonoptimizing C compiler is pretty easy (a friend of mine wrote one in high school), and that's all you need to bootstrap GCC.

He didn't even finish his parser for C++ though.


Strictly speaking, C++03 can't be parsed, only interpreted (into a typed AST); it is not a context free grammar.


You can parse languages that are not context-free. "Parse" just means that you figure out the structure of the file, the word has nothing to do with the techniques used.


From what I've seen, a Master's degree is not much more than finishing school for people who went to unremarkable undergraduate programs.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: