3 ms·
this is apalling. The argumets seem to boil down to "I don't like VEC and how hash-tables are done". Oh and the usual bs about interfaces. The result is that
by thefooest 14y ago
this is apalling.
The argumets seem to boil down to "I don't like VEC and how hash-tables are done". Oh and the usual bs about interfaces.
The result is that now there is a monstrous dependency (a c++ compiler) in place of something that an undergrad can build for a class (a basic C compiler).
I wonder what rms thinks of this. Too bad he is not calling the shots in gcc anymore.
- klodolph 14y agoIt 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.)
- lmm 14y agoA 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.
- duaneb 14y agoStrictly speaking, C++03 can't be parsed, only interpreted (into a typed AST); it is not a context free grammar.
- klodolph 14y agoYou 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.
- Jach 14y agoMany 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-episode-iii.html 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.
- MaleKitten 14y agoFrom what I've seen, a Master's degree is not much more than finishing school for people who went to unremarkable undergraduate programs.