COOLIO: A Language Support Extension for the Classroom Object Oriented Language

02/09/2023
by   Linhan Li, et al.
0

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

page 1

page 2

page 3

page 4

research
04/29/2021

SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics

Beginning programmers struggle with the complex grammar of modern progra...
research
07/26/2022

Introduction to Functional Classes in CS1

Students introduced to programming using a design-based approach and a f...
research
05/14/2018

Using Elm to Introduce Algebraic Thinking to K-8 Students

In recent years, there has been increasing interest in developing a Comp...
research
06/13/2022

VSC-WebGPU: A Selenium-based VS Code Extension For Local Edit And Cloud Compilation on WebGPU

With the rapid development of information transmission, Software as a Se...
research
09/20/2022

A Tool for Describing and Checking Natural Semantics Definitions of Programming Languages

Many universities have courses and projects revolving around compiler or...
research
08/21/2019

Scala Implicits are Everywhere: A large-scale study of the use of Implicits in the wild

The Scala programming language offers two distinctive language features ...
research
09/12/2023

REVIS: An Error Visualization Tool for Rust

Rust is a programming language that uses a concept of ownership to guara...

Please sign up or login with your details

Forgot password? Click here to reset