From aa194667c7cb7bb70f2a58477555d1419ae33eb0 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Wed, 13 Jul 2022 00:31:26 +0800 Subject: report syntax error when mix destructures and other expressions in switch when branches. --- src/yuescript/yue_compiler.cpp | 2 +- src/yuescript/yue_parser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 83bad2e..c7ceeb4 100755 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp @@ -56,7 +56,7 @@ using namespace parserlib; typedef std::list str_list; -const std::string_view version = "0.13.1"sv; +const std::string_view version = "0.13.2"sv; const std::string_view extension = "yue"sv; class YueCompilerImpl { diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp index 199c0bd..66043d3 100755 --- a/src/yuescript/yue_parser.cpp +++ b/src/yuescript/yue_parser.cpp @@ -237,7 +237,7 @@ YueParser::YueParser() { exp_not_tab = not_(simple_table | TableLit) >> Exp; - SwitchList = Seperator >> Exp >> *(sym(',') >> exp_not_tab); + SwitchList = Seperator >> (and_(simple_table | TableLit) >> Exp | exp_not_tab >> *(sym(',') >> exp_not_tab)); Switch = Space >> key("switch") >> disable_do(Exp) >> -(Space >> key("do")) >> -Space >> Break >> SwitchBlock; -- cgit v1.2.3-55-g6feb