From 412a732271851b976eafd3d69b2a361a847a7f6c Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Fri, 19 Jun 2020 22:58:38 -0400 Subject: Fix nesting issues in list assignment --- spec/grammar.md | 11 +++++++---- 1 file 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 -- cgit v1.2.3