<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jun 17, 2017 at 6:46 AM, Trevor Perrin <span dir="ltr"><<a href="mailto:trevp@trevp.net" target="_blank">trevp@trevp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Fri, Jun 16, 2017 at 8:31 PM, Rhys Weatherley<br>
<<a href="mailto:rhys.weatherley@gmail.com">rhys.weatherley@gmail.com</a>> wrote:<br>> Perhaps an ABNF grammar for the protocol name would be useful as well to<br>
> make the syntax super-precise?<br>
<br>
</span>Seems worth considering if someone wants to take a stab at it (I don't<br>
have a strong opinion or a lot of experience with ABNF).<br></blockquote><div> </div><div><div>Here ya go:<br><br><a href="https://github.com/noiseprotocol/noise_spec/pull/35">https://github.com/noiseprotocol/noise_spec/pull/35</a><br><br></div><div><div>In
 the ABNF grammar I included your suggestion of "/" as an 
algorithm name character, but have not included parenthesised names 
yet.  Parentheses would make it hard to use standard language string 
split("_") functions to parse protocol names.  IMHO.<br></div><div><br></div>I 
also modified the pattern dictionary, Python scripts, and the HFS spec, 
to match rev32.  The scripts can be used to mechanically apply 
'fallback', 'pskN', and 'hfs' modifiers to patterns.  For example, to 
get all possible "fallback+hfs+psk1" variations on the standard base patterns:<br><br></div><div>    ./transform_fallback.py ../patterns/noise-revision-32.txt | \<br></div>        ./transform_hfs.py - | \<br>        ./transform_psk.py 1 - <br></div></div><br></div><div class="gmail_extra">Cheers,<br><br></div><div class="gmail_extra">Rhys.<br></div></div>