COOLIO: A Language Support Extension for the Classroom Object Oriented Language
COOL is an Object-Oriented programming language used to teach compiler design in many undergraduate and graduate courses. Because most students are unfamiliar with the language and code editors and IDEs often lack the support for COOL, writing code and test programs in COOL are a burden to students, causing them to not fully understand many important and advanced features of the language and compiler. In this tool paper, we describe COOLIO,an extension to support COOL in the popular VSCode IDE. COOLIOprovides (i) syntax highlighting supports for the COOL language through lexing and parsing, (ii) semantics-aware autocompletion features that help students write less code and reduce the burden of having to remember unfamiliar COOL grammar and syntax, and (iii) relevant feedback from the underlying COOL interpreter/compiler (e.g., error messages, typing information) to the students through VSCode editor to aid debugging. We believe that COOLIO will help students enjoy writing COOL programs and consequently learn and appreciate more advanced compiler concepts.
READ FULL TEXT