From: nobu.nakada@... Date: 2002-06-18T01:09:02+09:00 Subject: [ruby-dev:17494] Re: [PATCH] reduce recursion level なかだです。 At Mon, 17 Jun 2002 22:59:18 +0900, Nobuyoshi-Nakada wrote: > value_expr()と連続する論理演算子で再帰レベルを減らすパッチです。 1||()||2みたいのでSEGVするので、ちょっと修正。 --- parse.y~ Mon Jun 17 22:48:51 2002 +++ parse.y Tue Jun 18 01:06:39 2002 @@ -4987,9 +4987,9 @@ logop(type, left, right) value_expr(left); if (nd_type(left) == type) { - NODE *node = left; - while (nd_type(node->nd_2nd) == type) { - node = node->nd_2nd; + NODE *node = left, *second; + while ((second = node->nd_2nd) != 0 && nd_type(second) == type) { + node = second; } - node->nd_2nd = rb_node_newnode(type, node->nd_2nd, right, 0); + node->nd_2nd = rb_node_newnode(type, second, right, 0); return left; } -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦