<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">Hi, all</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I have confused by the Mercury Reference Manual (14.01.1). I found it seems not so up-to-date with the implementation. Now I have some questions about string literals and name tokens need to be helped.</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">Do the differences between a string literal and a quoted name is only </div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">    * quoted by single/double quotes</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">    * '' can appears in a quoted name (but not a string literal), whereas "" can appears in a string literal (but not a quoted name)<br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">?</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I found some usage not be mentioned in the refman, e.g.</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I write "\\" but it interpreted as \\, this is not mentioned.</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I write "\" but it errors while compiling, so how the backslash works?</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I write "\143\" and it is interpreted as "c", this is what mentioned in refman 2.3. But I write "\143" is also interpreted as "c", whereas "\43" will interpreted as "#", these are what not mentioned in the refman. </div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">I found the max value for the rule "\x....\" is \xfffff\, and the max value for the rule "\....\" is \x777777\, this is what not mentioned in the refman.</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small">Do I miss something ? Or really not mentioned ? Or something I misunderstand ? How can I understand all the syntax rules? Any resource I could read? I'm doing some work on parsing Mercury code now (using some lexer/parser generator), so, understanding all the syntax rules correctly is the most important thing.</div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><span style="font-family:arial,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><span style="font-family:arial,sans-serif;font-size:14px">Any help appreciated.</span><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;font-size:small"><br></div><div><div>     Best regards,<br>Xiaofeng Yang</div></div>
</div>