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
←
↑