I wrote up some notes on the Epoch R12 compiler here. Figured I'd repost the link since most people probably aren't on the Epoch site pressing F5 all day ;-)
One excellent comment on the previous entry on Epoch's error handling philosophy observed that the design really looks an awful lot like exceptions, and doesn't do much for the orthogonal separation of the four points of error handling I enumerated at the top of that post.
Let's revisit those points…
Let's revisit those points…
As I gear up towards rewriting the Epoch compiler in Epoch, instead of in C++, I've found myself running up against a handful of peripheral issues that affect the ability to write real code in Epoch in the first place.
One of these issues relates to error handling. In my opinion, most languages conf…
One of these issues relates to error handling. In my opinion, most languages conf…
I have to admit that after the whole "let's make the Epoch compiler 1000 times faster" adventure, I kind of burned out on Epoch for a little while, and haven't touched it a lot since. All the fun, exciting, sexy work in optimization was done, and "all" that was left was a giant pile of tedious reim…
One of the more popular topics here on the GDNet forums goes something like this:
"Hi, I just [bought a computer | wrote a simple game | discovered a game engine] and I want to know where to go from here. I'd like to [accomplish some particular goal] eventually. What do I need to learn to get t…
Computing today faces a serious problem.
Hardware has reached a point where the bulk of performance increases are coming not via major innovation in the fundamental design of processing systems, but rather through parallelism. Instead of increasing clock speeds, decreasing die sizes, changing instru…
Hardware has reached a point where the bulk of performance increases are coming not via major innovation in the fundamental design of processing systems, but rather through parallelism. Instead of increasing clock speeds, decreasing die sizes, changing instru…
I learned an interesting lesson last night in over-reliance on optimizing compilers.
Deep in the core of the Epoch grammar is a rule that looks for generalized tokens from the lexer. This rule is designed to match user-defined identifiers like variable and function names - as opposed to reserved ide…
Deep in the core of the Epoch grammar is a rule that looks for generalized tokens from the lexer. This rule is designed to match user-defined identifiers like variable and function names - as opposed to reserved ide…
I finally killed off most of the remaining dynamic memory allocations in my parser. There's still a few lurking in the internals of boost::spirit::lex (it supports "fast" parser backtracking by buffering tokens on the fly) but they're not a huge chunk of the runtime anymore, so I'm not terribly wor…
As part of my ongoing effort to make the Epoch compiler idiotically fast, I've turned my attention to one of the primary killers: dynamic memory allocations.
Part of this is unavoidable, since dynamic memory has to be allocated when constructing the parse tree. But for some reason, I kept seeing rea…
Part of this is unavoidable, since dynamic memory has to be allocated when constructing the parse tree. But for some reason, I kept seeing rea…
Advertisement
Popular Blogs
Advertisement