Skip to content

A simple interactive teaching tool that allows students to design their own Domain-Specific Languages (DSLs) while simultaneously visualising the underlying data structures.

Notifications You must be signed in to change notification settings

ThaddeusOwl/DSLDoodle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSLDoodle: An Interactive Teaching Tool for Designing and Visualising DSLs

A simple interactive teaching tool that allows students to design their Domain-Specific Languages (DSLs) while simultaneously visualising the underlying data structures.

Using DSLDoodle

Setting up a virtual environment (for Linux):

DSLDoodle requires several dependencies. It is recommended to first set up a virtual environment.

  1. pip install virtualenv
  2. virtualenv venv
  3. source venv/bin/activate

Installing requirements:

python3 -m pip install -r requirements.txt

Running the Application

python3 dsldoodlev7.py

Designing DSLs

DSLDoodle helps to design Domain Specific Languages using Ply with Python. Example inputs for the program can be found in the tests folder.

Disclaimer

The DSLs that the tool can process are constrained. Using the Technology Acceptance Model, the tool was built with the intention of evaluating if such tools like this will help can be used as a supplement in Compiler Theory courses to boost student engagement and foster a deeper understanding of Compiler Theory.

About

A simple interactive teaching tool that allows students to design their own Domain-Specific Languages (DSLs) while simultaneously visualising the underlying data structures.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages