diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-10-12 21:32:44 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-10-12 21:32:44 -0400 |
| commit | cea204e979899113614c4f7c5dd1ba25ff61e659 (patch) | |
| tree | 633cdf0c801c4b3e85c6122e0afdcf0c168415c4 | |
| parent | c6e6558d374ed8104082817c30468625a8182f6e (diff) | |
Use ⇐ instead of : for namespace destructuring
| -rw-r--r-- | docs/spec/grammar.html | 2 | ||||
| -rw-r--r-- | spec/grammar.md | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/docs/spec/grammar.html b/docs/spec/grammar.html index 42d5e817..a36e02bb 100644 --- a/docs/spec/grammar.html +++ b/docs/spec/grammar.html @@ -90,7 +90,7 @@ </pre> <p>A namespace block is very similar in grammar to an ordinary immediate block, but allows export declarations with <code><span class='Gets'>⇐</span></code>, either in place of the ordinary definition <code><span class='Gets'>←</span></code> or in the special <code><span class='Function'>EXPORT</span></code> statement. The arrow <code><span class='Gets'>⇐</span></code> can also be placed in the header to mark a namespace block. Since the block returns all exported values and not the result of the last line, the last line does not need to be an expression.</p> <pre><span class='Function'>NS_STMT</span> <span class='Function'>=</span> <span class='Value'>nsLHS</span> <span class='Function'>ASGN</span> <span class='Value'>brNS</span> -<span class='Function'>NS_VAR</span> <span class='Function'>=</span> <span class='Function'>LHS_NAME</span> <span class='Paren'>(</span> <span class='String'>":"</span> <span class='Value'>lhs</span> <span class='Paren'>)</span><span class='Value'>?</span> +<span class='Function'>NS_VAR</span> <span class='Function'>=</span> <span class='Paren'>(</span> <span class='Value'>lhs</span> <span class='String'>"⇐"</span> <span class='Paren'>)</span><span class='Value'>?</span> <span class='Function'>LHS_NAME</span> <span class='Value'>nsLHS</span> <span class='Function'>=</span> <span class='Function'>LHS_NAME</span> <span class='Paren'>(</span> <span class='String'>"‿"</span> <span class='Function'>LHS_NAME</span> <span class='Paren'>)</span><span class='Function'>+</span> <span class='Function'>|</span> <span class='String'>"⟨"</span> <span class='Separator'>⋄</span><span class='Value'>?</span> <span class='Paren'>(</span> <span class='Paren'>(</span> <span class='Function'>NS_VAR</span> <span class='Separator'>⋄</span> <span class='Paren'>)</span><span class='Value'>*</span> <span class='Function'>NS_VAR</span> <span class='Separator'>⋄</span><span class='Value'>?</span> <span class='Paren'>)</span><span class='Value'>?</span> <span class='String'>"⟩"</span> <span class='Function'>EXPORT</span> <span class='Function'>=</span> <span class='Paren'>(</span> <span class='Function'>LHS_NAME</span> <span class='Function'>|</span> <span class='Value'>lhsSub</span> <span class='Function'>|</span> <span class='Value'>lhsStr</span> <span class='Paren'>)</span> <span class='String'>"⇐"</span> diff --git a/spec/grammar.md b/spec/grammar.md index 0e210849..91cf043e 100644 --- a/spec/grammar.md +++ b/spec/grammar.md @@ -97,7 +97,7 @@ A braced block contains bodies, which are lists of statements, separated by semi A namespace block is very similar in grammar to an ordinary immediate block, but allows export declarations with `⇐`, either in place of the ordinary definition `←` or in the special `EXPORT` statement. The arrow `⇐` can also be placed in the header to mark a namespace block. Since the block returns all exported values and not the result of the last line, the last line does not need to be an expression. NS_STMT = nsLHS ASGN brNS - NS_VAR = LHS_NAME ( ":" lhs )? + NS_VAR = ( lhs "⇐" )? LHS_NAME nsLHS = LHS_NAME ( "‿" LHS_NAME )+ | "⟨" ⋄? ( ( NS_VAR ⋄ )* NS_VAR ⋄? )? "⟩" EXPORT = ( LHS_NAME | lhsSub | lhsStr ) "⇐" |
