diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-06-19 22:58:38 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-06-19 22:58:38 -0400 |
| commit | 412a732271851b976eafd3d69b2a361a847a7f6c (patch) | |
| tree | c5fec545924fa1105a9996abce7ef48e918f4713 | |
| parent | e6dcd2bbfa38a677a12272509d656e4f2b16862f (diff) | |
Fix nesting issues in list assignment
| -rw-r--r-- | spec/grammar.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/spec/grammar.md b/spec/grammar.md index 8d5b5e75..5d30774f 100644 --- a/spec/grammar.md +++ b/spec/grammar.md @@ -49,10 +49,13 @@ Value expressions are complicated by the possibility of list assignment. We also | ( value | nothing )? Derv arg nothing = "·" | ( value | nothing )? Derv nothing - LHS_ATOM = v | F | _m | _c_ | "(" lhs ")" - lhs = v - | "⟨" ⋄? ( ( lhs ⋄ )* lhs ⋄? )? "⟩" - | LHS_ATOM ( "‿" LHS_ATOM )+ + LHS_ANY = lhsValue | F | _m | _c_ + LHS_ATOM = LHS_ANY | "(" lhsStr ")" + LHS_ELT = LHS_ANY | lhsStr + lhsValue = v + | "⟨" ⋄? ( ( LHS_ELT ⋄ )* LHS_ELT ⋄? )? "⟩" + lhsStr = LHS_ATOM ( "‿" LHS_ATOM )+ + lhs = lhsValue | lhsStr valExpr = arg | v ASGN valExpr | v Derv "↩" valExpr ⍝ Modified assignment |
