aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-12-01 21:43:10 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-12-01 21:57:31 -0500
commitad3be255fc529c0fae38c7f71e66545d94afb6e4 (patch)
tree75b6422f33c801217f5c03c12bbf2cde7b991dd2
parentc53801af74f4e7e6debed7b5ec81e64302da49a5 (diff)
Allow parens around assignment target
-rw-r--r--docs/spec/grammar.html4
-rw-r--r--spec/grammar.md4
2 files changed, 4 insertions, 4 deletions
diff --git a/docs/spec/grammar.html b/docs/spec/grammar.html
index fe33cd38..7e2f2eac 100644
--- a/docs/spec/grammar.html
+++ b/docs/spec/grammar.html
@@ -50,13 +50,13 @@
<span class='Value'>nothing</span> <span class='Function'>=</span> <span class='String'>&quot;·&quot;</span>
<span class='Function'>|</span> <span class='Paren'>(</span> <span class='Value'>subject</span> <span class='Function'>|</span> <span class='Value'>nothing</span> <span class='Paren'>)</span><span class='Value'>?</span> <span class='Function'>Derv</span> <span class='Value'>nothing</span>
<span class='Function'>NAME</span> <span class='Function'>=</span> <span class='Value'>s</span> <span class='Function'>|</span> <span class='Function'>F</span> <span class='Function'>|</span> <span class='Modifier'>_m</span> <span class='Function'>|</span> <span class='Modifier2'>_c_</span>
-<span class='Function'>LHS_ANY</span> <span class='Function'>=</span> <span class='Function'>NAME</span> <span class='Function'>|</span> <span class='String'>&quot;·&quot;</span> <span class='Function'>|</span> <span class='Value'>lhsList</span>
+<span class='Function'>LHS_ANY</span> <span class='Function'>=</span> <span class='Function'>NAME</span> <span class='Function'>|</span> <span class='String'>&quot;·&quot;</span> <span class='Function'>|</span> <span class='Value'>lhsList</span> <span class='Function'>|</span> <span class='String'>&quot;(&quot;</span> <span class='Function'>LHS_ELT</span> <span class='String'>&quot;)&quot;</span>
<span class='Function'>LHS_ATOM</span> <span class='Function'>=</span> <span class='Function'>LHS_ANY</span> <span class='Function'>|</span> <span class='String'>&quot;(&quot;</span> <span class='Value'>lhsStr</span> <span class='String'>&quot;)&quot;</span>
<span class='Function'>LHS_ELT</span> <span class='Function'>=</span> <span class='Function'>LHS_ANY</span> <span class='Function'>|</span> <span class='Value'>lhsStr</span>
<span class='Function'>LHS_ENTRY=</span> <span class='Function'>LHS_ELT</span> <span class='Function'>|</span> <span class='Value'>lhs</span> <span class='String'>&quot;⇐&quot;</span> <span class='Function'>NAME</span>
<span class='Value'>lhsStr</span> <span class='Function'>=</span> <span class='Function'>LHS_ATOM</span> <span class='Paren'>(</span> <span class='String'>&quot;‿&quot;</span> <span class='Function'>LHS_ATOM</span> <span class='Paren'>)</span><span class='Function'>+</span>
<span class='Value'>lhsList</span> <span class='Function'>=</span> <span class='String'>&quot;⟨&quot;</span> <span class='Separator'>⋄</span><span class='Value'>?</span> <span class='Paren'>(</span> <span class='Paren'>(</span> <span class='Function'>LHS_ENTRY</span> <span class='Separator'>⋄</span> <span class='Paren'>)</span><span class='Value'>*</span> <span class='Function'>LHS_ENTRY</span> <span class='Separator'>⋄</span><span class='Value'>?</span> <span class='Paren'>)</span><span class='Value'>?</span> <span class='String'>&quot;⟩&quot;</span>
-<span class='Value'>lhs</span> <span class='Function'>=</span> <span class='Value'>s</span> <span class='Function'>|</span> <span class='String'>&quot;·&quot;</span> <span class='Function'>|</span> <span class='Value'>lhsList</span> <span class='Function'>|</span> <span class='Value'>lhsStr</span>
+<span class='Value'>lhs</span> <span class='Function'>=</span> <span class='Value'>s</span> <span class='Function'>|</span> <span class='String'>&quot;·&quot;</span> <span class='Function'>|</span> <span class='Value'>lhsList</span> <span class='Function'>|</span> <span class='Value'>lhsStr</span> <span class='Function'>|</span> <span class='String'>&quot;(&quot;</span> <span class='Value'>lhs</span> <span class='String'>&quot;)&quot;</span>
<span class='Value'>subExpr</span> <span class='Function'>=</span> <span class='Value'>arg</span>
<span class='Function'>|</span> <span class='Value'>lhs</span> <span class='Function'>ASGN</span> <span class='Value'>subExpr</span>
<span class='Function'>|</span> <span class='Value'>lhs</span> <span class='Function'>Derv</span> <span class='String'>&quot;↩&quot;</span> <span class='Value'>subExpr?</span> <span class='Comment'># Modified assignment
diff --git a/spec/grammar.md b/spec/grammar.md
index 7f9fc198..541a88fd 100644
--- a/spec/grammar.md
+++ b/spec/grammar.md
@@ -54,13 +54,13 @@ Subject expressions are complicated by the possibility of list and namespace ass
nothing = "·"
| ( subject | nothing )? Derv nothing
NAME = s | F | _m | _c_
- LHS_ANY = NAME | "·" | lhsList
+ LHS_ANY = NAME | "·" | lhsList | "(" LHS_ELT ")"
LHS_ATOM = LHS_ANY | "(" lhsStr ")"
LHS_ELT = LHS_ANY | lhsStr
LHS_ENTRY= LHS_ELT | lhs "⇐" NAME
lhsStr = LHS_ATOM ( "‿" LHS_ATOM )+
lhsList = "⟨" ⋄? ( ( LHS_ENTRY ⋄ )* LHS_ENTRY ⋄? )? "⟩"
- lhs = s | "·" | lhsList | lhsStr
+ lhs = s | "·" | lhsList | lhsStr | "(" lhs ")"
subExpr = arg
| lhs ASGN subExpr
| lhs Derv "↩" subExpr? # Modified assignment