Demonstration of incremental language specification
Initial language
- Comment-out syntax, disambiguation, values, and rules:
- References and imperatives §4, §A.4
- Multithreading §5, §A.5
- the use of
initialise-storing
and multithread
§6
- the use of
variables
, null-type
, thread-ids
in ld-values
- Eclipse:
LD-cbs
: Clean project
- Spoofax:
LD-Start.cbs
: Generate language editor
- Eclipse:
LD-Editor
: Refresh, clean project, build
- Spoofax: Generate funcons for LD test programs:
LD-Tests/2-Lambda/church.ld
LD-Tests/3-Arithmetic/if.ld
- Terminal: Generate interpreter
runfct-LD
cd LD-Interpreter; cabal v1-clean; make gen-hss; make cabal
- Spoofax: Run funcons of test programs
runfct-LD --config LD-1.config LD-Tests/2-Lambda/church.fct
runfct-LD --config LD-1.config LD-Tests/3-Arithmetic/if.fct
Imperative language
- Comment-in syntax, disambiguation, values, and rules:
- References and imperatives §4, §A.4
- the use of
initialise-storing
§6
- the use of
variables
, null-type
in ld-values
- Eclipse:
LD-cbs
: Clean project
- Spoofax:
LD-Start.cbs
: Generate language editor
- Eclipse:
LD-Editor
: Refresh, clean project, build
- Spoofax: Generate funcons for LD test programs:
LD-Tests/4-Imperative/sum.ld
- Terminal: Update interpreter runfct-LD
cd LD-Interpreter; cabal v1-clean; make gen-hss; make cabal
- Spoofax: Run funcons of test programs
runfct-LD --config LD-2.config LD-Tests/4-Imperative/sum.fct
Multithreading language
- Comment-in syntax, disambiguation, values, and rules:
- Eclipse:
LD-cbs
: Clean project
- Spoofax:
LD-Start.cbs
: Generate language editor
- Eclipse:
LD-Editor
: Refresh, clean project, build
- Spoofax: Generate funcons for LD test programs:
LD-Tests/5-Threads/spawn-sync.ld
- Terminal: Update interpreter runfct-LD
cd LD-Interpreter; cabal v1-clean; make gen-hss; make cabal
- Spoofax: Run funcons of test programs
runfct-LD --config LD-3.config LD-Tests/5-Threads/spawn-sync.fct
←
↑