From Jason Turner

[lex.fcon]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp22etrxmb/{from.md → to.md} +17 -15
tmp/tmp22etrxmb/{from.md → to.md} RENAMED
@@ -24,31 +24,33 @@ sign: one of
24
  ```
25
 
26
  ``` bnf
27
  digit-sequence:
28
  digit
29
- digit-sequence digit
30
  ```
31
 
32
  ``` bnf
33
  floating-suffix: one of
34
  'f l F L'
35
  ```
36
 
37
  A floating literal consists of an integer part, a decimal point, a
38
  fraction part, an `e` or `E`, an optionally signed integer exponent, and
39
  an optional type suffix. The integer and fraction parts both consist of
40
- a sequence of decimal (base ten) digits. Either the integer part or the
41
- fraction part (not both) can be omitted; either the decimal point or the
42
- letter `e` (or `E` ) and the exponent (not both) can be omitted. The
43
- integer part, the optional decimal point and the optional fraction part
44
- form the *significant part* of the floating literal. The exponent, if
45
- present, indicates the power of 10 by which the significant part is to
46
- be scaled. If the scaled value is in the range of representable values
47
- for its type, the result is the scaled value if representable, else the
48
- larger or smaller representable value nearest the scaled value, chosen
49
- in an *implementation-defined* manner. The type of a floating literal is
50
- `double` unless explicitly specified by a suffix. The suffixes `f` and
51
- `F` specify `float`, the suffixes `l` and `L` specify `long` `double`.
52
- If the scaled value is not in the range of representable values for its
53
- type, the program is ill-formed.
 
 
54
 
 
24
  ```
25
 
26
  ``` bnf
27
  digit-sequence:
28
  digit
29
+ digit-sequence '''ₒₚₜ digit
30
  ```
31
 
32
  ``` bnf
33
  floating-suffix: one of
34
  'f l F L'
35
  ```
36
 
37
  A floating literal consists of an integer part, a decimal point, a
38
  fraction part, an `e` or `E`, an optionally signed integer exponent, and
39
  an optional type suffix. The integer and fraction parts both consist of
40
+ a sequence of decimal (base ten) digits. Optional separating single
41
+ quotes in a *digit-sequence* are ignored when determining its value. The
42
+ literals `1.602'176'565e-19` and `1.602176565e-19` have the same value.
43
+ Either the integer part or the fraction part (not both) can be omitted;
44
+ either the decimal point or the letter `e` (or `E` ) and the exponent
45
+ (not both) can be omitted. The integer part, the optional decimal point
46
+ and the optional fraction part form the *significant part* of the
47
+ floating literal. The exponent, if present, indicates the power of 10 by
48
+ which the significant part is to be scaled. If the scaled value is in
49
+ the range of representable values for its type, the result is the scaled
50
+ value if representable, else the larger or smaller representable value
51
+ nearest the scaled value, chosen in an *implementation-defined* manner.
52
+ The type of a floating literal is `double` unless explicitly specified
53
+ by a suffix. The suffixes `f` and `F` specify `float`, the suffixes `l`
54
+ and `L` specify `long` `double`. If the scaled value is not in the range
55
+ of representable values for its type, the program is ill-formed.
56