mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-15 08:08:03 +01:00
In the process, I had to change the grammar. There is now a strong separation between statements and expressions. The code was just wrong before when it popped locals at the end of a block scope because there could be temporaries on the stack if the block was in expression position. This fixes that. Still need to implement closing over `this`.
14 lines
257 B
Plaintext
14 lines
257 B
Plaintext
// Create a local scope for the 'then' expression.
|
|
var a = "out"
|
|
if (true) {
|
|
var a = "in"
|
|
}
|
|
io.write(a) // expect: out
|
|
|
|
// Create a local scope for the 'else' expression.
|
|
var b = "out"
|
|
if (false) "dummy" else {
|
|
var b = "in"
|
|
}
|
|
io.write(b) // expect: out
|