diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-12-24 23:30:42 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-12-24 23:30:42 +0900 |
| commit | 825c14a0c5e86cc2d33a3f70d3be846660d466f6 (patch) | |
| tree | 1b0638725926b67645338dbcb578ad3d07f437da | |
| parent | 2850b58dd98dad75158326eb5e8318f65630fe7e (diff) | |
| download | mruby-825c14a0c5e86cc2d33a3f70d3be846660d466f6.tar.gz mruby-825c14a0c5e86cc2d33a3f70d3be846660d466f6.zip | |
Reset paren_nest at tAREF and tASET.
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 1 | ||||
| -rw-r--r-- | mrbgems/mruby-compiler/core/y.tab.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 16e1cef32..e4a3b9f28 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -5844,6 +5844,7 @@ parser_yylex(parser_state *p) p->paren_nest++; if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) { p->lstate = EXPR_ARG; + p->paren_nest--; if ((c = nextc(p)) == ']') { if ((c = nextc(p)) == '=') { return tASET; diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index 012f4a74e..920c56523 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. */ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -11845,6 +11845,7 @@ parser_yylex(parser_state *p) p->paren_nest++; if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) { p->lstate = EXPR_ARG; + p->paren_nest--; if ((c = nextc(p)) == ']') { if ((c = nextc(p)) == '=') { return tASET; |
