Quick Development Guide - nus-cs4215/x-slang-t1-xz-jj GitHub Wiki
This is intended as a quick development reference on how to further work on x-slang for SICPy Academy.
In this project, we modify x-slang to support our series of sublanguages of SICPy.
Adding New Variants/ Sublanguages
Refer to README.md to get things up and ready.
x-frontend mainly interfaces with x-slang through the runInContext() function in src/index.ts. This is a good starting point to look at before getting started.
From there on, please refer to this wiki's homepage for more detailed explanations.
As mentioned in x-frontend, there are additional steps required involving x-slang to introduce new variants.
See src/types.ts, specifically, the statement export type Variant = ....
To implement sublanguage specific linting functionalities, there is the need for additional implementation.
An example (for Source) can be found under src/editor/ace/modes/source.ts. Refer here additional steps required on x-frontend.