Manual: Basic Layout

Top Button Bar

The top bar of the page has a series of buttons, each of which has its own function, laid out in subsequent sections.

Load Source

This button allows you to load a Cool file from your local machine to the online debugger.

Load Input

This button allows you to load an input file into the input frame for later execution.

Save Source

This button allows you to save your current work to your local machine.

Save Input

This button allows you to save the current input file to your local machine.

Save Output

This button allows you to save the current output of the program to your local machine.

Compile

This button Compiles your code, and must be clicked before running the code

Step

This button allows you to step through your code one micro instruction at a time. (ex. The expression `2+3` has around 6 micro instructions, start plus, evaluate left, evaluate 2, evaluate right, evaluate 3, add)

Play

This button runs your compiled code to termination OR until a set breakpoint is reached

Report Bug

This button allows you to report a bug with the online debugger, when submitting a bug please give a brief explanation of the bug so that we can reproduce and fix it, this button will automatically include a JSONified string of your source and output so there is no need to include those manually.

Manual

This button allows you to access the manual page.

Left Column

The area on the left half of the screen is the main text editor (Code frame). This is where you can load (via the Load Source button) or write your Cool program for execution. This text can also be saved (via Save Source). Breakpoints can be set on this frame by clicking on the line number which one wishes to set a breakpoint, and they are removed in the same manner. This area will also highlight the currently executing line.

Right Column - Top Half

The top half of the right column is a set of togglable frames, including the Input, Stack Trace, Info Locals, and Break Points frames. These frames are toggled by clicking on the desired name.

Input

This frame is the input for your program. It can be loaded in (via Load Input) or modified in browser. This text can also be saved (via Save Input).

Stack Trace

This frame displays a basic stack trace of the program during execution.

Info Locals

This frame displays the information about the currently in scope variables for the program. For non-basic types, this will display a memory address, which can be expanded to see the contents via a click.

Break Points

This frame displays a simple listing of the current location of your breakpoints. These breakpoints are set and removed via the Code frame.

Right Column - Bottom Half

The bottom half of the right column is the output terminal. This non-editable frame displays the output of your program. This text can also be saved (via Save Output).