12.4 Abstract literals












Definition

abstract_literal ::=
     decimal_literal | based_literal

decimal_literal ::=
     integer [ . integer ] [ exponent ]

based_literal ::=
     base # based_integer [ . based_integer ] # [ exponent ]

base ::=
     integer

based_integer ::=
     extended_digit { [ underline ] extended_digit }

extended_digit ::=
    digit | letter

exponent ::=
    E [ + ] integer | E - integer

integer ::=
    digit { [ underline ] digit }



Comments

For integer_literals the exponent must not be negative.
High-order zeros are permitted.
`Space` is not permitted as `space` is a delimiter.
_ only serves to improve readability and does not influence the value.
permitted base-statements: 2,..,16









Examples

Integer-figures
12     0     1E6     123_456

Real-figures
12.0      0.0     0.4556     3.14159_26

Real-figures with an exponent
1.34E-12     1.0E+6     6.023E+24

Integer-figures of the value 255
2#1111_1111#     16#FF#     016#0FF#

Integer-figures of the value 224
16#E#E1     2#1110_0000#

Real-figures of the value 4095.0 (32 bit IEEE-floating point format)
16#F.FF#E+2     2#1.1111_1111_111#E11