私はJavaScriptパーサーを作成していますが、for
ループの文法規則はちょっと混乱します。 From the specs:JavaScript文法:for/for-inループルール?
'for' LPAREN (
(expressionNoln)? SEMI (expression)? SEMI (expression)? RPAREN statement
| 'var' variableDeclarationListNoln SEMI (expression)? SEMI (expression)? RPAREN statement
| leftHandSideExpression 'in' expression RPAREN statement
| 'var' variableDeclarationNoln 'in' expression RPAREN statement
)
私はexpressionNoln
と普通のexpression
との間にどのような違いを把握しようとしています。その過程で、variableDeclartionNoln
とvariableDeclartionListNoln
で何が起こっているのかを把握してください。
私が見つけた唯一の違いは、少し下にあり、relationalExpression
とrelationalExpressionNoln
の間です。後者のルールには、in
演算子がありません。
私はそれを得ましたか、私はちょうど混乱しましたか?