SimScript is a set of cohesive DSLs for application development.
License == MIT, so provided "as-is" without warranty whatsoever.
SimScript relies on Xtext (version 2.10+) and Eclipse (version Neon.2+) which you can download here.
Steps to perform:
-
Install Eclipse-with-Xtext.
-
Clone this repository locally (i.e., to your disk).
-
Import all projects into Eclipse, except (currently) for
nl.dslmeinte.simscript.tests
andSimScript-examples
. -
Run (in any way you see fit)
dev-support/scripts/all-touchXtend
, and refresh (F5) all open projects in the workspace. -
Generate the language infrastructure for all DSLs in the following order:
structure
backend
simpleDb
mappings
ui
application
(Some DSLs are dependent on another one of the DSLs.)
Per DSL, this requires you to:
- Look up the corresponding
.xtext
file in the Eclipse project with a name that ends in the DSL name without.ui
(except fornl.dslmeinte.simscript.ui
of course...). - Right-click on that file, choose the "Run As" option and then "Generate Xtext Artifacts". Click "Proceed" if prompted with a "Errors exist..."-dialog.
- When prompted on the Console with a question about downloading the ANTLR 3.2.0 runtime: (click-)focus on the Console, type '
y
' and Enter.
You can safely ignore all errors and warnings, as the DSLs generate just fine.
Alternatively, for step 1 and 2: "Generate Language Infrastructure" items might already be pre-populated in the Run-dropdown from the Eclipse toolbar.
-
Run the
run on Linux-Windows
or therun on Mac
launch target located innl.dslmeinte.simscript.structure/.launch
, depending on your OS. (This is mainly for the benefit of having small fonts under Mac OS X.) If this is not pre-populated in the Run-dropdown, you'll have to use the Navigator View.
After running SimScript (in the 2nd Eclipse instance; step 6 of the previous section), do the following:
-
Import the
SimScript-example
project into the workspace. -
Verify that the following simlinks are present:
SimScript-example/sim-lib/
→ (../
)SimScript-lib/sim-lib
SimScript-example/src-gen/structureMapper.js
→SimScript-example/src/gen/javascript/structureMapper.js
(These could make it through Git, but I'm not entirely sure and can't be bothered to check it right now.)
-
Rebuild the entire project to generate everything needed.
Note: unfortunately, the generator is not set up to build the entire project automatically when only a subset has been changed, causing only the artifacts for that subset to be emitted/generated. This means you have to rebuild the entire project for every change (other than to the
.sim_app
file). -
Point a browser to
SimScript-example/src-gen/ExampleApp_app.html
.You can also point directly to
SimScript-example/sr-gen/perModuleTest/Questionnaire.html
for the (slightly) more interesting stuff. Note that screen isn't entirely working:(
…