function error(sMessage, sInput, iAt) {
		var oError = new SyntaxError(sMessage);

		oError.at = iAt;
		oError.text = sInput;
		if (iAt !== undefined) {
			sMessage += " at position " + iAt;
		}
		Log.error(sMessage, sInput, sExpressionParser);
		throw oError;
	}
Throws a SyntaxError with the given <code>sMessage</code> as <code>message</code>, its
<code>at</code> property set to <code>iAt</code> and its <code>text</code> property to
<code>sInput</code>.
In addition, logs a corresponding error message to the console with <code>sInput</code>
as details.

@param {string} sMessage - the error message
@param {string} sInput - the input string
@param {int} [iAt] - the index in the input string where the error occurred; the index
  starts counting at 1 to be consistent with positions provided in tokenizer error messages.