Closed yy665 closed 1 year ago
Because you are doing this entire project after the deadline, you will need to keep it small. I recommend not attempting to do these extensions:
inheritance, constructors, object-specific methods, etc.
Instead, get something basic working and implement/evaluate that.
Some basic questions:
About the specifics of the language extension:
What will you do? Bril currently only supports a few primitive types, as well as pointers to indicate heap memory. Having objects would provide a valuable extension to Bril since it greatly improves the expressibility of Bril, and provides interesting opportunities and challenges for future 6120 students to write their optimizations upon objects.
Therefore, my main goal is to implement object in Bril, including most of the very basic things that people would expect from an OO (inheritance, constructors, object-specific methods, etc.) Eventually after some polishing, I would hope this could be a nice addition to Bril.
How will you do it? There're a couple of changes, across different stacks in Bril. Here are some of my main objectives:
How will you empirically measure success? I would probably pick some object models which could test the expressibility of my OO implementation. I would like to see that the representation is correct, and benchmark memory/time usage to do a certain object operation.
Team members: Just myself