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.

Table of Contents

Set Up

Where to Start?

Adding New Variants/ Sublanguages

Linting

Set Up

Refer to README.md to get things up and ready.

Where to Start?

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.

Adding New Variants

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 = ....

Linting

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.

⚠️ **GitHub.com Fallback** ⚠️