&gt; I&#x27;ve never seen a production compiler use anything except decimal points.<p>There&#x27;s a distinction between literals used in programming languages and how various input&#x2F;output routines emit different numerals.  Most programming languages follow the convention: a &#x27;.&#x27; for a radix symbol and no thousands separator.  Many programming languages also include: explicit &#x27;.&#x27; implies a floating-point numeral, scientific notation support.  Most modern programming languages (and even some older ones) have standard library or extremely popular library support for localization.  That localization will customize things like the radix and thousands separator.<p>Some languages support custom literals, so you probably could adapt it to match your locale if the grammar doesn&#x27;t somehow become ambiguous.<p>Other interesting stuff literals sometimes include: different numeral bases, signedness, precision.<p>It doesn&#x27;t seem confusing to me, but I&#x27;ll admit that there have probably been many times that I could take advantage of the programming languages&#x27; support for parsing literal numerals whose format happens to match my locale&#x27;s (en_US.*).