What do you think of this iterator syntax?
- by ChaosPandion
I've been working on an ECMAScript dialect for quite some time now and have reached a point where I am comfortable adding new language features. I would love to hear some thoughts and suggestions on the syntax.
Example
iterator Numbers {
yield 1;
yield 2;
yield 3;
if (true) {
yield break;
}
yield continue iterator {
yield 4;
yield 5;
yield 6;
};
}
Syntax
IteratorDeclaration:
iterator Identifier { IteratorBody }
IteratorExpression:
iterator Identifieropt { IteratorBody }
IteratorBody:
IteratorStatementsopt
IteratorStatements:
IteratorStatement IteratorStatementsopt
IteratorStatement:
Statement but not one of BreakStatement ContinueStatement ReturnStatement
YieldStatement
YieldBreakStatement
YieldContinueStatement
YieldStatement:
yield Expression ;
YieldBreakStatement:
yield break ;
YieldContinueStatement:
yield continue Expression ;