resources/messages/attributeDescriptions/pin.html (20 lines of code) (raw):

<html> <body> The number or pattern of expression to pin. <h2>The contract:</h2> <ol> <li>Pin is applied to items of grammar sequence expressions</li> <li>While matching a sequence parser will ignore errors after a pinned item</li> </ol> <h2>Parenthesized list example:</h2> <pre><code> { tokens=[number="regexp:\d+" comma="," paren1="(" paren2=")"] } list ::= "(" items? ")" {pin=1} // or {pin="("} private items ::= [!")" item (',' item) * ] {pin(".*")=1} item ::= number {recoverWhile=item_recover} private item_recover ::= !(")" | ",") </code></pre> </body> </html>