src/sap.ui.core/src/sap/ui/base/ExpressionParser.js
function expression(rbp) {
			var fnLeft;

			oToken = advance();
			if (!oToken) {
				error("Expected expression but instead saw end of input", sInput);
			}
			fnLeft = mSymbols[oToken.id].nud(oToken, oParser);

			while (iNextToken < aTokens.length) {
				oToken = current();
				if (rbp >= (mSymbols[oToken.id].lbp || 0)) {
					break;
				}
				advance();
				fnLeft = mSymbols[oToken.id].led(oToken, oParser, fnLeft);
			}

			return fnLeft;
		}
function expression(rbp) {
			var fnLeft;

			oToken = advance();
			if (!oToken) {
				error("Expected expression but instead saw end of input", sInput);
			}
			fnLeft = mSymbols[oToken.id].nud(oToken, oParser);

			while (iNextToken < aTokens.length) {
				oToken = current();
				if (rbp >= (mSymbols[oToken.id].lbp || 0)) {
					break;
				}
				advance();
				fnLeft = mSymbols[oToken.id].led(oToken, oParser, fnLeft);
			}

			return fnLeft;
		}
function expression ( rbp ) { var fnLeft ; oToken = advance ( ) ; if ( ! oToken ) { error ( "Expected expression but instead saw end of input" , sInput ) ; } fnLeft = mSymbols [ oToken . id ] . nud ( oToken , oParser ) ; while ( iNextToken < aTokens . length ) { oToken = current ( ) ; if ( rbp >= ( mSymbols [ oToken . id ] . lbp || 0 ) ) { break ; } advance ( ) ; fnLeft = mSymbols [ oToken . id ] . led ( oToken , oParser , fnLeft ) ; } return fnLeft ; }
Parse an expression starting at the current token. Throws an error if there are no more
tokens and

@param {number} rbp
a "right binding power"
@returns {function} The formatter function for the expression
Parse an expression starting at the current token . Throws an error if there are no more tokens and