📄️ Editor configuration
TODO - VSCode extension
When you start the OpenGOAL compiler, you'll see a prompt like this:
📄️ Using the debugger
The debugger works on Windows and Linux. All the platform specific code is in xdbg.cpp. When attached to a target, things like exceptions from invalid memory access or divides by zero break into the debugger for inspection on the code or values that caused the break. The technical implementation of the debugger across multiple platforms means there will be a few differences in how it handles or displays certain things. For example, the debugger on Linux will break if the GOAL (EE) thread runs into a breakpoint, but on Windows this can be caused by any thread on the target as the thread that (:break) breaks is unspecified.
📄️ Compiling and example
This describes how the compiler works using the following code snippet, saved in a file named example_goal.gc.
📄️ Assembly emitter
x86-64 has a lot of instructions. They are described in Volume 2 of the 5 Volume "Intel® 64 and IA-32 Architectures Software Developer’s Manual". Just this volume alone is over 2000 pages, which would take forever to fully implement. As a result, we will use only a subset of these instructions. This the rough plan: