rem: token.fud(); 
add: left = token.fud(); 
context:     function parse(rbp, initial) {        var left;        var o;        if (nexttoken.id === '(end)') {            error("Unexpected early end of program.", token);        }        advance();        if (initial) {            anonname = 'anonymous';            verb = token.value;        }        if (initial && token.fud) {            token.fud();        } else {            if (token.nud) {                o = token.exps;                left = token.nud();            } else {                if (nexttoken.type === '(number)' && token.id === '.') {                    warning("A leading decimal point can be confused with a dot: '.{a}'.",                            token, nexttoken.value);                    advance();                    return token;                } else {                    error("Expected an identifier and instead saw '{a}'.",                            token, token.id);                }            }            while (rbp < nexttoken.lbp) {                o = nexttoken.exps;                advance();                if (token.led) {                    left = token.led(left);                } else {                    error("Expected an operator and instead saw '{a}'.",                        token, token.id);                }            }            if (initial && !o) {                warning("Expected an assignment or function call and instead saw an expression.",                        token);            }        }        if (!option.evil && left && left.value === 'eval') {            warning("eval is evil.", left);        }        return left;    }
meta: 5491	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5491/78561e9fb67e01f7f75693e77959bd914c7d92d7/fulljslint.js/clean/src/net/happygiraffe/jslint/fulljslint.js