It would be good to at least update the parser.y and reserved.c, even when the new options are PENDING for now.
old format:
::cobolfree
FUNCTION NUMVAL-C ( argument-1 [argument-2])
new (compatible) format:
::cobolfree
FUNCTION NUMVAL-C ( argument-1 [argument-2 | LOCALE [locale-name-1]] [ANYCASE])
additional new rules:
- If the
ANYCASE keyword is specified, the matching rules for detecting a currency string in argument-1 are case-insensitive (otherwise case-sensitive).
- If the
LOCALE keyword is specified, the following rules apply:
- Locale-name-1, if specified, shall be associated with a locale in the
SPECIAL-NAMES paragraph; locale category LC_MONETARY in the referenced locale is used in evaluating the monetary format in argument-1. If locale-name-1 is not specified, category LC_MONETARY in the current locale is used. If the required locale is not available, the EC-LOCALE-MISSING exception condition is set to exist.
- The content of argument-1 shall be a string of digits and characters in a format consistent with the specifications of locale category
LC_MONETARY in the locale in use. The following rules apply:
- If the
ANYCASE keyword is specified, the matching rules for detecting a currency string in argument-1 are case-insensitive. If the ANYCASE keyword is not specified, the matching rules for detecting a currency string are case sensitive.
- Usage national representation of locale fields is used for purposes of matching argument-1. If argument-1 is of category alphanumeric, usage national representation of argument-1 is used for purposes of matching locale fields.
- Argument-1 may contain a currency string that matches either locale field currency_symbol or the first three characters of locale field int_curr_symbol, in accordance with locale fields p_cs_precedes and n_cs_precedes.
- Argument-1 may contain a positive sign in accordance with locale fields positive_sign and p_sign_posn or a negative sign in accordance with locale fields negative_sign and n_sign_posn.
- Argument-1 may contain a decimal separator in accordance with locale fields mon_decimal_point, int_frac_digits, and frac_digits.
- Argument-1 may contain one or more grouping separators in accordance with locale fields mon_thousands_sep and mon_grouping.
- Argument-1 shall contain at least one digit and may contain leading or trailing spaces.