A value is a characters string assigned to a variable. Since there are several types of variables, there are several ways to specify a value.
A decimal number is a string that contains only digits between '0' and '9' and possibly negative sign '-'.
The ASN.1 standard is quite clear regarding decimal numbers:
- they should not start with '0' unless the value is 0;
between the negative sign '-' and the first digit, there may be zero or more separators (spaces, tabs ...). However, many programs do not allow separators between the minus sign '-' and the first digit;
- if the value is 0, the negative sign '-' should not be used.
EBNF syntax of a decimal number is:
number : '0'
| '-' ? ['1'..'9'] ['0'..'9'] *