State of Doge 4
Where we are at
These posts aim to provide a little progress update on milestones or things completed.
Parser Work
The parser has been enhanced with support for explicit returns:
The amaze keyword acts as an explicit return, without closing the current block. Unlike wow value, which returns and closes the block.
This keyword will hopefully be used within anonymous functions to clear up ambiguity of whether we close the anonymous function }, or close both the anonymous function AND arguments to a function }).
So, using amaze:
rly foo
amaze 1
wow
Without amaze:
rly foo
wow 1
Both end up transforming to:
if ( foo() ) {
return 1;
}
We’ve also removed the controlFlowParser so expression support within control flow statements now follows the same logic as the rest.
Things we’ve fixed
- A custom tokenizer was added to handle escaped quotes
What we’ll focus on
- class support
- do/while , try/catch/finally, instanceof/typeof
- an explicit
breakkeyword, currently just planning onbork.