nl_tokens: / * LetBlock :: ( tokenizer compiler context boolean ) - > node
pl_tokens: function LetBlock ( t , x , isStatement ) { var n , n2 ; // t.token.type must be LET n = new Node ( t , { type : LET_BLOCK , varDecls : [ ] } ) ; t . mustMatch ( LEFT_PAREN ) ; n . variables = Variables ( t , x , n ) ; t . mustMatch ( RIGHT_PAREN ) ; if ( isStatement && t . peek ( ) !== LEFT_CURLY ) { /*
           * If this is really an expression in let statement guise, then we
           * need to wrap the LET_BLOCK node in a SEMICOLON node so that we pop
           * the return value of the expression.
           */ n2 = new Node ( t , { type : SEMICOLON , expression : n } ) ; isStatement = false ; } if ( isStatement ) n . <mask> = Block ( t , x ) ; else n . expression = AssignExpression ( t , x ) ; return n ; }