DaS means “Diagrams as Syntax”.
This essay gives a brief overview to a simplistic tool called
The interesting bits of this tool are the various phases.
The HTML surrounding the phases is very rudimentary allowing discussion of the phases without interference from UX details.
The DasWB inputs a .drawio file and outputs a factbase in PROLOG format.
A number of yellow-ish input fields have been retained to allow easier copying and discussion below.
support.jscontains utility functions used by the workbench
glue.jscontains the raw JS code for the Glue tool used by the workbench in conjunction with Ohm-JS
scope.jscontains a simplistic scope stack class used by glue code
Open a browser and load the File “daswb.html”.
The empty workbench shows a number of fields and one button (scroll down to the bottom).
The yellow-ish fields are inputs to the workbench.
The gray-ish fields are outputs generated by the workbench.
We only need to populate one field - the
source field with a raw .drawio file.
The other input fields (yellow-ish) are meant for grammar debugging and for the discussion below.
DaSWB Populated with a Drawio File
We created the file
final.drawio. It looks like:
Copy/paste final.drawio into the
source field of the workbench.
DasWB Generated Code
Scroll to the bottom and push the
The factbase is generated and sorted into the final field
The steps for this process will be discussed in subsequent essays.