This repository is the result of the language engineering project course IN4333 2016/2017. Following the paper here, was created a base for lambdaJS syntax in SDF3 and semantics in DynSem. The DynSem rules point to the figures from the paper. For examples on what is possible code with the current state of this repo, you can look into ex.lam in /lambdaJS or the test folder in /lambdaJS.interpreter.
Syntax and semantics for:
- Figure 1: constants, let, function creation and application, and object creation and manipulation
- Figure 2: mutable references
- Figure 4: object prototyping
- More syntactic and semantic tests
- Figure 5: desugaring from JavaScript to lambdaJS
Syntax and semantics for:
- Figure 8: control operators
- Figure 9: primitive operators
Optionally figure 13 and 15 can be implemented for a type system in lambdaJS.