[ruby-dev:48758] [ruby-trunk - Bug #10543] ruby -c and ripper inconsistency: /(?<n>a(b|\g<n>))/
From:
nagachika00@...
Date:
2014-11-30 13:17:53 UTC
List:
ruby-dev #48758
Issue #10543 has been updated by Tomoyuki Chikanaga. Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED it seems introduced at r48504. ---------------------------------------- Bug #10543: ruby -c and ripper inconsistency: /(?<n>a(b|\g<n>))/ https://bugs.ruby-lang.org/issues/10543#change-50208 * Author: Akira Tanaka * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-11-26 trunk 48577) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED ---------------------------------------- 以下のように、/(?<n>a(b|\g<n>))/ というだけのソースは ruby -c では問題無しとなりますが、 Ripper.sexp では構文木でなく nil が返ってきてしまいます。 ``` % cat z.rb /(?<n>a(b|\g<n>))/ % ./ruby -c z.rb Syntax OK % ./ruby -rripper -e 'p Ripper.sexp(STDIN.read)' < z.rb nil % ./ruby -v ruby 2.2.0dev (2014-11-26 trunk 48577) [x86_64-linux] ``` -- https://bugs.ruby-lang.org/