function parsePostfixExpression() {
            var marker = markerCreate(),
                expr = parseLeftHandSideExpressionAllowCall(),
                token;
    
            if (lookahead.type !== Token.Punctuator) {
                return expr;
            }
    
            if ((match('++') || match('--')) && !peekLineTerminator()) {
                // 11.3.1, 11.3.2
                if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {
                    throwErrorTolerant({}, Messages.StrictLHSPostfix);
                }
    
                if (!isLeftHandSide(expr)) {
                    throwError({}, Messages.InvalidLHSInAssignment);
                }
    
                token = lex();
                expr = markerApply(marker, delegate.createPostfixExpression(token.value, expr));
            }
    
            return expr;
        }
function parsePostfixExpression() {
            var marker = markerCreate(),
                expr = parseLeftHandSideExpressionAllowCall(),
                token;
    
            if (lookahead.type !== Token.Punctuator) {
                return expr;
            }
    
            if ((match('++') || match('--')) && !peekLineTerminator()) {
                // 11.3.1, 11.3.2
                if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {
                    throwErrorTolerant({}, Messages.StrictLHSPostfix);
                }
    
                if (!isLeftHandSide(expr)) {
                    throwError({}, Messages.InvalidLHSInAssignment);
                }
    
                token = lex();
                expr = markerApply(marker, delegate.createPostfixExpression(token.value, expr));
            }
    
            return expr;
        }
function parsePostfixExpression ( ) { var marker = markerCreate ( ) , expr = parseLeftHandSideExpressionAllowCall ( ) , token ; if ( lookahead . type !== Token . Punctuator ) { return expr ; } if ( ( match ( '++' ) || match ( '--' ) ) && ! peekLineTerminator ( ) ) { // 11.3.1, 11.3.2 if ( strict && expr . type === Syntax . Identifier && isRestrictedWord ( expr . name ) ) { throwErrorTolerant ( { } , Messages . StrictLHSPostfix ) ; } if ( ! isLeftHandSide ( expr ) ) { throwError ( { } , Messages . InvalidLHSInAssignment ) ; } token = lex ( ) ; expr = markerApply ( marker , delegate . createPostfixExpression ( token . value , expr ) ) ; } return expr ; }
11.3 Postfix Expressions
11 . 3 Postfix Expressions