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.
翻译:COOL是一种面向对象的编程语言,广泛应用于本科和研究生课程中教授编译器设计。由于大多数学生不熟悉该语言,且代码编辑器与集成开发环境(IDE)通常缺乏对COOL的支持,用COOL编写代码和测试程序成为学生的负担,导致他们无法完全理解该语言及编译器的许多重要和高级特性。在本工具论文中,我们描述了COOLIO——一种针对流行VSCode IDE中COOL语言的支持扩展。COOLIO提供:(i) 通过词法分析和语法分析实现的COOL语言语法高亮支持;(ii) 语义感知的自动补全功能,帮助学生减少代码编写量,并减轻记忆不熟悉的COOL语法和句法的负担;(iii) 通过VSCode编辑器向学生传递底层COOL解释器/编译器的相关反馈(例如错误信息、类型信息),以辅助调试。我们相信COOLIO将帮助学生享受编写COOL程序的乐趣,进而更好地学习和理解更高级的编译器概念。