content_image/680300.jpg
## 2.4.6 Floating point literals 

Floating point literals are described by the following lexical definitions: 

<img src='content_image/680300.jpg'>

Note that the integer and exponent parts are always interpreted using radix 10. For example,$_{077e010}$ is legal, and denotes the same number as 77e10 . The allowed range of floating point literals is implementation-dependent. As in integer literals, underscores are supported for digit grouping. 

Some examples of floating point literals: 

3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93 

Changed in version 3.6: Underscores are now allowed for grouping purposes in literals. 

## 2.4.7 Imaginary literals 

Imaginary literals are described by the following lexical definitions: 

imagnumber ::= ( floatnumber | digitpart ) ("j" | "J") 

An imaginary literal yields a complex number with a real part of 0.0. Complex numbers are represented as a pair of floating point numbers and have the same restrictions on their range. To create a complex number with a nonzero real part, add a floating point number to it, e.g.,$_{(3+4j)}$ . Some examples of imaginary literals: 

3.14 j 10. j 10 j .001 j 1e100j3.14e-10 j 3.14_15_93 j 

## 2.5 Operators 

The following tokens are operators: 

+ << < 

## 2.6 Delimiters 

The following tokens serve as delimiters in the grammar: 

( , += &= 

- >> > 

) : -= |= 

* & <= 

[ . *= ^= 

** | >= 

] ; /= >>= 

/ ^ == 

{ } @ = //= %= <<=**= 

// ~ != 

% := 

-> @= 

@ 

The period can also occur in floating-point and imaginary literals. A sequence of three periods has a special meaning as an ellipsis literal. The second half of the list, the augmented assignment operators, serve lexically as delimiters, but also perform an operation. 

