function resolveEmbeddedBinding(oEnv, sInput, iStart) {
		var parseObject = JSTokenizer.parseJS,
			oParseResult,
			iEnd;

		// an embedded binding: check for a property name that would indicate a complex object
		if ( rObject.test(sInput.slice(iStart)) ) {
			oParseResult = parseObject(sInput, iStart);
			resolveBindingInfo(oEnv, oParseResult.result);
			return oParseResult;
		}
		// otherwise it must be a simple binding (path only)
		iEnd = sInput.indexOf('}', iStart);
		if ( iEnd < iStart ) {
			throw new SyntaxError("no closing braces found in '" + sInput + "' after pos:" + iStart);
		}
		return {
			result: makeSimpleBindingInfo(sInput.slice(iStart + 1, iEnd)),
			at: iEnd + 1
		};
	}
/**
	 * Determines the binding info for the given string sInput starting at the given iStart and
	 * returns an object with the corresponding binding info as <code>result</code> and the
	 * position where to continue parsing as <code>at</code> property.
	 *
	 * @param {object} oEnv
	 *   the "environment"
	 * @param {object} oEnv.oContext
	 *   the context object from complexBinding (read-only)
	 * @param {boolean} oEnv.bTolerateFunctionsNotFound
	 *   if <code>true</code>, unknown functions are gathered in aFunctionsNotFound, otherwise an
	 *   error is logged (read-only)
	 * @param {string[]} oEnv.aFunctionsNotFound
	 *   a list of functions that could not be found if oEnv.bTolerateFunctionsNotFound is true
	 *   (append only)
	 * @param {string} sInput
	 *   The input string from which to resolve an embedded binding
	 * @param {int} iStart
	 *   The start index for binding resolution in the input string
	 * @returns {object}
	 *   An object with the following properties:
	 *   result: The binding info for the embedded binding
	 *   at: The position after the last character for the embedded binding in the input string
	 */
Determines the binding info for the given string sInput starting at the given iStart and
returns an object with the corresponding binding info as result and the
position where to continue parsing as at property.


Determines the binding info for the given string sInput starting at the given iStart and returns an object with the corresponding binding info as result and the position where to continue parsing as at property .
function resolveEmbeddedBinding(oEnv, sInput, iStart) {
		var parseObject = JSTokenizer.parseJS,
			oParseResult,
			iEnd;
		if ( rObject.test(sInput.slice(iStart)) ) {
			oParseResult = parseObject(sInput, iStart);
			resolveBindingInfo(oEnv, oParseResult.result);
			return oParseResult;
		}
		iEnd = sInput.indexOf('}', iStart);
		if ( iEnd < iStart ) {
			throw new SyntaxError("no closing braces found in '" + sInput + "' after pos:" + iStart);
		}
		return {
			result: makeSimpleBindingInfo(sInput.slice(iStart + 1, iEnd)),
			at: iEnd + 1
		};
	}
function resolveEmbeddedBinding ( oEnv , sInput , iStart ) { var parseObject = JSTokenizer . parseJS , oParseResult , iEnd ; if ( rObject . test ( sInput . slice ( iStart ) ) ) { oParseResult = parseObject ( sInput , iStart ) ; resolveBindingInfo ( oEnv , oParseResult . result ) ; return oParseResult ; } iEnd = sInput . indexOf ( '}' , iStart ) ; if ( iEnd < iStart ) { throw new SyntaxError ( "no closing braces found in '" + sInput + "' after pos:" + iStart ) ; } return { result : makeSimpleBindingInfo ( sInput . slice ( iStart + 1 , iEnd ) ) , at : iEnd + 1 } ; }
Determines the binding info for the given string sInput starting at the given iStart and
 returns an object with the corresponding binding info as <code>result</code> and the
 position where to continue parsing as <code>at</code> property.
Determines the binding info for the given string sInput starting at the given iStart and returns an object with the corresponding binding info as <code > result< / code > and the position where to continue parsing as <code > at< / code > property .
// an embedded binding: check for a property name that would indicate a complex object // otherwise it must be a simple binding (path only)