Without any doubt I highly recommend enrolling on Compilers course by Prof. Alex Aiken. Since I had some time to make preparations I decided to include skeleton project for NLT generator, and the way COOL assignments are organized made me refine some features of NLT.
Among others there is one which existence derives from limitation of C# — you cannot define enum
which inherits from the other enum
despite the fact the enum
in C# is strong alias of int
(and you can inherit classes containing ints
as you like). In other words if you have to define constant integer values gradually you have to use old boring ints
(and lose value safety).
I am far from reaching enums
in Skila but I won’t make the same mistake. Anyway, both frameworks — COOL C# and NLT — are uploaded and waiting for you!