[#1147] Copying RVALUE — why the lucky stiff <ruby-core@...>

Hello, everyone. Hope you are all doing well.

18 messages 2003/06/17
[#1155] Re: Copying RVALUE — matz@... (Yukihiro Matsumoto) 2003/06/20

Hi,

[#1157] Re: Copying RVALUE — why the lucky stiff <ruby-core@...> 2003/06/20

Yukihiro Matsumoto (matz@ruby-lang.org) wrote:

[#1173] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...>

Hi, I'm new to this mailing list so I don't know the procedure for

15 messages 2003/06/22
[#1174] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — nobu.nokada@... 2003/06/22

Hi,

[#1175] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...> 2003/06/22

On Sun, 2003-06-22 at 05:36, nobu.nokada@softhome.net wrote:

[#1176] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — nobu.nokada@... 2003/06/22

Hi,

[#1193] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...> 2003/06/25

On Sun, 2003-06-22 at 07:41, nobu.nokada@softhome.net wrote:

[#1177] Re: In 1.8.0 nil.to_s is not the same as "" — ts <decoux@...>

14 messages 2003/06/22

Re: Copying RVALUE

From: why the lucky stiff <ruby-core@...>
Date: 2003-06-20 15:24:23 UTC
List: ruby-core #1157
Yukihiro Matsumoto (matz@ruby-lang.org) wrote:
> 
> If you tell me the problem you want to solve, we can seek for the
> solution. 
> 

In YAML, references are kept through an ANCHOR/ALIAS system.  Consider
the following:

  - &ref Referenced text
  - *ref

When I parse `&ref', I create an entry in an anchors table.  The anchors
table is equivalent to Marshal's load_arg.symbol table.  In the table, I
map anchor names and VALUEs.  In Python, I map anchor names and PyObject
pointers.

The problem is YAML like this:

  - &a [*a, *a]

As I'm using an LALR grammar, the ALIAS `*a' gets parsed before the
ANCHOR `&a'.  So `*a' will be a BadAlias node when `&a' gets parsed.

So I store the BadAlias VALUE in my anchors table.  Then, when I get to `&a',
I copy the correct node into the BadAlias's spot.  I should probably
swap the two, actually, to ensure they both get freed properly.

That's the state of things.  Thanks, matz.

_why

In This Thread