<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Cameron forwarded the following to me
after our meeting yesterday.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">C#'s grammar for identifiers is defined
at the following link. Basically, identifiers match UAX#31 with a
few additions (most of which make sense for C++ as well).<br>
</div>
<div class="moz-cite-prefix">-
<a class="moz-txt-link-freetext" href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#identifiers">https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#identifiers</a></div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">A fun blog post exploring C# Unicode
identifiers and the possibility of character classification
changing over time resides at the following link. <br>
</div>
<div class="moz-cite-prefix">-
<a class="moz-txt-link-freetext" href="https://codeblog.jonskeet.uk/2014/12/01/when-is-an-identifier-not-an-identifier-attack-of-the-mongolian-vowel-separator/">https://codeblog.jonskeet.uk/2014/12/01/when-is-an-identifier-not-an-identifier-attack-of-the-mongolian-vowel-separator/</a><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Tom.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 5/15/19 1:39 PM, Tom Honermann
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:34a9ae7e-ac68-711b-e737-19d9cec4315c@honermann.net">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">Thanks for bringing this to our
attention. I agree there are opportunities for improvement
here. I filed a new SG16 issue to track this.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><a class="moz-txt-link-freetext"
href="https://github.com/sg16-unicode/sg16/issues/48"
moz-do-not-send="true">https://github.com/sg16-unicode/sg16/issues/48</a></div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I encourage anyone interested in this
to sign up to write a paper or provide additional background
material in the issue (e.g., more history about the current list
of ranges, an analysis of UAX#31 and its applicability to C++,
etc...).<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Tom.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 5/10/19 12:43 PM, JF Bastien
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CACeCrovOGwngO8PBa+skKXzTr=6SosJ0a-MQCXJijJ+67C7SQw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<div dir="ltr">
<div dir="ltr"><font face="arial, helvetica, sans-serif">Hi
C++ <span style="color:rgb(0,0,0);font-size:medium">પกٱƈѻɗﻉ</span> <span
style="color:rgb(0,0,0);font-size:medium">ḟäṅṡ 👋</span>!</font>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">The current
list of valid identifier characters is pretty silly (see
[<b><a href="http://lex.name" moz-do-not-send="true">lex.name</a></b>]
5.10 Identifiers or <a
href="https://en.cppreference.com/w/cpp/language/identifiers"
moz-do-not-send="true">cppreference summary</a>). It
allows characters such as zero-width joiner and
zero-width space among a few silly things (see <a
href="https://godbolt.org/z/sBJk1k"
moz-do-not-send="true">how bad this can get</a>,
h/t Richard Kogelnig</font><span
style="font-family:arial,helvetica,sans-serif">).</span></div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">I asked where
it came from, and IIUC John looked at Unicode and
cobbled the list of valid ranges manually. That ain't
great.</font></div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">Is this group
interested in fixing things?</font></div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">There's
already an existing standard for this, maybe it's a
thing we can adopt as-is or use as a starting point:</font></div>
<blockquote style="margin:0px 0px 0px
40px;border:none;padding:0px">
<div><a href="https://unicode.org/reports/tr31/"
moz-do-not-send="true"><font face="arial, helvetica,
sans-serif">https://unicode.org/reports/tr31/</font></a></div>
</blockquote>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">Further, the
tooling group was just talking about module names. I
think we should allow any valid identifier name as
module name, and look at how this could map to file
names for a tooling TR's purpose.</font></div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><font face="arial, helvetica, sans-serif">Thanks,</font></div>
<div><font face="arial, helvetica, sans-serif"><br>
</font></div>
<div><span style="color:rgb(0,0,0);font-size:medium"><font
face="arial, helvetica, sans-serif">J̙̘̗̘̟͐̀̎F͚̜͈̖͉̗̘̊</font></span><br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
SG16 Unicode mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Unicode@isocpp.open-std.org" moz-do-not-send="true">Unicode@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/unicode" moz-do-not-send="true">http://www.open-std.org/mailman/listinfo/unicode</a>
</pre>
</blockquote>
<p><br>
</p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
SG16 Unicode mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Unicode@isocpp.open-std.org">Unicode@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/unicode">http://www.open-std.org/mailman/listinfo/unicode</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>