COOLer: A Language Support Extension for COOL in VS Code
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 because code editors and IDEs often lack support for COOL, writing code and test programs in COOL is burdensome to students, causing them to not fully understand many important and advanced features of the language and its compiler.
In this paper, we describe COOLer, an extension providing support for COOL in the popular VS Code IDE. COOLer offers (i) syntax highlighting support for the COOL language through lexing and parsing, (ii) semantics-aware auto-completion features that help students write less code and reduce the burden of remembering unfamiliar COOL grammar and syntax, and (iii) relevant feedback from the underlying COOL interpreter/compiler (e.g., error messages and typing information) integrated directly into the VS Code editor to aid debugging. We believe that COOLer will help students enjoy writing COOL programs and consequently learn and appreciate advanced compiler concepts more effectively.