# Localized error messages for gnu.regexp

# Prefix for REException messages
error.prefix=At position {0} in regular expression pattern:

# REException (parse error) messages
repeat.assertion=repeated token is zero-width assertion
repeat.chained=attempted to repeat a token that is already repeated
repeat.no.token=quantifier (?*+{}) without preceding token
repeat.empty.token=repeated token may be empty
unmatched.brace=unmatched brace
unmatched.bracket=unmatched bracket
unmatched.paren=unmatched parenthesis
interval.no.end=unexpected end of interval
class.no.end=unexpected end of character class
subexpr.no.end=unexpected end of subexpression
interval.order=an interval''s minimum is greater than its maximum
interval.error=an interval is empty * or contains illegal characters
ends.with.backslash=backslash at end of pattern

# RESyntax message
syntax.final=Syntax has been declared final and cannot be modified
