From 0292146a4217b2742ce185aa0d374549b07b98af Mon Sep 17 00:00:00 2001 From: Windel Bouwman Date: Tue, 5 Mar 2019 17:28:15 +0100 Subject: [PATCH] Add subscript list in grammar. --- parser/src/python.lalrpop | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 629f9cc26..b9c8672c2 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -791,10 +791,24 @@ Power: ast::Expression = { AtomExpr: ast::Expression = { => e, "(" ")" => ast::Expression::Call { function: Box::new(f), args: a.0, keywords: a.1 }, - "[" "]" => ast::Expression::Subscript { a: Box::new(e), b: Box::new(s) }, + "[" "]" => ast::Expression::Subscript { a: Box::new(e), b: Box::new(s) }, "." => ast::Expression::Attribute { value: Box::new(e), name: n }, }; +SubscriptList: ast::Expression = { + ","? => { + if s2.is_empty() { + s1 + } else { + let mut dims = vec![s1]; + for x in s2 { + dims.push(x.1) + } + ast::Expression::Tuple { elements: dims } + } + } +}; + Subscript: ast::Expression = { => e, ":" => {