• Home
  • Raw
  • Download

Lines Matching refs:rule

305     int32_t parse(const UnicodeString& rule, int32_t pos, int32_t limit, UErrorCode& status);
307 int32_t parseSection(const UnicodeString& rule, int32_t pos, int32_t limit,
331 const UnicodeString& rule, in syntaxError() argument
334 return parser.syntaxError(code, rule, start, status); in syntaxError()
364 int32_t RuleHalf::parse(const UnicodeString& rule, int32_t pos, int32_t limit, UErrorCode& status) { in parse() argument
367 pos = parseSection(rule, pos, limit, text, UnicodeString(TRUE, ILLEGAL_TOP, -1), FALSE, status); in parse()
370 return syntaxError(U_MISPLACED_CURSOR_OFFSET, rule, start, status); in parse()
399 int32_t RuleHalf::parseSection(const UnicodeString& rule, int32_t pos, int32_t limit, in parseSection() argument
416 UChar c = rule.charAt(pos++); in parseSection()
426 return syntaxError(U_UNCLOSED_SEGMENT, rule, start, status); in parseSection()
432 return syntaxError(U_MALFORMED_VARIABLE_REFERENCE, rule, start, status); in parseSection()
434 if (UnicodeSet::resemblesPattern(rule, pos-1)) { in parseSection()
436 buf.append(parser.parseSet(rule, pp, status)); in parseSection()
438 return syntaxError(U_MALFORMED_SET, rule, start, status); in parseSection()
446 return syntaxError(U_TRAILING_BACKSLASH, rule, start, status); in parseSection()
448 UChar32 escaped = rule.unescapeAt(pos); // pos is already past '\\' in parseSection()
450 return syntaxError(U_MALFORMED_UNICODE_ESCAPE, rule, start, status); in parseSection()
453 return syntaxError(U_VARIABLE_RANGE_OVERLAP, rule, start, status); in parseSection()
460 int32_t iq = rule.indexOf(QUOTE, pos); in parseSection()
474 return syntaxError(U_UNTERMINATED_QUOTE, rule, start, status); in parseSection()
477 rule.extractBetween(pos, iq, scratch); in parseSection()
480 if (pos < limit && rule.charAt(pos) == QUOTE) { in parseSection()
482 iq = rule.indexOf(QUOTE, pos+1); in parseSection()
492 return syntaxError(U_VARIABLE_RANGE_OVERLAP, rule, start, status); in parseSection()
500 return syntaxError(U_VARIABLE_RANGE_OVERLAP, rule, start, status); in parseSection()
504 syntaxError(U_ILLEGAL_CHARACTER, rule, start, status); in parseSection()
517 rule, start, status); in parseSection()
532 … pos = parseSection(rule, pos, limit, buf, UnicodeString(TRUE, ILLEGAL_SEG, -1), TRUE, status); in parseSection()
542 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseSection()
556 TransliteratorIDParser::parseFilterID(rule, iref); in parseSection()
559 !ICU_Utility::parseChar(rule, iref, SEGMENT_OPEN)) { in parseSection()
560 return syntaxError(U_INVALID_FUNCTION, rule, start, status); in parseSection()
566 return syntaxError(U_INVALID_FUNCTION, rule, start, status); in parseSection()
574 … pos = parseSection(rule, iref, limit, buf, UnicodeString(TRUE, ILLEGAL_FUNC, -1), TRUE, status); in parseSection()
583 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseSection()
605 c = rule.charAt(pos); in parseSection()
608 r = ICU_Utility::parseNumber(rule, pos, 10); in parseSection()
611 rule, start, status); in parseSection()
617 parseReference(rule, pp, limit); in parseSection()
653 return syntaxError(U_MISPLACED_QUANTIFIER, rule, start, status); in parseSection()
677 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseSection()
694 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseSection()
715 return syntaxError(U_MULTIPLE_ANTE_CONTEXTS, rule, start, status); in parseSection()
721 return syntaxError(U_MULTIPLE_POST_CONTEXTS, rule, start, status); in parseSection()
727 return syntaxError(U_MULTIPLE_CURSORS, rule, start, status); in parseSection()
734 return syntaxError(U_MISPLACED_CURSOR_OFFSET, rule, start, status); in parseSection()
739 return syntaxError(U_MISPLACED_CURSOR_OFFSET, rule, start, status); in parseSection()
749 return syntaxError(U_MISPLACED_CURSOR_OFFSET, rule, start, status); in parseSection()
766 return syntaxError(U_UNQUOTED_SPECIAL, rule, start, status); in parseSection()
886 void TransliteratorParser::parseRules(const UnicodeString& rule, in parseRules() argument
928 int32_t limit = rule.length(); in parseRules()
939 UChar c = rule.charAt(pos++); in parseRules()
946 pos = rule.indexOf((UChar)0x000A /*\n*/, pos) + 1; in parseRules()
966 rule.compare(pos, ID_TOKEN_LEN, ID_TOKEN) == 0) { in parseRules()
968 c = rule.charAt(pos); in parseRules()
971 c = rule.charAt(pos); in parseRules()
988 TransliteratorIDParser::parseSingleID(rule, p, direction, status); in parseRules()
989 if (p != pos && ICU_Utility::parseChar(rule, p, END_OF_RULE)) { in parseRules()
1002 … UnicodeSet* f = TransliteratorIDParser::parseGlobalFilter(rule, p, direction, withParens, NULL); in parseRules()
1004 if (ICU_Utility::parseChar(rule, p, END_OF_RULE) in parseRules()
1009 syntaxError(U_MULTIPLE_COMPOUND_FILTERS, rule, pos, status); in parseRules()
1021 syntaxError(U_INVALID_ID, rule, pos, status); in parseRules()
1055 if (resemblesPragma(rule, pos, limit)) { in parseRules()
1056 int32_t ppp = parsePragma(rule, pos, limit, status); in parseRules()
1058 syntaxError(U_MALFORMED_PRAGMA, rule, pos, status); in parseRules()
1063 pos = parseRule(rule, pos, limit, status); in parseRules()
1201 UBool TransliteratorParser::resemblesPragma(const UnicodeString& rule, int32_t pos, int32_t limit) { in resemblesPragma() argument
1203 … return ICU_Utility::parsePattern(rule, pos, limit, UnicodeString(TRUE, PRAGMA_USE, 4), NULL) >= 0; in resemblesPragma()
1215 int32_t TransliteratorParser::parsePragma(const UnicodeString& rule, int32_t pos, int32_t limit, UE… in parsePragma() argument
1228 …int p = ICU_Utility::parsePattern(rule, pos, limit, UnicodeString(TRUE, PRAGMA_VARIABLE_RANGE, -1)… in parsePragma()
1234 …p = ICU_Utility::parsePattern(rule, pos, limit, UnicodeString(TRUE, PRAGMA_MAXIMUM_BACKUP, -1), ar… in parsePragma()
1240 … p = ICU_Utility::parsePattern(rule, pos, limit, UnicodeString(TRUE, PRAGMA_NFD_RULES, -1), NULL); in parsePragma()
1246 … p = ICU_Utility::parsePattern(rule, pos, limit, UnicodeString(TRUE, PRAGMA_NFC_RULES, -1), NULL); in parsePragma()
1269 int32_t TransliteratorParser::parseRule(const UnicodeString& rule, int32_t pos, int32_t limit, UErr… in parseRule() argument
1285 pos = left->parse(rule, pos, limit, status); in parseRule()
1290 if (pos == limit || u_strchr(gOPERATORS, (op = rule.charAt(--pos))) == NULL) { in parseRule()
1291 return syntaxError(U_MISSING_OPERATOR, rule, start, status); in parseRule()
1297 (pos < limit && rule.charAt(pos) == FORWARD_RULE_OP)) { in parseRule()
1315 pos = right->parse(rule, pos, limit, status); in parseRule()
1321 if (rule.charAt(--pos) == END_OF_RULE) { in parseRule()
1325 return syntaxError(U_UNQUOTED_SPECIAL, rule, start, status); in parseRule()
1339 return syntaxError(U_BAD_VARIABLE_DEFINITION, rule, start, status); in parseRule()
1343 return syntaxError(U_MALFORMED_VARIABLE_DEFINITION, rule, start, status); in parseRule()
1347 return syntaxError(U_MALFORMED_VARIABLE_DEFINITION, rule, start, status); in parseRule()
1353 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseRule()
1365 rule, start, status); in parseRule()
1370 syntaxError(U_UNDEFINED_SEGMENT_REFERENCE, rule, start, status); in parseRule()
1374 syntaxError(U_INTERNAL_TRANSLITERATOR_ERROR, rule, start, status); // will never happen in parseRule()
1379 syntaxError(U_INTERNAL_TRANSLITERATOR_ERROR, rule, start, status); // will never happen in parseRule()
1432 return syntaxError(U_MALFORMED_RULE, rule, start, status); in parseRule()
1441 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseRule()
1456 return syntaxError(U_MEMORY_ALLOCATION_ERROR, rule, start, status); in parseRule()
1474 const UnicodeString& rule, in syntaxError() argument
1486 rule.extract(start,stop-start,parseError.preContext); in syntaxError()
1492 stop = uprv_min(pos + LEN, rule.length()); in syntaxError()
1494 rule.extract(start,stop-start,parseError.postContext); in syntaxError()
1507 UChar TransliteratorParser::parseSet(const UnicodeString& rule, in parseSet() argument
1510 UnicodeSet* set = new UnicodeSet(rule, pos, USET_IGNORE_SPACE, parseData, status); in parseSet()