parse.y: rb_id_attrget

* parse.y (rb_id_attrget): new function to convert setter ID to
  getter ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
struct.c: avoid pinning down

* struct.c (rb_struct_set, rb_struct_aref, rb_struct_aset): get
  rid of pinning down dynamic symbols by SYM2ID.

* struct.c (rb_struct_aref_sym, rb_struct_aset_sym): use Symbol
  instead of ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e