I think a distinction needs to be made between the racc executable and =
the racc runtime library.  My understanding is that the racc executable =
(bin/racc) is needed to develop a racc-based parser for a given =
application.  Anyone who wants to use the application that contains the =
resultant parser needs the racc runtime library, but they don't need the =
racc executable.  Thus, including the racc runtime library in the Ruby =
standard library is a way to ensure that racc parsers will be usable by =
anyone with a basic Ruby environment.  Those who want to develop =
racc-based parsers will need the racc executable (and a suitable grammar =
file) to generate the parser, but those developers are more than capable =
of obtaining the racc executable (e.g. by installing the racc gem) for =
their own development environment.

Instead of asking for bin/racc to be included in the standard library, =
it make more sense (IMHO) to ask whether the racc runtime could be =
removed from the standard library so as not to favor one parser runtime =
library over another one.  For example, since the racc runtime is =
included in stdlib, why not also include the treetop runtime (if there =
is one) or any other "runtime" library in stdlib?  Where does line of =
reasoning end?

On the other hand, why even have a standard library if everything can be =
installed gems?  Where would that line of reasoning end?

My guess is that the racc runtime library has been "grandfathered in" =
since it has been part of stdlib for so long (since Ruby 1.6?).

Dave

On Jan 27, 2014, at 6:48 PM, e / zzak.io wrote:

> Issue #9456 has been updated by Zachary Scott.
>=20
>=20
>> Why gem is not enough?
>=20
> For the same reason that the gem is included in stdlib, if we can't =
include the full functionality of the gem then it shouldn't be inclued =
in stdlib.
>=20
> ----------------------------------------
> Bug #9456: Include bin/racc with ruby
> https://bugs.ruby-lang.org/issues/9456#change-44648
>=20
> * Author: Zachary Scott
> * Status: Open
> * Priority: Normal
> * Assignee: Minero Aoki
> * Category:=20
> * Target version: current: 2.2.0
> * ruby -v: 2.2.0dev
> * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
> ----------------------------------------
> As you [can see](https://github.com/ruby/ruby/tree/trunk/bin) we =
include executables for Rake, RDoc, ri, ERB, RubyGems, and Irb with =
Ruby.
>=20
> We should also include Racc as an executable for Ruby.
>=20
> This resolves an issue where libraries requiring Racc, and using the =
binary executable, must install the Racc gem in order to use bin/racc.
>=20
> I'm fairly sure this change won't cause any issues, so I'd be happy to =
commit it.
>=20
>=20
>=20
> --=20
> http://bugs.ruby-lang.org/