[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:164

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 1 Sep 2004 07:26:16 +0900
Subject: [yarv-dev:164] prot_tag accessor

 ささだです。

 例外について考えていたんですが、prot_tag にアクセスしないと
都合が悪そうなのですが、これにアクセスする手段を設けてはいただ
けませんか。

(PUSH_TAG 相当が行いたいと考えています)


 手段を少し考えました。どうでしょうか。


1. prot_tag を static では無くす

 少し名前が単純なので心配。

1'. prot_tag の名前を変えて公開

struct tag *ruby_prot_tag;
#define prot_tag ruby_prot_tag


2. アクセサ関数を設ける

たとえば:

void rb_eval_push_prot_tag(tag *tag){
  tag.prev_tag = prot_tag;
  prot_tag = tag;
}
void rb_eval_pop_prot_tag(){
  prot_tag = prot_tag.prev_tag;
}


3. アドレスを返す関数を設ける

tag* rb_eval_prot_tag_addr(){
  return &prot_tag;
}

 あんまり嬉しくない。


4. eval.c へのパッチを用意

 どうせ最後は eval.c に手を加えないと駄目なんだから、yarv 使
いたい人はパッチを適用してもらう。

 パッチはすぐに古くなりそうでいやだなぁ。



--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     164 2004-09-01 07:26 [ko1 atdot.net       ] prot_tag accessor                       
       165 2004-09-01 09:43 ┗[nobu.nokada softhome]                                       
       166 2004-09-01 10:13  ┗[ko1 atdot.net       ]                                     
       167 2004-09-01 11:22   ┗[nobu.nokada softhome]