code: static final void syntaxError(String msg, String rule, int start) {
          int end = ruleEnd(rule, start, rule.length());
          throw new IllegalIcuArgumentException(msg + " in \"" +
                                             Utility.escape(rule.substring(start, end)) + '"');
      }
docs: Throw an exception indicating a syntax error.  Search the rule string
  for the probable end of the rule.  Of course, if the error is that
  the end of rule marker is missing, then the rule end will not be found.
  In any case the rule start will be correctly reported.
  @param msg error description
  @param rule pattern string
  @param start position of first character of current rule